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; } }
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; } }
/* 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()); }
static gboolean dummy_find_accel(GtkAccelKey *key, GClosure *closure, gpointer data) { printf("dummy_find_accel\n"); return gtk_true(); }
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; }
CAMLexport value stub_gtk_true(value unit) { CAMLparam1(unit); int b = gtk_true(); CAMLreturn(Val_int(b ? 1 : 0)); }