summaryrefslogtreecommitdiffstats
path: root/src/libgdl/test-combo-button.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libgdl/test-combo-button.c')
-rw-r--r--src/libgdl/test-combo-button.c111
1 files changed, 111 insertions, 0 deletions
diff --git a/src/libgdl/test-combo-button.c b/src/libgdl/test-combo-button.c
new file mode 100644
index 000000000..35ce3fff3
--- /dev/null
+++ b/src/libgdl/test-combo-button.c
@@ -0,0 +1,111 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
+/* test-combo-button.c
+ *
+ * Copyright (C) 2003 Jeroen Zwartepoorte
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of version 2 of the GNU General Public
+ * License as published by the Free Software Foundation.
+ *
+ * This program 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this program; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <gtk/gtk.h>
+#include "gdl-combo-button.h"
+
+static void
+combo_button_activate_default_cb (GdlComboButton *combo,
+ gpointer data)
+{
+ g_message ("combo_button_activate_default_cb");
+}
+
+int
+main (int argc, char **argv)
+{
+ GtkWidget *window, *hbox, *combo, *menu, *menuitem;
+ GdkPixbuf *icon;
+
+ gtk_init (&argc, &argv);
+
+ window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ g_signal_connect (G_OBJECT (window), "delete_event",
+ G_CALLBACK (gtk_main_quit), NULL);
+ gtk_window_set_title (GTK_WINDOW (window), "Combo button test");
+ gtk_window_set_resizable (GTK_WINDOW (window), FALSE);
+
+ hbox = gtk_hbox_new (FALSE, 0);
+ gtk_container_add (GTK_CONTAINER (window), hbox);
+
+ combo = gtk_button_new_from_stock (GTK_STOCK_OPEN);
+ gtk_button_set_relief (GTK_BUTTON (combo), GTK_RELIEF_NONE);
+ gtk_box_pack_start (GTK_BOX (hbox), combo, FALSE, FALSE, 0);
+
+ menu = gtk_menu_new ();
+ menuitem = gtk_image_menu_item_new_from_stock (GTK_STOCK_OPEN, NULL);
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
+ menuitem = gtk_image_menu_item_new_from_stock (GTK_STOCK_SAVE, NULL);
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
+ gtk_widget_show_all (menu);
+
+ combo = gdl_combo_button_new ();
+ gdl_combo_button_set_label (GDL_COMBO_BUTTON (combo), "Run");
+ gdl_combo_button_set_menu (GDL_COMBO_BUTTON (combo), GTK_MENU (menu));
+ icon = gtk_widget_render_icon (combo, GTK_STOCK_EXECUTE,
+ GTK_ICON_SIZE_LARGE_TOOLBAR, NULL);
+ gdl_combo_button_set_icon (GDL_COMBO_BUTTON (combo), icon);
+ gtk_box_pack_start (GTK_BOX (hbox), combo, FALSE, FALSE, 0);
+
+ g_signal_connect (combo, "activate_default",
+ G_CALLBACK (combo_button_activate_default_cb), NULL);
+
+ combo = gtk_button_new_from_stock (GTK_STOCK_SAVE);
+ gtk_button_set_relief (GTK_BUTTON (combo), GTK_RELIEF_NONE);
+ gtk_box_pack_start (GTK_BOX (hbox), combo, FALSE, FALSE, 0);
+
+ menu = gtk_menu_new ();
+ menuitem = gtk_image_menu_item_new_from_stock (GTK_STOCK_OPEN, NULL);
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
+ menuitem = gtk_image_menu_item_new_from_stock (GTK_STOCK_SAVE, NULL);
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), menuitem);
+ gtk_widget_show_all (menu);
+
+ combo = gdl_combo_button_new ();
+ gdl_combo_button_set_label (GDL_COMBO_BUTTON (combo), "Open");
+ gdl_combo_button_set_menu (GDL_COMBO_BUTTON (combo), GTK_MENU (menu));
+ icon = gtk_widget_render_icon (combo, GTK_STOCK_OPEN,
+ GTK_ICON_SIZE_LARGE_TOOLBAR, NULL);
+ gdl_combo_button_set_icon (GDL_COMBO_BUTTON (combo), icon);
+ gtk_widget_set_sensitive (combo, FALSE);
+ gtk_box_pack_start (GTK_BOX (hbox), combo, FALSE, FALSE, 0);
+
+ g_signal_connect (combo, "activate_default",
+ G_CALLBACK (combo_button_activate_default_cb), NULL);
+
+ menu = gtk_menu_new ();
+ combo = gdl_combo_button_new ();
+ gdl_combo_button_set_label (GDL_COMBO_BUTTON (combo), "Open");
+ gdl_combo_button_set_menu (GDL_COMBO_BUTTON (combo), GTK_MENU (menu));
+ icon = gtk_widget_render_icon (combo, GTK_STOCK_OPEN,
+ GTK_ICON_SIZE_LARGE_TOOLBAR, NULL);
+ gdl_combo_button_set_icon (GDL_COMBO_BUTTON (combo), icon);
+ gtk_box_pack_start (GTK_BOX (hbox), combo, FALSE, FALSE, 0);
+
+ gtk_widget_show_all (window);
+
+ gtk_main ();
+
+ return 0;
+}