summaryrefslogtreecommitdiff
path: root/tests/testmerge.c
diff options
context:
space:
mode:
authorMatthias Clasen <maclas@gmx.de>2003-09-04 21:34:15 +0000
committerMatthias Clasen <matthiasc@src.gnome.org>2003-09-04 21:34:15 +0000
commit9ae676b06baf394d0cee706264210126c293bfc1 (patch)
treeb4fed3ab3a5090c7a4497c2caa95b3791bcaba8d /tests/testmerge.c
parent02a963e15b25415fc7ef0e133af58ccab5c7de32 (diff)
downloadgtk+-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.c33
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",