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_button_box_new (GTK_ORIENTATION_HORIZONTAL);
23 bbox = gtk_button_box_new (GTK_ORIENTATION_VERTICAL);
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_from_stock (GTK_STOCK_OK);
32 gtk_container_add (GTK_CONTAINER (bbox), button);
34 button = gtk_button_new_from_stock (GTK_STOCK_CANCEL);
35 gtk_container_add (GTK_CONTAINER (bbox), button);
37 button = gtk_button_new_from_stock (GTK_STOCK_HELP);
38 gtk_container_add (GTK_CONTAINER (bbox), button);
44 do_button_box (GtkWidget *do_widget)
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_screen (GTK_WINDOW (window),
57 gtk_widget_get_screen (do_widget));
58 gtk_window_set_title (GTK_WINDOW (window), "Button Boxes");
60 g_signal_connect (window, "destroy",
61 G_CALLBACK (gtk_widget_destroyed),
64 gtk_container_set_border_width (GTK_CONTAINER (window), 10);
66 main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
67 gtk_container_add (GTK_CONTAINER (window), main_vbox);
69 frame_horz = gtk_frame_new ("Horizontal Button Boxes");
70 gtk_box_pack_start (GTK_BOX (main_vbox), frame_horz, TRUE, TRUE, 10);
72 vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
73 gtk_container_set_border_width (GTK_CONTAINER (vbox), 10);
74 gtk_container_add (GTK_CONTAINER (frame_horz), vbox);
76 gtk_box_pack_start (GTK_BOX (vbox),
77 create_bbox (TRUE, "Spread", 40, GTK_BUTTONBOX_SPREAD),
80 gtk_box_pack_start (GTK_BOX (vbox),
81 create_bbox (TRUE, "Edge", 40, GTK_BUTTONBOX_EDGE),
84 gtk_box_pack_start (GTK_BOX (vbox),
85 create_bbox (TRUE, "Start", 40, GTK_BUTTONBOX_START),
88 gtk_box_pack_start (GTK_BOX (vbox),
89 create_bbox (TRUE, "End", 40, GTK_BUTTONBOX_END),
92 frame_vert = gtk_frame_new ("Vertical Button Boxes");
93 gtk_box_pack_start (GTK_BOX (main_vbox), frame_vert, TRUE, TRUE, 10);
95 hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
96 gtk_container_set_border_width (GTK_CONTAINER (hbox), 10);
97 gtk_container_add (GTK_CONTAINER (frame_vert), hbox);
99 gtk_box_pack_start (GTK_BOX (hbox),
100 create_bbox (FALSE, "Spread", 30, GTK_BUTTONBOX_SPREAD),
103 gtk_box_pack_start (GTK_BOX (hbox),
104 create_bbox (FALSE, "Edge", 30, GTK_BUTTONBOX_EDGE),
107 gtk_box_pack_start (GTK_BOX (hbox),
108 create_bbox (FALSE, "Start", 30, GTK_BUTTONBOX_START),
111 gtk_box_pack_start (GTK_BOX (hbox),
112 create_bbox (FALSE, "End", 30, GTK_BUTTONBOX_END),
116 if (!gtk_widget_get_visible (window))
118 gtk_widget_show_all (window);
122 gtk_widget_destroy (window);