diff options
author | Matthias Clasen <mclasen@redhat.com> | 2009-07-01 15:04:31 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2009-07-01 19:02:45 -0400 |
commit | bde64ecda2c7ea3cf74cb7d69464d54378852fa1 (patch) | |
tree | 314d4ecdf38e3eaf66c28084e06f29bd880abe2a /tests | |
parent | 6060dab77afd288dfb6e0d2105f6ae1a2c8ed41d (diff) | |
download | gtk+-bde64ecda2c7ea3cf74cb7d69464d54378852fa1.tar.gz |
Add a testcase for use-stock/use-underline in buttons
The fix for bug 586330 caused some unexpected behaviour changes, that
this testcase ought to illustrate.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Makefile.am | 6 | ||||
-rw-r--r-- | tests/testbuttons.c | 145 |
2 files changed, 151 insertions, 0 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am index db686263af..5b7e33ef56 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -31,6 +31,7 @@ noinst_PROGRAMS = $(TEST_PROGS) \ testaccel \ testassistant \ testbbox \ + testbuttons \ testcairo \ testcalendar \ testcombo \ @@ -115,6 +116,7 @@ testiconview_DEPENDENCIES = $(TEST_DEPS) testaccel_DEPENDENCIES = $(TEST_DEPS) testassistant_DEPENDENCIES = $(TEST_DEPS) testbbox_DEPENDENCIES = $(TEST_DEPS) +testbuttons_DEPENDENCIES = $(TEST_DEPS) testframe_DEPENDENCIES = $(TEST_DEPS) testcairo_DEPENDENCIES = $(TEST_DEPS) testcalendar_DEPENDENCIES = $(TEST_DEPS) @@ -175,6 +177,7 @@ print_editor_LDADD = $(LDADDS) testaccel_LDADD = $(LDADDS) testassistant_LDADD = $(LDADDS) testbbox_LDADD = $(LDADDS) +testbuttons_LDADD = $(LDADDS) testframe_LDADD = $(LDADDS) testcairo_LDADD = $(LDADDS) testcalendar_LDADD = $(LDADDS) @@ -306,6 +309,9 @@ testactions_SOURCES = \ testbbox_SOURCES = \ testbbox.c +testbuttons_SOURCES = \ + testbuttons.c + testframe_SOURCES = \ testframe.c diff --git a/tests/testbuttons.c b/tests/testbuttons.c new file mode 100644 index 0000000000..5573ef608e --- /dev/null +++ b/tests/testbuttons.c @@ -0,0 +1,145 @@ +/* testbuttons.c + * Copyright (C) 2009 Red Hat, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#include <gtk/gtk.h> + +/* various combinations of use_underline and use_stock */ + +int main (int argc, char *argv[]) +{ + GtkWidget *window, *box, *button, *hbox; + gchar *text; + gboolean use_underline, use_stock; + GtkWidget *image, *label; + + gtk_init (&argc, &argv); + + window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + + box = gtk_vbox_new (0, FALSE); + + gtk_container_add (GTK_CONTAINER (window), box); + + hbox = gtk_hbox_new (0, FALSE); + gtk_container_add (GTK_CONTAINER (box), hbox); + button = gtk_button_new_from_stock (GTK_STOCK_SAVE); + gtk_container_add (GTK_CONTAINER (hbox), button); + + g_object_get (button, + "label", &text, + "use-stock", &use_stock, + "use-underline", &use_underline, + "image", &image, + NULL); + text = g_strdup_printf ("label: \"%s\" image: %p use-stock: %s use-underline: %s\n", text, image, use_stock ? "TRUE" : "FALSE", use_underline ? "TRUE" : "FALSE"); + label = gtk_label_new (text); + g_free (text); + gtk_container_add (GTK_CONTAINER (hbox), label); + + hbox = gtk_hbox_new (0, FALSE); + gtk_container_add (GTK_CONTAINER (box), hbox); + button = g_object_new (GTK_TYPE_BUTTON, + "label", "gtk-save", + "use-stock", TRUE, + NULL); + gtk_container_add (GTK_CONTAINER (hbox), button); + + g_object_get (button, + "label", &text, + "use-stock", &use_stock, + "use-underline", &use_underline, + "image", &image, + NULL); + text = g_strdup_printf ("label: \"%s\" image: %p use-stock: %s use-underline: %s\n", text, image, use_stock ? "TRUE" : "FALSE", use_underline ? "TRUE" : "FALSE"); + label = gtk_label_new (text); + g_free (text); + gtk_container_add (GTK_CONTAINER (hbox), label); + + hbox = gtk_hbox_new (0, FALSE); + gtk_container_add (GTK_CONTAINER (box), hbox); + button = gtk_button_new_with_label ("_Save"); + gtk_container_add (GTK_CONTAINER (hbox), button); + + g_object_get (button, + "label", &text, + "use-stock", &use_stock, + "use-underline", &use_underline, + "image", &image, + NULL); + text = g_strdup_printf ("label: \"%s\" image: %p use-stock: %s use-underline: %s\n", text, image, use_stock ? "TRUE" : "FALSE", use_underline ? "TRUE" : "FALSE"); + label = gtk_label_new (text); + g_free (text); + gtk_container_add (GTK_CONTAINER (hbox), label); + + hbox = gtk_hbox_new (0, FALSE); + gtk_container_add (GTK_CONTAINER (box), hbox); + button = gtk_button_new_with_mnemonic ("_Save"); + gtk_container_add (GTK_CONTAINER (hbox), button); + + g_object_get (button, + "label", &text, + "use-stock", &use_stock, + "use-underline", &use_underline, + "image", &image, + NULL); + text = g_strdup_printf ("label: \"%s\" image: %p use-stock: %s use-underline: %s\n", text, image, use_stock ? "TRUE" : "FALSE", use_underline ? "TRUE" : "FALSE"); + label = gtk_label_new (text); + g_free (text); + gtk_container_add (GTK_CONTAINER (hbox), label); + + hbox = gtk_hbox_new (0, FALSE); + gtk_container_add (GTK_CONTAINER (box), hbox); + button = gtk_button_new_with_label ("_Save"); + gtk_button_set_image (GTK_BUTTON (button), gtk_image_new_from_stock (GTK_STOCK_ABOUT, GTK_ICON_SIZE_BUTTON)); + gtk_container_add (GTK_CONTAINER (hbox), button); + + g_object_get (button, + "label", &text, + "use-stock", &use_stock, + "use-underline", &use_underline, + "image", &image, + NULL); + text = g_strdup_printf ("label: \"%s\" image: %p use-stock: %s use-underline: %s\n", text, image, use_stock ? "TRUE" : "FALSE", use_underline ? "TRUE" : "FALSE"); + label = gtk_label_new (text); + g_free (text); + gtk_container_add (GTK_CONTAINER (hbox), label); + + hbox = gtk_hbox_new (0, FALSE); + gtk_container_add (GTK_CONTAINER (box), hbox); + button = gtk_button_new_with_mnemonic ("_Save"); + gtk_button_set_image (GTK_BUTTON (button), gtk_image_new_from_stock (GTK_STOCK_ABOUT, GTK_ICON_SIZE_BUTTON)); + gtk_container_add (GTK_CONTAINER (hbox), button); + g_object_get (button, + "label", &text, + "use-stock", &use_stock, + "use-underline", &use_underline, + "image", &image, + NULL); + text = g_strdup_printf ("label: \"%s\" image: %p use-stock: %s use-underline: %s\n", text, image, use_stock ? "TRUE" : "FALSE", use_underline ? "TRUE" : "FALSE"); + label = gtk_label_new (text); + g_free (text); + gtk_container_add (GTK_CONTAINER (hbox), label); + + gtk_widget_show_all (window); + + gtk_main (); + + return 0; +} + |