Provided by: ivtools-dev_1.2.11a1-2_amd64 bug

NAME

       Menu, MenuItem, MenuBar, PopupMenu, PulldownMenu, PullrightMenu - 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(3I), Event(3I)