示例#1
0
文件: gtk.c 项目: Absolight/Prima
Bool
prima_gtk_init(void)
{
	int argc = 0;

	gboolean r;
	
	switch ( gtk_initialized) {
	case -1:
		return false;
	case 1:
		return true;
	}

	r = gtk_init_check( &argc, NULL);

	if ( r == gtk_true()) {
		XSetErrorHandler( guts. main_error_handler);
		gtk_initialized = 1;
		return true;
	} else {
		gtk_initialized = -1;
		warn("** Cannot initialize GTK");
		return false;
	}
}
示例#2
0
static void enable_menu_callback(GtkWidget *menu_item, gpointer data)
{
    printf("enable_menu_callback\n");
    gint *val = (gint*) data;
    printf("Checking: %d\n", *val);
    if (GTK_IS_MENU_ITEM(menu_item)
                    && (*val == 0))
    {
        gtk_widget_set_sensitive(menu_item, gtk_true());
    }
    else
    {
        *val = *val - 1;
    }
}
示例#3
0
/*	Track pop up menu. */
void EvalCcRqTRACKPOPMENU (CrossCallInfo *pcci)	/* popupmenu,framePtr; BOOL result. */
{
    printf("EvalCcRqTRACKPOPMENU\n");
    if (GTK_IS_MENU(pcci->p1))
    {
        GtkWidget *popup_menu = GTK_WIDGET(pcci->p1);
        GtkWidget *frame = GTK_WIDGET(pcci->p2);

        GdkEvent *event = gtk_get_current_event();
        gtk_menu_popup(GTK_MENU(popup_menu),NULL,NULL,NULL,NULL,
                        (event->type == GDK_BUTTON_PRESS) ?
                        ((GdkEventButton *) event)->button : 0,
                        gdk_event_get_time(event));
    }

    MakeReturn1Cci (pcci,(int64_t)gtk_true());
}
示例#4
0
static gboolean dummy_find_accel(GtkAccelKey *key, GClosure *closure, gpointer data)
{
        printf("dummy_find_accel\n");
    return gtk_true();
}
示例#5
0
GtkWidget * create_videobox(entry * argEntry) 
{
	GtkWidget * top;
	GtkWidget * box;
	GtkWidget * title;
	GtkWidget * author;
	GtkWidget * duration;
	GtkWidget * thumboverlay; /*GTKoverlay to overlay author and duration over the image thumb.*/
	GtkWidget * thumb;
	
	GdkRGBA * bgcolor = NULL;
	uint8_t colorret =0;




	if(argEntry == (entry *) NULL)
		return (GtkWidget *) NULL;
	//construction


	top = gtk_event_box_new();
	box = gtk_box_new(GTK_ORIENTATION_VERTICAL,0);

	get_thumb_filename(argEntry);

	thumb = gtk_image_new_from_file(argEntry->fields[THUMBLOC]);


	title    = gtk_label_new(argEntry->fields[TITLE]);
	author   = gtk_label_new(argEntry->fields[AUTHOR]);
	duration = gtk_label_new(argEntry->fields[DURATION]);
	thumboverlay = gtk_overlay_new();
	

	gtk_label_set_ellipsize(GTK_LABEL(title),PANGO_ELLIPSIZE_END);
	gtk_label_set_ellipsize(GTK_LABEL(author),PANGO_ELLIPSIZE_END);
	gtk_label_set_line_wrap(GTK_LABEL(title),gtk_true());
	gtk_widget_set_tooltip_text(title,argEntry->fields[TITLE]);

	gtk_widget_set_size_request(thumboverlay,120,20);
	gtk_widget_set_size_request(top,ENTRYWIDTH,ENTRYHEIGHT);
	gtk_widget_set_valign(author,GTK_ALIGN_START);
	gtk_widget_set_halign(author,GTK_ALIGN_START);
	gtk_widget_set_valign(duration,GTK_ALIGN_END);
	gtk_widget_set_halign(duration,GTK_ALIGN_END);
	

	//Adding widgets
	gtk_container_add(GTK_CONTAINER(thumboverlay), thumb);
	gtk_container_add(GTK_CONTAINER(top), box);
	
	gtk_overlay_add_overlay(GTK_OVERLAY(thumboverlay),author);
	gtk_overlay_add_overlay(GTK_OVERLAY(thumboverlay),duration);

	gtk_box_set_homogeneous(GTK_BOX(box),FALSE);
	gtk_box_pack_start(GTK_BOX(box),title,FALSE,FALSE,0);
	gtk_box_pack_start(GTK_BOX(box),thumboverlay,FALSE,FALSE,0);



	//Color
	
	bgcolor = get_bgcolor(argEntry->fields[AUTHOR]);
	colorret = adjust_titlecolor(bgcolor);
	gtk_widget_override_color(title,GTK_STATE_FLAG_NORMAL,RGBARRAY[colorret]);
	gtk_widget_override_background_color(top,GTK_STATE_FLAG_NORMAL,bgcolor);
	free(bgcolor);
	
//	gtk_widget_add_events(thumb, GDK_BUTTON_MOTION_MASK);
	g_signal_connect(top,"button-press-event",G_CALLBACK(get_ytstream),argEntry->fields[ID]);
	
	gtk_widget_override_background_color(thumboverlay,GTK_STATE_FLAG_NORMAL,&BLACK);
	gtk_widget_override_color(author,GTK_STATE_FLAG_NORMAL,&WHITE);
	gtk_widget_override_color(duration,GTK_STATE_FLAG_NORMAL,&WHITE);
		
	gtk_widget_show_all(top);
	return top;	
}
示例#6
0
CAMLexport value stub_gtk_true(value unit)
{
	CAMLparam1(unit);
	int b = gtk_true();
        CAMLreturn(Val_int(b ? 1 : 0));
}