diff options
author | Matthias Clasen <maclas@gmx.de> | 2003-09-04 21:34:15 +0000 |
---|---|---|
committer | Matthias Clasen <matthiasc@src.gnome.org> | 2003-09-04 21:34:15 +0000 |
commit | 9ae676b06baf394d0cee706264210126c293bfc1 (patch) | |
tree | b4fed3ab3a5090c7a4497c2caa95b3791bcaba8d /tests/testmerge.c | |
parent | 02a963e15b25415fc7ef0e133af58ccab5c7de32 (diff) | |
download | gtk+-9ae676b06baf394d0cee706264210126c293bfc1.tar.gz |
Test buttons and toggle buttons as proxies.
2003-09-04 Matthias Clasen <maclas@gmx.de>
* tests/testmerge.c: Test buttons and toggle buttons as proxies.
* gtk/gtktoggleaction.c (connect_proxy):
(gtk_toggle_action_real_toggled): Support toggle buttons as proxies. Note
that a "draw_as_radio" property is needed for check buttons similar to
check menu items, in order to fully support button proxies for radio actions.
* gtk/gtkaction.c (connect_proxy): Allow buttons as proxies.
Diffstat (limited to 'tests/testmerge.c')
-rw-r--r-- | tests/testmerge.c | 33 |
1 files changed, 23 insertions, 10 deletions
diff --git a/tests/testmerge.c b/tests/testmerge.c index 47c06dc04e..0d50a39151 100644 --- a/tests/testmerge.c +++ b/tests/testmerge.c @@ -96,7 +96,7 @@ toggle_action (GtkAction *action) const gchar *name = gtk_action_get_name (action); const gchar *typename = G_OBJECT_TYPE_NAME (action); - g_message ("Action %s (type=%s) activated (active=%d)", name, typename, + g_message ("ToggleAction %s (type=%s) toggled (active=%d)", name, typename, gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action))); } @@ -104,7 +104,7 @@ toggle_action (GtkAction *action) static void radio_action_changed (GtkAction *action, GtkRadioAction *current) { - g_message ("Action %s (type=%s) activated (active=%d) (value %d)", + g_message ("RadioAction %s (type=%s) activated (active=%d) (value %d)", gtk_action_get_name (GTK_ACTION (current)), G_OBJECT_TYPE_NAME (GTK_ACTION (current)), gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (current)), @@ -118,14 +118,15 @@ static GtkActionEntry entries[] = { { "JustifyMenuAction", NULL, "_Justify" }, { "Test", NULL, "Test" }, - { "QuitAction", GTK_STOCK_QUIT, NULL, "<control>q", NULL, G_CALLBACK (gtk_main_quit) }, - { "NewAction", GTK_STOCK_NEW, NULL, "<control>n", NULL, G_CALLBACK (activate_action) }, - { "New2Action", GTK_STOCK_NEW, NULL, "<control>m", NULL, G_CALLBACK (activate_action) }, - { "OpenAction", GTK_STOCK_OPEN, NULL, "<control>o", NULL, G_CALLBACK (activate_action) }, - { "CutAction", GTK_STOCK_CUT, NULL, "<control>x", NULL, G_CALLBACK (activate_action) }, - { "CopyAction", GTK_STOCK_COPY, NULL, "<control>c", NULL, G_CALLBACK (activate_action) }, - { "PasteAction", GTK_STOCK_PASTE, NULL, "<control>v", NULL, G_CALLBACK (activate_action) }, - { "AboutAction", NULL, "_About", NULL, NULL, G_CALLBACK (activate_action) }, + { "QuitAction", GTK_STOCK_QUIT, NULL, "<control>q", NULL, G_CALLBACK (gtk_main_quit) }, + { "NewAction", GTK_STOCK_NEW, NULL, "<control>n", NULL, G_CALLBACK (activate_action) }, + { "New2Action", GTK_STOCK_NEW, NULL, "<control>m", NULL, G_CALLBACK (activate_action) }, + { "OpenAction", GTK_STOCK_OPEN, NULL, "<control>o", NULL, G_CALLBACK (activate_action) }, + { "CutAction", GTK_STOCK_CUT, NULL, "<control>x", NULL, G_CALLBACK (activate_action) }, + { "CopyAction", GTK_STOCK_COPY, NULL, "<control>c", NULL, G_CALLBACK (activate_action) }, + { "PasteAction", GTK_STOCK_PASTE, NULL, "<control>v", NULL, G_CALLBACK (activate_action) }, + { "AboutAction", NULL, "_About", NULL, NULL, G_CALLBACK (activate_action) }, + { "BoldAction", GTK_STOCK_BOLD, "_Bold", "<control>b", NULL, G_CALLBACK (toggle_action), TRUE }, }; static guint n_entries = G_N_ELEMENTS (entries); @@ -470,6 +471,18 @@ main (int argc, char **argv) gtk_box_pack_end (GTK_BOX (menu_box), area, FALSE, FALSE, 0); gtk_widget_show (area); + button = gtk_button_new (); + gtk_box_pack_end (GTK_BOX (menu_box), button, FALSE, FALSE, 0); + gtk_action_connect_proxy (gtk_action_group_get_action (action_group, "AboutAction"), + button); + gtk_widget_show (button); + merge = gtk_ui_manager_new (); + + button = gtk_check_button_new (); + gtk_box_pack_end (GTK_BOX (menu_box), button, FALSE, FALSE, 0); + gtk_action_connect_proxy (gtk_action_group_get_action (action_group, "BoldAction"), + button); + gtk_widget_show (button); merge = gtk_ui_manager_new (); g_signal_connect (area, "button_press_event", |