InterViews Reference Manual -- Menu

NAME
Menu , and related subclasses - 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 powerful 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 interactor
component.  For example, a menu in a menu bar  might  appear  as  ``File''  and
insert a pulldown menu with commands 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 function; 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 associated 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&)
Insert the body into the world centered around the coordinates associated with the event and activate the controls in the body. The menu is removed from the world when the controls are deactivated (normally 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 , Event

Next: Message | Prev: Interactor | Up: index | Top: index