|
Introduction
Containers Layouts Widgets
|
Widgets -> menubarIt is possible for frames to have a menubar. The images below show examples of menus. ![]() ![]() The following are steps to create a menubar:
If we work backwards, we're actually creating menu items, adding them to their headers/categories, and the headers/categories are added to the menubar. The following code generated the above images:
alias menudemo {
$frame = frame("MenuBar Demo", 'center=1');
$Menu = menubar();
menubarSet($frame, $Menu);
$mFile = menu("&File");
$mEdit = menu("&Edit");
menuAdd($Menu, $mFile);
menuAdd($Menu, $mEdit);
# File..
$new = menuItem("&New...\tCtrl+N", &NewMenu);
$open = menuItem("&Open...\tCtrl+O", &OpenMenu);
$exit = menuItem("E&xit\tCtrl+X", &ExitMenu);
menuAdd($mFile, $new);
menuAdd($mFile, $open);
menuAdd($mFile, "-");
menuAdd($mFile, $exit);
# Edit
$submenu = menu("&Test");
$tmpicon = "gui/icons/admin.gif";
menuAdd($submenu, menuItem("Sub item", $tmpicon, &subItemTest));
menuAdd($submenu, "-");
# Create a group of radio buttons
$radio_a = menuItemRadio("Selection 1");
$radio_b = menuItemRadio("Selection 2");
$radio_c = menuItemRadio("Selection 3");
# Always add to a buttongroup() Same with radiobutton()
$group = buttongroup($radio_a, $radio_b, $radio_c);
menuAdd($submenu, $radio_a);
menuAdd($submenu, $radio_b);
menuAdd($submenu, $radio_c);
menuAdd($mEdit, $submenu);
menuAdd($mEdit, menuItemCheck("Checkbox 1"));
menuAdd($mEdit, menuItemCheck("Checkbox 2"));
# Add contents to frame
$panel = panel($frame, 'layout=Border');
add($panel, textarea(""), 'area=CENTER');
add($panel, textfield('', 'state=0'), 'area=BOTTOM');
pack($frame);
show($frame);
}
sub NewMenu { echo("New item"); }
sub OpenMenu { echo("Open item"); }
sub ExitMenu { close($frame); }
sub subItemTest { echo("Sub item selected"); }
Functions
|