3 * The Button Box widgets are used to arrange buttons with padding.
9 create_bbox (gint horizontal,
20 frame = gtk_frame_new (title);
23 bbox = gtk_hbutton_box_new ();
25 bbox = gtk_vbutton_box_new ();
27 gtk_container_set_border_width (GTK_CONTAINER (bbox), 5);
28 gtk_container_add (GTK_CONTAINER (frame), bbox);
30 gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), layout);
31 gtk_button_box_set_spacing (GTK_BUTTON_BOX (bbox), spacing);
32 gtk_button_box_set_child_size (GTK_BUTTON_BOX (bbox), child_w, child_h);
34 button = gtk_button_new_with_label ("OK");
35 gtk_container_add (GTK_CONTAINER (bbox), button);
37 button = gtk_button_new_with_label ("Cancel");
38 gtk_container_add (GTK_CONTAINER (bbox), button);
40 button = gtk_button_new_with_label ("Help");
41 gtk_container_add (GTK_CONTAINER (bbox), button);
49 static GtkWidget* window = NULL;
53 GtkWidget *frame_horz;
54 GtkWidget *frame_vert;
58 window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
59 gtk_window_set_title (GTK_WINDOW (window), "Button Boxes");
61 gtk_signal_connect (GTK_OBJECT (window), "destroy",
62 GTK_SIGNAL_FUNC(gtk_widget_destroyed),
65 gtk_container_set_border_width (GTK_CONTAINER (window), 10);
67 main_vbox = gtk_vbox_new (FALSE, 0);
68 gtk_container_add (GTK_CONTAINER (window), main_vbox);
70 frame_horz = gtk_frame_new ("Horizontal Button Boxes");
71 gtk_box_pack_start (GTK_BOX (main_vbox), frame_horz, TRUE, TRUE, 10);
73 vbox = gtk_vbox_new (FALSE, 0);
74 gtk_container_set_border_width (GTK_CONTAINER (vbox), 10);
75 gtk_container_add (GTK_CONTAINER (frame_horz), vbox);
77 gtk_box_pack_start (GTK_BOX (vbox),
78 create_bbox (TRUE, "Spread", 40, 85, 20, GTK_BUTTONBOX_SPREAD),
81 gtk_box_pack_start (GTK_BOX (vbox),
82 create_bbox (TRUE, "Edge", 40, 85, 20, GTK_BUTTONBOX_EDGE),
85 gtk_box_pack_start (GTK_BOX (vbox),
86 create_bbox (TRUE, "Start", 40, 85, 20, GTK_BUTTONBOX_START),
89 gtk_box_pack_start (GTK_BOX (vbox),
90 create_bbox (TRUE, "End", 40, 85, 20, GTK_BUTTONBOX_END),
93 frame_vert = gtk_frame_new ("Vertical Button Boxes");
94 gtk_box_pack_start (GTK_BOX (main_vbox), frame_vert, TRUE, TRUE, 10);
96 hbox = gtk_hbox_new (FALSE, 0);
97 gtk_container_set_border_width (GTK_CONTAINER (hbox), 10);
98 gtk_container_add (GTK_CONTAINER (frame_vert), hbox);
100 gtk_box_pack_start (GTK_BOX (hbox),
101 create_bbox (FALSE, "Spread", 30, 85, 20, GTK_BUTTONBOX_SPREAD),
104 gtk_box_pack_start (GTK_BOX (hbox),
105 create_bbox (FALSE, "Edge", 30, 85, 20, GTK_BUTTONBOX_EDGE),
108 gtk_box_pack_start (GTK_BOX (hbox),
109 create_bbox (FALSE, "Start", 30, 85, 20, GTK_BUTTONBOX_START),
112 gtk_box_pack_start (GTK_BOX (hbox),
113 create_bbox (FALSE, "End", 30, 85, 20, GTK_BUTTONBOX_END),
117 if (!GTK_WIDGET_VISIBLE (window))
118 gtk_widget_show_all (window);
120 gtk_widget_destroy (window);