3 * The Button Box widgets are used to arrange buttons with padding.
9 create_bbox (gint horizontal,
18 frame = gtk_frame_new (title);
21 bbox = gtk_hbutton_box_new ();
23 bbox = gtk_vbutton_box_new ();
25 gtk_container_set_border_width (GTK_CONTAINER (bbox), 5);
26 gtk_container_add (GTK_CONTAINER (frame), bbox);
28 gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), layout);
29 gtk_box_set_spacing (GTK_BOX (bbox), spacing);
31 button = gtk_button_new_with_label ("OK");
32 gtk_container_add (GTK_CONTAINER (bbox), button);
34 button = gtk_button_new_with_label ("Cancel");
35 gtk_container_add (GTK_CONTAINER (bbox), button);
37 button = gtk_button_new_with_label ("Help");
38 gtk_container_add (GTK_CONTAINER (bbox), button);
46 static GtkWidget* window = NULL;
50 GtkWidget *frame_horz;
51 GtkWidget *frame_vert;
55 window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
56 gtk_window_set_title (GTK_WINDOW (window), "Button Boxes");
58 gtk_signal_connect (GTK_OBJECT (window), "destroy",
59 GTK_SIGNAL_FUNC(gtk_widget_destroyed),
62 gtk_container_set_border_width (GTK_CONTAINER (window), 10);
64 main_vbox = gtk_vbox_new (FALSE, 0);
65 gtk_container_add (GTK_CONTAINER (window), main_vbox);
67 frame_horz = gtk_frame_new ("Horizontal Button Boxes");
68 gtk_box_pack_start (GTK_BOX (main_vbox), frame_horz, TRUE, TRUE, 10);
70 vbox = gtk_vbox_new (FALSE, 0);
71 gtk_container_set_border_width (GTK_CONTAINER (vbox), 10);
72 gtk_container_add (GTK_CONTAINER (frame_horz), vbox);
74 gtk_box_pack_start (GTK_BOX (vbox),
75 create_bbox (TRUE, "Spread", 40, GTK_BUTTONBOX_SPREAD),
78 gtk_box_pack_start (GTK_BOX (vbox),
79 create_bbox (TRUE, "Edge", 40, GTK_BUTTONBOX_EDGE),
82 gtk_box_pack_start (GTK_BOX (vbox),
83 create_bbox (TRUE, "Start", 40, GTK_BUTTONBOX_START),
86 gtk_box_pack_start (GTK_BOX (vbox),
87 create_bbox (TRUE, "End", 40, GTK_BUTTONBOX_END),
90 frame_vert = gtk_frame_new ("Vertical Button Boxes");
91 gtk_box_pack_start (GTK_BOX (main_vbox), frame_vert, TRUE, TRUE, 10);
93 hbox = gtk_hbox_new (FALSE, 0);
94 gtk_container_set_border_width (GTK_CONTAINER (hbox), 10);
95 gtk_container_add (GTK_CONTAINER (frame_vert), hbox);
97 gtk_box_pack_start (GTK_BOX (hbox),
98 create_bbox (FALSE, "Spread", 30, GTK_BUTTONBOX_SPREAD),
101 gtk_box_pack_start (GTK_BOX (hbox),
102 create_bbox (FALSE, "Edge", 30, GTK_BUTTONBOX_EDGE),
105 gtk_box_pack_start (GTK_BOX (hbox),
106 create_bbox (FALSE, "Start", 30, GTK_BUTTONBOX_START),
109 gtk_box_pack_start (GTK_BOX (hbox),
110 create_bbox (FALSE, "End", 30, GTK_BUTTONBOX_END),
114 if (!GTK_WIDGET_VISIBLE (window))
116 gtk_widget_show_all (window);
120 gtk_widget_destroy (window);