New function to obtain a list of toplevel widgets constructed by the ui
Fri Jan 9 00:34:57 2004 Matthias Clasen <maclas@gmx.de> * gtk/gtkuimanager.h: * gtk/gtkuimanager.c (gtk_ui_manager_get_toplevels): New function to obtain a list of toplevel widgets constructed by the ui manager. * gtk/gtkuimanager.h (GtkUIManagerItemType): Change to flags, so that the values can be combined for gtk_ui_manager_get_toplevels(). * tests/testmerge.c: Add a "Dump toplevels" button to test gtk_ui_manager_get_toplevels().
This commit is contained in:
committed by
Matthias Clasen
parent
ecceb20a8b
commit
f2bb20cc15
@ -34,6 +34,27 @@ dump_accels (void)
|
||||
gtk_accel_map_save_fd (STDOUT_FILENO);
|
||||
}
|
||||
|
||||
static void
|
||||
print_toplevel (GtkWidget *widget, gpointer user_data)
|
||||
{
|
||||
g_print ("%s\n", G_OBJECT_TYPE_NAME (widget));
|
||||
}
|
||||
|
||||
static void
|
||||
dump_toplevels (GtkWidget *button,
|
||||
GtkUIManager *merge)
|
||||
{
|
||||
GSList *toplevels;
|
||||
|
||||
toplevels = gtk_ui_manager_get_toplevels (merge,
|
||||
GTK_UI_MANAGER_MENUBAR |
|
||||
GTK_UI_MANAGER_TOOLBAR |
|
||||
GTK_UI_MANAGER_POPUP);
|
||||
|
||||
g_slist_foreach (toplevels, print_toplevel, NULL);
|
||||
g_slist_free (toplevels);
|
||||
}
|
||||
|
||||
static void
|
||||
toggle_tearoffs (GtkWidget *button,
|
||||
GtkUIManager *merge)
|
||||
@ -652,6 +673,10 @@ main (int argc, char **argv)
|
||||
g_signal_connect (button, "clicked", G_CALLBACK (dump_tree), merge);
|
||||
gtk_box_pack_end (GTK_BOX (vbox), button, FALSE, FALSE, 0);
|
||||
|
||||
button = gtk_button_new_with_label ("Dump Toplevels");
|
||||
g_signal_connect (button, "clicked", G_CALLBACK (dump_toplevels), merge);
|
||||
gtk_box_pack_end (GTK_BOX (vbox), button, FALSE, FALSE, 0);
|
||||
|
||||
button = gtk_button_new_with_label ("Dump Accels");
|
||||
g_signal_connect (button, "clicked", G_CALLBACK (dump_accels), NULL);
|
||||
gtk_box_pack_end (GTK_BOX (vbox), button, FALSE, FALSE, 0);
|
||||
|
||||
Reference in New Issue
Block a user