diff options
author | GMT 1999 Tony Gale <gale@gtk.org> | 1999-02-01 10:44:36 +0000 |
---|---|---|
committer | Tony Gale <gale@src.gnome.org> | 1999-02-01 10:44:36 +0000 |
commit | 5ef056ea949b4a6c6d3bf970ba712f31c8835f5e (patch) | |
tree | 7c8ae244a8e9934cd7437308594e2d9443cf73b1 /examples/buttonbox | |
parent | c39dffed55915a9367df8aba7c6eb237da30a66f (diff) | |
download | gtk+-5ef056ea949b4a6c6d3bf970ba712f31c8835f5e.tar.gz |
- Complete documentation of Label widget API - New sections for the
Mon Feb 1 09:16:03 GMT 1999 Tony Gale <gale@gtk.org>
* docs/gtk_tut.sgml:
- Complete documentation of Label widget API
- New sections for the following:
* Arrows
* Alignment
* Button Boxes
* Viewports
* examples/arrow/*, examples/buttonbox/*, examples/label/*
- New code examples
Diffstat (limited to 'examples/buttonbox')
-rw-r--r-- | examples/buttonbox/Makefile | 8 | ||||
-rw-r--r-- | examples/buttonbox/buttonbox.c | 122 |
2 files changed, 130 insertions, 0 deletions
diff --git a/examples/buttonbox/Makefile b/examples/buttonbox/Makefile new file mode 100644 index 0000000000..4457ff3fc6 --- /dev/null +++ b/examples/buttonbox/Makefile @@ -0,0 +1,8 @@ + +CC = gcc + +buttonbox: buttonbox.c + $(CC) `gtk-config --cflags` buttonbox.c -o buttonbox `gtk-config --libs` + +clean: + rm -f *.o buttonbox diff --git a/examples/buttonbox/buttonbox.c b/examples/buttonbox/buttonbox.c new file mode 100644 index 0000000000..46ee861a07 --- /dev/null +++ b/examples/buttonbox/buttonbox.c @@ -0,0 +1,122 @@ +/* example-start buttonbox buttonbox.c */ + +#include <gtk/gtk.h> + +/* Create a Button Box with the specified parameters */ +GtkWidget *create_bbox (gint horizontal, + char* title, + gint spacing, + gint child_w, + gint child_h, + gint layout) +{ + GtkWidget *frame; + GtkWidget *bbox; + GtkWidget *button; + + frame = gtk_frame_new (title); + + if (horizontal) + bbox = gtk_hbutton_box_new (); + else + bbox = gtk_vbutton_box_new (); + + gtk_container_set_border_width (GTK_CONTAINER (bbox), 5); + gtk_container_add (GTK_CONTAINER (frame), bbox); + + /* Set the appearance of the Button Box */ + gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), layout); + gtk_button_box_set_spacing (GTK_BUTTON_BOX (bbox), spacing); + gtk_button_box_set_child_size (GTK_BUTTON_BOX (bbox), child_w, child_h); + + button = gtk_button_new_with_label ("OK"); + gtk_container_add (GTK_CONTAINER (bbox), button); + + button = gtk_button_new_with_label ("Cancel"); + gtk_container_add (GTK_CONTAINER (bbox), button); + + button = gtk_button_new_with_label ("Help"); + gtk_container_add (GTK_CONTAINER (bbox), button); + + return(frame); +} + +int main( int argc, + char *argv[] ) +{ + static GtkWidget* window = NULL; + GtkWidget *main_vbox; + GtkWidget *vbox; + GtkWidget *hbox; + GtkWidget *frame_horz; + GtkWidget *frame_vert; + + /* Initialize GTK */ + gtk_init( &argc, &argv ); + + window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_window_set_title (GTK_WINDOW (window), "Button Boxes"); + + gtk_signal_connect (GTK_OBJECT (window), "destroy", + GTK_SIGNAL_FUNC(gtk_main_quit), + NULL); + + gtk_container_set_border_width (GTK_CONTAINER (window), 10); + + main_vbox = gtk_vbox_new (FALSE, 0); + gtk_container_add (GTK_CONTAINER (window), main_vbox); + + frame_horz = gtk_frame_new ("Horizontal Button Boxes"); + gtk_box_pack_start (GTK_BOX (main_vbox), frame_horz, TRUE, TRUE, 10); + + vbox = gtk_vbox_new (FALSE, 0); + gtk_container_set_border_width (GTK_CONTAINER (vbox), 10); + gtk_container_add (GTK_CONTAINER (frame_horz), vbox); + + gtk_box_pack_start (GTK_BOX (vbox), + create_bbox (TRUE, "Spread (spacing 40)", 40, 85, 20, GTK_BUTTONBOX_SPREAD), + TRUE, TRUE, 0); + + gtk_box_pack_start (GTK_BOX (vbox), + create_bbox (TRUE, "Edge (spacing 30)", 30, 85, 20, GTK_BUTTONBOX_EDGE), + TRUE, TRUE, 5); + + gtk_box_pack_start (GTK_BOX (vbox), + create_bbox (TRUE, "Start (spacing 20)", 20, 85, 20, GTK_BUTTONBOX_START), + TRUE, TRUE, 5); + + gtk_box_pack_start (GTK_BOX (vbox), + create_bbox (TRUE, "End (spacing 10)", 10, 85, 20, GTK_BUTTONBOX_END), + TRUE, TRUE, 5); + + frame_vert = gtk_frame_new ("Vertical Button Boxes"); + gtk_box_pack_start (GTK_BOX (main_vbox), frame_vert, TRUE, TRUE, 10); + + hbox = gtk_hbox_new (FALSE, 0); + gtk_container_set_border_width (GTK_CONTAINER (hbox), 10); + gtk_container_add (GTK_CONTAINER (frame_vert), hbox); + + gtk_box_pack_start (GTK_BOX (hbox), + create_bbox (FALSE, "Spread (spacing 5)", 5, 85, 20, GTK_BUTTONBOX_SPREAD), + TRUE, TRUE, 0); + + gtk_box_pack_start (GTK_BOX (hbox), + create_bbox (FALSE, "Edge (spacing 30)", 30, 85, 20, GTK_BUTTONBOX_EDGE), + TRUE, TRUE, 5); + + gtk_box_pack_start (GTK_BOX (hbox), + create_bbox (FALSE, "Start (spacing 20)", 20, 85, 20, GTK_BUTTONBOX_START), + TRUE, TRUE, 5); + + gtk_box_pack_start (GTK_BOX (hbox), + create_bbox (FALSE, "End (spacing 20)", 20, 85, 20, GTK_BUTTONBOX_END), + TRUE, TRUE, 5); + + gtk_widget_show_all (window); + + /* Enter the event loop */ + gtk_main (); + + return(0); +} +/* example-end */ |