summaryrefslogtreecommitdiff
path: root/gtk/testgtk.c
diff options
context:
space:
mode:
authorArturo Espinosa <unammx@src.gnome.org>1997-12-23 00:35:48 +0000
committerArturo Espinosa <unammx@src.gnome.org>1997-12-23 00:35:48 +0000
commitb44565f3e4730ada4d9d238707fc0d882d197092 (patch)
treee381d0e26a433ffb582f607a021a8ba1fb7793d4 /gtk/testgtk.c
parent4da7b2f2efee93706132eb79a886fd78126787bf (diff)
downloadgtk+-b44565f3e4730ada4d9d238707fc0d882d197092.tar.gz
Demo works fine. I have to add the missing functions for setting the toolbar's
parameters on the fly. - Federico
Diffstat (limited to 'gtk/testgtk.c')
-rw-r--r--gtk/testgtk.c76
1 files changed, 76 insertions, 0 deletions
diff --git a/gtk/testgtk.c b/gtk/testgtk.c
index dfb7958c34..98ae0ad686 100644
--- a/gtk/testgtk.c
+++ b/gtk/testgtk.c
@@ -548,6 +548,81 @@ create_button_box ()
gtk_widget_destroy (window);
}
+GtkWidget *
+new_pixmap (char *filename, GdkWindow *window, GdkColor *background)
+{
+ GtkWidget *wpixmap;
+ GdkPixmap *pixmap;
+ GdkBitmap *mask;
+
+ pixmap = gdk_pixmap_create_from_xpm (window, &mask,
+ background,
+ "test.xpm");
+ wpixmap = gtk_pixmap_new (pixmap, mask);
+
+ return wpixmap;
+}
+
+void
+create_toolbar (void)
+{
+ static GtkWidget *window = NULL;
+ GtkWidget *toolbar;
+
+ if (!window)
+ {
+ window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ gtk_window_set_title (GTK_WINDOW (window), "Toolbar test");
+
+ gtk_signal_connect (GTK_OBJECT (window), "destroy",
+ GTK_SIGNAL_FUNC (destroy_window),
+ &window);
+ gtk_signal_connect (GTK_OBJECT (window), "delete_event",
+ GTK_SIGNAL_FUNC (destroy_window),
+ &window);
+
+ gtk_container_border_width (GTK_CONTAINER (window), 0);
+ gtk_widget_realize (window);
+
+ toolbar = gtk_toolbar_new (GTK_ORIENTATION_HORIZONTAL, GTK_TOOLBAR_BOTH);
+
+ gtk_toolbar_append_item (GTK_TOOLBAR (toolbar),
+ "New", "New document",
+ GTK_PIXMAP (new_pixmap ("test.xpm", window->window,
+ &window->style->bg[GTK_STATE_NORMAL])),
+ NULL, NULL);
+ gtk_toolbar_append_item (GTK_TOOLBAR (toolbar),
+ "Open", "Open existing",
+ GTK_PIXMAP (new_pixmap ("test.xpm", window->window,
+ &window->style->bg[GTK_STATE_NORMAL])),
+ NULL, NULL);
+ gtk_toolbar_append_item (GTK_TOOLBAR (toolbar),
+ "Close", "Close current document",
+ GTK_PIXMAP (new_pixmap ("test.xpm", window->window,
+ &window->style->bg[GTK_STATE_NORMAL])),
+ NULL, NULL);
+ gtk_toolbar_append_space (GTK_TOOLBAR (toolbar));
+ gtk_toolbar_append_item (GTK_TOOLBAR (toolbar),
+ "Undo", "Undo screw-up",
+ GTK_PIXMAP (new_pixmap ("test.xpm", window->window,
+ &window->style->bg[GTK_STATE_NORMAL])),
+ NULL, NULL);
+ gtk_toolbar_append_item (GTK_TOOLBAR (toolbar),
+ "Redo", "Redo not-screwup-after-all",
+ GTK_PIXMAP (new_pixmap ("test.xpm", window->window,
+ &window->style->bg[GTK_STATE_NORMAL])),
+ NULL, NULL);
+
+ gtk_container_add (GTK_CONTAINER (window), toolbar);
+ gtk_widget_show (toolbar);
+ }
+
+ if (!GTK_WIDGET_VISIBLE (window))
+ gtk_widget_show (window);
+ else
+ gtk_widget_destroy (window);
+}
+
void
create_handle_box ()
{
@@ -3278,6 +3353,7 @@ create_main_window ()
{ "check buttons", create_check_buttons },
{ "radio buttons", create_radio_buttons },
{ "button box", create_button_box },
+ { "toolbar", create_toolbar },
{ "handle box", create_handle_box },
{ "reparent", create_reparent },
{ "pixmap", create_pixmap },