4 /* Create a Button Box with the specified parameters */
5 static GtkWidget *create_bbox( gint horizontal,
16 frame = gtk_frame_new (title);
19 bbox = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL);
21 bbox = gtk_button_box_new (GTK_ORIENTATION_VERTICAL);
23 gtk_container_set_border_width (GTK_CONTAINER (bbox), 5);
24 gtk_container_add (GTK_CONTAINER (frame), bbox);
26 /* Set the appearance of the Button Box */
27 gtk_button_box_set_layout (GTK_BUTTON_BOX (bbox), layout);
28 gtk_box_set_spacing (GTK_BOX (bbox), spacing);
30 button = gtk_button_new_from_stock (GTK_STOCK_OK);
31 gtk_container_add (GTK_CONTAINER (bbox), button);
33 button = gtk_button_new_from_stock (GTK_STOCK_CANCEL);
34 gtk_container_add (GTK_CONTAINER (bbox), button);
36 button = gtk_button_new_from_stock (GTK_STOCK_HELP);
37 gtk_container_add (GTK_CONTAINER (bbox), button);
45 static GtkWidget* window = NULL;
49 GtkWidget *frame_horz;
50 GtkWidget *frame_vert;
53 gtk_init (&argc, &argv);
55 window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
56 gtk_window_set_title (GTK_WINDOW (window), "Button Boxes");
58 g_signal_connect (G_OBJECT (window), "destroy",
59 G_CALLBACK (gtk_main_quit),
62 gtk_container_set_border_width (GTK_CONTAINER (window), 10);
64 main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 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_box_new (GTK_ORIENTATION_VERTICAL, 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 (spacing 40)", 40, 85, 20, GTK_BUTTONBOX_SPREAD),
78 gtk_box_pack_start (GTK_BOX (vbox),
79 create_bbox (TRUE, "Edge (spacing 30)", 30, 85, 20, GTK_BUTTONBOX_EDGE),
82 gtk_box_pack_start (GTK_BOX (vbox),
83 create_bbox (TRUE, "Start (spacing 20)", 20, 85, 20, GTK_BUTTONBOX_START),
86 gtk_box_pack_start (GTK_BOX (vbox),
87 create_bbox (TRUE, "End (spacing 10)", 10, 85, 20, 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_box_new (GTK_ORIENTATION_HORIZONTAL, 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 (spacing 5)", 5, 85, 20, GTK_BUTTONBOX_SPREAD),
101 gtk_box_pack_start (GTK_BOX (hbox),
102 create_bbox (FALSE, "Edge (spacing 30)", 30, 85, 20, GTK_BUTTONBOX_EDGE),
105 gtk_box_pack_start (GTK_BOX (hbox),
106 create_bbox (FALSE, "Start (spacing 20)", 20, 85, 20, GTK_BUTTONBOX_START),
109 gtk_box_pack_start (GTK_BOX (hbox),
110 create_bbox (FALSE, "End (spacing 20)", 20, 85, 20, GTK_BUTTONBOX_END),
113 gtk_widget_show_all (window);
115 /* Enter the event loop */