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