4 /* Create a Button Box with the specified parameters */
5 GtkWidget *create_bbox( gint horizontal,
16 frame = gtk_frame_new (title);
19 bbox = gtk_hbutton_box_new ();
21 bbox = gtk_vbutton_box_new ();
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);
29 /*gtk_button_box_set_child_size (GTK_BUTTON_BOX (bbox), child_w, child_h);*/
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);
50 GtkWidget *frame_horz;
51 GtkWidget *frame_vert;
54 gtk_init (&argc, &argv);
56 window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
57 gtk_window_set_title (GTK_WINDOW (window), "Button Boxes");
59 g_signal_connect (G_OBJECT (window), "destroy",
60 G_CALLBACK (gtk_main_quit),
63 gtk_container_set_border_width (GTK_CONTAINER (window), 10);
65 main_vbox = gtk_vbox_new (FALSE, 0);
66 gtk_container_add (GTK_CONTAINER (window), main_vbox);
68 frame_horz = gtk_frame_new ("Horizontal Button Boxes");
69 gtk_box_pack_start (GTK_BOX (main_vbox), frame_horz, TRUE, TRUE, 10);
71 vbox = gtk_vbox_new (FALSE, 0);
72 gtk_container_set_border_width (GTK_CONTAINER (vbox), 10);
73 gtk_container_add (GTK_CONTAINER (frame_horz), vbox);
75 gtk_box_pack_start (GTK_BOX (vbox),
76 create_bbox (TRUE, "Spread (spacing 40)", 40, 85, 20, GTK_BUTTONBOX_SPREAD),
79 gtk_box_pack_start (GTK_BOX (vbox),
80 create_bbox (TRUE, "Edge (spacing 30)", 30, 85, 20, GTK_BUTTONBOX_EDGE),
83 gtk_box_pack_start (GTK_BOX (vbox),
84 create_bbox (TRUE, "Start (spacing 20)", 20, 85, 20, GTK_BUTTONBOX_START),
87 gtk_box_pack_start (GTK_BOX (vbox),
88 create_bbox (TRUE, "End (spacing 10)", 10, 85, 20, GTK_BUTTONBOX_END),
91 frame_vert = gtk_frame_new ("Vertical Button Boxes");
92 gtk_box_pack_start (GTK_BOX (main_vbox), frame_vert, TRUE, TRUE, 10);
94 hbox = gtk_hbox_new (FALSE, 0);
95 gtk_container_set_border_width (GTK_CONTAINER (hbox), 10);
96 gtk_container_add (GTK_CONTAINER (frame_vert), hbox);
98 gtk_box_pack_start (GTK_BOX (hbox),
99 create_bbox (FALSE, "Spread (spacing 5)", 5, 85, 20, GTK_BUTTONBOX_SPREAD),
102 gtk_box_pack_start (GTK_BOX (hbox),
103 create_bbox (FALSE, "Edge (spacing 30)", 30, 85, 20, GTK_BUTTONBOX_EDGE),
106 gtk_box_pack_start (GTK_BOX (hbox),
107 create_bbox (FALSE, "Start (spacing 20)", 20, 85, 20, GTK_BUTTONBOX_START),
110 gtk_box_pack_start (GTK_BOX (hbox),
111 create_bbox (FALSE, "End (spacing 20)", 20, 85, 20, GTK_BUTTONBOX_END),
114 gtk_widget_show_all (window);
116 /* Enter the event loop */