void create_freq_menu(void) { GtkWidget *menuitem; int i; if (menu != NULL) { gtk_widget_destroy(menu); } if (!nstations) { menu = NULL; return; } menu = gtk_menu_new(); gtk_menu_set_title(GTK_MENU(menu),"frequency menu"); menuitem = gtk_tearoff_menu_item_new(); gtk_menu_append(GTK_MENU(menu),menuitem); gtk_widget_show(menuitem); for (i=0; i < nstations; i++) { menuitem = gtk_menu_item_new_with_label(stations[i].station_name); gtk_menu_append(GTK_MENU(menu),menuitem); gtk_signal_connect(GTK_OBJECT(menuitem),"activate", GTK_SIGNAL_FUNC(freq_menu_activated),GINT_TO_POINTER(i)); } gtk_widget_show_all(menu); }
void update_blit_menu() { GtkOptionMenu *option_menu_blit; GtkWidget *item; option_menu_blit = (GtkOptionMenu*) glade_xml_get_widget(gtk,"menu_blit"); if(!option_menu_blit) { error("glade file corrupted: menu_blit symbol not found"); return; } /* cleanup previous menu */ if(menu_blit) delete menu_blit; menu_blit = (GtkMenu*)gtk_menu_new(); gtk_menu_set_title(menu_blit,"Blit mode"); item = gtk_menu_item_new_with_label("Blit mode"); gtk_menu_shell_append(GTK_MENU_SHELL(menu_blit),item); Layer *lay = (Layer*)env->layers.selected(); Entry *ptr = lay->blitter.blitlist.begin(); while(ptr) { item = gtk_menu_item_new_with_label(ptr->name); gtk_widget_show(item); gtk_menu_shell_append(GTK_MENU_SHELL(menu_blit),item); g_signal_connect_swapped(G_OBJECT(item),"activate", G_CALLBACK(on_select_blit), (gpointer)ptr->name); ptr = ptr->next; } gtk_option_menu_set_menu(option_menu_blit, (GtkWidget*)menu_blit); }
/*! * Localizes the label of a Menu widget given the string id */ void localizeMenu(GtkWidget * widget, const XAP_StringSet * pSS, XAP_String_Id id) { // UT_ASSERT(GTK_IS_MENU(widget)); gchar * unixstr = NULL; // used for conversions UT_UTF8String s; pSS->getValueUTF8(id,s); UT_XML_cloneNoAmpersands(unixstr, s.utf8_str()); gtk_menu_set_title (GTK_MENU(widget), unixstr); FREEP(unixstr); }
/* This sets the window manager title for the window that * appears when a menu is torn off */ int clip_GTK_MENUSETTITLE(ClipMachine * ClipMachineMemory) { C_widget *cmnu = _fetch_cw_arg(ClipMachineMemory); gchar *title = _clip_parc(ClipMachineMemory, 2); CHECKCWID(cmnu, GTK_IS_MENU); CHECKOPT(2, CHARACTER_type_of_ClipVarType); LOCALE_TO_UTF(title); gtk_menu_set_title(GTK_MENU(cmnu->widget), title); FREE_TEXT(title); return 0; err: return 1; }
void init_effect_menu() { GtkOptionMenu *option_menu_effect; GtkWidget *item; option_menu_effect = (GtkOptionMenu*) glade_xml_get_widget(gtk,"menu_effect"); menu_effect = (GtkMenu*)gtk_menu_new(); gtk_menu_set_title(menu_effect,"Add effect"); item = gtk_menu_item_new_with_label("Add effect"); gtk_menu_shell_append(GTK_MENU_SHELL(menu_effect),item); for(int c=0;env->plugger.plugs[c];c++) { item = gtk_menu_item_new_with_label(env->plugger.plugs[c]->getname()); gtk_widget_show(item); gtk_menu_shell_append(GTK_MENU_SHELL(menu_effect),item); g_signal_connect_swapped(G_OBJECT(item),"activate", G_CALLBACK(on_add_effect), (gpointer)env->plugger.plugs[c]->getname()); } gtk_option_menu_set_menu(option_menu_effect,(GtkWidget*)menu_effect); }