logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Menu, MenuItem, MenuBar, PopupMenu, PulldownMenu, PullrightMenu - menus

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.

Name

       Menu, MenuItem, MenuBar, PopupMenu, PulldownMenu, PullrightMenu - menus

Public Operations

Menu::Menu(Interactor*)
              Construct a new menu.

       Menu::~Menu()
              The destructor deletes the menu body in addition to its appearance component.

       virtualvoidMenu::Include(Control*)
              Add an item to the menu.  If no scene is specified, Menu will create a vbox and insert items  into
              it.

       virtualvoidMenu::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).

       voidMenu::SetBody(Interactor*)Interactor*Menu::GetBody()voidMenu::SetAlign(Alignment)AlignmentMenu::GetAlign()voidMenu::SetDepth(int)intGetDepth()voidMenu::SetBodyState(ControlState*)ControlState*Menu::GetBodyState()voidMenu::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.

       CoordMenu::InsertX()CoordMenu::InsertY()
              Return the coordinates where the menu's body was last inserted into the world.

       MenuItem::MenuItem(Interactor*)MenuItem::MenuItem(constchar*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(constchar*str)PullrightMenu::PullrightMenu(Interactor*)PullrightMenu::PullrightMenu(constchar*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.

       virtualvoidMenuBar::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)

InterViews                                       6 December 1989                                        Menu(3I)

Synopsis

#include<InterViews/menu.h>

See Also