function create_bbox (horizontal, title, spacing, child_w, child_h, layout)
{
local frame, bbox, button;
frame = new (GtkFrame);
frame.label = title;
if (horizontal == TRUE)
bbox = new (GtkHButtonBox);
else
bbox = new (GtkVButtonBox);
bbox.border_width = 5;
frame.add (bbox);
bbox.layout_style = layout;
bbox.bbox_spacing = spacing;
bbox.child_min_width = child_w;
bbox.child_min_height = child_h;
button = new (GtkButton);
button.label = "OK";
bbox.add (button);
button = new (GtkButton);
button.label = "Cancel";
bbox.add (button);
button = new (GtkButton);
button.label = "Help";
bbox.add (button);
frame;
}
function create_button_box ()
{
local main_vbox, vbox, hbox, frame_horz, frame_vert;
win_button_box = new (GtkWindow);
win_button_box.title = "Button Boxes";
win_button_box.border_width = 10;
win_button_box.signal ("destroy", #win_button_box = nil);
main_vbox = new (GtkVBox);
win_button_box.add (main_vbox);
frame_horz = new (GtkFrame);
frame_horz.label = "Horizontal Button Boxes";
main_vbox.pack_start (frame_horz, TRUE, TRUE, 10);
vbox = new (GtkVBox);
vbox.border_width = 10;
frame_horz.add (vbox);
vbox.pack_start (create_bbox (TRUE, "Spread", 40, 85, 20,
GTK_BUTTONBOX_SPREAD),
TRUE, TRUE, 0);
vbox.pack_start (create_bbox (TRUE, "Edge", 40, 85, 20,
GTK_BUTTONBOX_EDGE),
TRUE, TRUE, 5);
vbox.pack_start (create_bbox (TRUE, "Start", 40, 85, 20,
GTK_BUTTONBOX_START),
TRUE, TRUE, 5);
vbox.pack_start (create_bbox (TRUE, "End", 40, 85, 20,
GTK_BUTTONBOX_END),
TRUE, TRUE, 5);
frame_vert = new (GtkFrame);
frame_vert.label = "Vertical Button Boxes";
main_vbox.pack_start (frame_vert, TRUE, TRUE, 10);
hbox = new (GtkHBox);
hbox.border_width = 10;
frame_vert.add (hbox);
hbox.pack_start (create_bbox (FALSE, "Spread", 30, 85, 20,
GTK_BUTTONBOX_SPREAD),
TRUE, TRUE, 0);
hbox.pack_start (create_bbox (FALSE, "Edge", 30, 85, 20,
GTK_BUTTONBOX_EDGE),
TRUE, TRUE, 5);
hbox.pack_start (create_bbox (FALSE, "Start", 30, 85, 20,
GTK_BUTTONBOX_START),
TRUE, TRUE, 5);
hbox.pack_start (create_bbox (FALSE, "End", 30, 85, 20,
GTK_BUTTONBOX_END),
TRUE, TRUE, 5);
win_button_box.show_all();
win_button_box;
}
function main ()
{
local window, win_button_box;
TRUE=1;
FALSE=0;
window = create_button_box ();
window.signal ("destroy", #exit_program(0));
init_ipc("button_box", "button_boxq");
gtk_main ();
}
Copyright © 1995-2010 by Cogent Real-Time Systems, Inc. All rights reserved.