David Nečas (Yeti) wrote: > On Wed, Feb 21, 2007 at 10:40:07PM -0500, Dan McMahill wrote: > >>Question #1 >> >> - is it possible to keep certain menuitems in the xml and the >>associated GtkActionEntry but toggle if they are visible or not? >>Something like gtk_widget_hide() and gtk_widget_show()? Or do I have to >>basically tear down the menus, regen the xml and create the menus again? > > > 1. GtkAction has "visibility" property. > 2. GtkUIManager can demerge UIs. > > Choose what's more suitable for your use case...
>>Question #2 >> >> - What does it take to change the text in some menus that already >>exist? Do I have to do >> gtk_ui_manager_remove_action_group() >> >> then create a new action group, insert to the ui manager and call >>gtk_action_group_add_actions? >> >>Or is there a simpler way? > > > GtkAction has "label" property. Thanks! The visibility property worked for me. For the sake of completeness in the archives here, what I ended up doing was something like this: update_menu() { GValue setfalse = { 0 }; GValue settrue = { 0 }; GValue setlabel = { 0 }; GtkAction *a; g_value_init (&setfalse, G_TYPE_BOOLEAN); g_value_init (&settrue, G_TYPE_BOOLEAN); g_value_set_boolean (&setfalse, FALSE); g_value_set_boolean (&settrue, TRUE); g_value_init (&setlabel, G_TYPE_STRING); g_value_set_string (&setlabel, "my new menu text"); a = gtk_action_group_get_action (main_actions, "MyAction"); g_object_set_property (G_OBJECT (a), "visible", want_it_to_be_visible ? &settrue : &setfalse); g_object_set_property (G_OBJECT (a), "label", &setlabel); } Seems to work nicely. Note: I have an old (2.4) gtk install on one system so I didn't use gtk_action_set_visible() which appeared in gtk-2.6. -Dan _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list