Menu, MenuItem, MenuBar, PopupMenu, PulldownMenu, Pull-
rightMenu - menus
SYNOPSIS
#include <InterViews/menu.h>
DESCRIPTION
N.B.: This Menu class is completely different from the
Menu class in version 2.5. No attempt has been made to be
compatible, as this class and its subclasses are more pow-
erful and easier to use than the original class.
Menu is a subclass of Control that contains a scene of
other controls, called its body. When a menu is opened,
it inserts the body into the world with a drop shadow.
The appearance of the menu itself is defined by its inter-
actor component. For example, a menu in a menu bar might
appear as ``File'' and insert a pulldown menu with com-
mands such as ``Save'' when opened.
MenuItem is a subclass of Control for defining the leaves
of a menu hierarchy. Normally, an application will derive
a command class from MenuItem and implement the virtual
function Do as appropriate. One technique is to pass the
Command an application object and pointer to member func-
tion; the Do function calls the member function on the
application object.
PopupMenu, PulldownMenu, and PullrightMenu are subclasses
of Menu that implement a common styles of menus. MenuBar
is a subclass of HBox that manages the control state asso-
ciated with a set of menus. PopupMenu has no appearance;
it is opened explicitly in response to an input event.
PulldownMenu and PullrightMenu open the menu body below
and to the right of the menu, respectively. These classes
make it possible to use menus in an application without
creating or passing control states explicitly.
PUBLIC OPERATIONS
Menu::Menu(Interactor*)
Construct a new menu.
Menu::~Menu()
The destructor deletes the menu body in addition to
its appearance component.
virtual void Menu::Include(Control*)
Add an item to the menu. If no scene is specified,
Menu will create a vbox and insert items into it.
virtual void Menu::Popup(Event&)
the controls in the body. The menu is removed from
the world when the controls are deactivated (nor-
mally when a button is released).
void Menu::SetBody(Interactor*)
Interactor* Menu::GetBody()
void Menu::SetAlign(Alignment)
Alignment Menu::GetAlign()
void Menu::SetDepth(int)
int GetDepth()
void Menu::SetBodyState(ControlState*)
ControlState* Menu::GetBodyState()
void Menu::SetScene(Scene*)
Scene* Menu::GetScene()
Set or get attributes of the menu. The depth of a
menu is the number of pixels separating the body
and the drop shadow.
Coord Menu::InsertX()
Coord Menu::InsertY()
Return the coordinates where the menu's body was
last inserted into the world.
MenuItem::MenuItem(Interactor*)
MenuItem::MenuItem(const char* str, Alignment = Left)
Construct a new menu item. The second constructor
defines the appearance of the item to be a message
containing the text in str.
PulldownMenu::PulldownMenu(Interactor*)
PulldownMenu::PulldownMenu(const char* str)
PullrightMenu::PullrightMenu(Interactor*)
PullrightMenu::PullrightMenu(const char* str)
Construct a new pulldown or pullright menu. The
second constructor defines the appearance of the
menu to be a message containing the text in str.
PopupMenu::PopupMenu()
Construct a new popup menu.
MenuBar::MenuBar()
Construct a new menu bar.
virtual void MenuBar::Include(Control*)
Add a control to a menu bar. In addition to
inserting the control into the bar's hbox, this
operation attaches the control to the bar's control
state.
SEE ALSO
Control(3I), Event(3I)
Man(1) output converted with
man2html