XmMenuShell(3X)

XmMenuShell - The MenuShell widget class

Showing IRIX 6.5.30 (default release). Added in IRIX 6.5.19.

     NAME
          XmMenuShell - The MenuShell widget class

     SYNOPSIS
          #include <Xm/MenuShell.h>

     DESCRIPTION
          The MenuShell widget is a custom OverrideShell widget.  An
          OverrideShell widget bypasses mwm when displaying itself.
          It is designed specifically to contain Popup or Pulldown
          MenuPanes.

          Most application writers never encounter this widget if they
          use the menu-system convenience functions, XmCreatePopupMenu
          or XmCreatePulldown Menu, to create a Popup or Pulldown
          MenuPane.  The convenience functions automatically create a
          MenuShell widget as the parent of the MenuPane.  However, if
          the convenience functions are not used, the application
          programmer must create the required MenuShell.  In this
          case, it is important to note that the parent of the
          MenuShell depends on the type of menu system being built.

          o    If the MenuShell is for the top-level Popup MenuPane,
               the MenuShell's parent must be the widget from which
               the Popup MenuPane is popped up.

          o    If the MenuShell is for a MenuPane that is pulled down
               from a Popup or another Pulldown MenuPane, the
               MenuShell's parent must be the Popup or Pulldown
               MenuPane.

          o    If the MenuShell is for a MenuPane that is pulled down
               from a MenuBar, the MenuShell's parent must be the
               MenuBar.

          o    If the MenuShell is for a Pulldown MenuPane in an
               OptionMenu, the MenuShell's parent must be the
               OptionMenu's parent.

          Setting XmNheight, XmNwidth, or XmNborderWidth for either a
          MenuShell or its child sets that resource to the same value
          in both the parent and the child.  An application should
          always specify these resources for the child, not the
          parent.

          For the managed child of a MenuShell, regardless of the
          value of the shell's XmNallowShellResize, setting XmNx or
          XmNy sets the corresponding resource of the parent but does
          not change the child's position relative to the parent.
          XtGetValues for the child's XmNx or XmNy yields the value of
          the corresponding resource in the parent.  The x and y
          coordinates of the child's upper left outside corner
          relative to the parent's upper left inside corner are both
          zero minus the value of XmNborderWidth.

        Classes
          MenuShell inherits behavior and resources from Core,
          Composite, Shell, and OverrideShell classes.

          The class pointer is xmMenuShellWidgetClass.

          The class name is XmMenuShell.

        New Resources
          MenuShell overrides the XmNallowShellResize resource in
          Shell.  The following table defines a set of widget
          resources used by the programmer to specify data.  The
          programmer can also set the resource values for the
          inherited classes to set attributes for this widget.  To
          reference a resource by name or by class in a .Xdefaults
          file, remove the XmN or XmC prefix and use the remaining
          letters.  To specify one of the defined values for a
          resource in a .Xdefaults file, remove the Xm prefix and use
          the remaining letters (in either lowercase or uppercase, but
          include any underscores between words).  The codes in the
          access column indicate if the given resource can be set at
          creation time (C), set by using XtSetValues (S), retrieved
          by using XtGetValues (G), or is not applicable (N/A).

                            XmMenuShell Resource Set
     Name                 Class                Type         Default   Access
     _______________________________________________________________________
     XmNbuttonFontList    XmCButtonFontList    XmFontList   dynamic   CSG
     XmNdefaultFontList   XmCDefaultFontList   XmFontList   dynamic   CG
     XmNlabelFontList     XmCLabelFontList     XmFontList   dynamic   CSG


          XmNbuttonFontList
               Specifies the font list used for MenuShell's button
               descendants.  If this value is NULL at initialization
               and if the value of XmNdefaultFontList is not NULL,
               XmNbuttonFontList is initialized to the value of
               XmNdefaultFontList.  If the value of XmNdefaultFontList
               is NULL, XmNbuttonFontList is initialized by looking up
               the parent hierarchy of the widget for an ancestor that
               is a subclass of the XmBulletinBoard, VendorShell, or
               XmMenuShell widget class.  If such an ancestor is
               found, XmNbuttonFontList is initialized to the
               XmNbuttonFontList of the ancestor  widget.  If no such
               ancestor is found, the default is implementation
               dependent.

          XmNdefaultFontList
               Specifies a default font list for MenuShell's
               descendants.  This resource is obsolete and exists for
               compatibility with earlier releases.  It has been
               replaced by XmNbuttonFontList and XmNlabelFontList.

          XmNlabelFontList
               Specifies the font list used for MenuShell's label
               descendants (Labels and LabelGadgets).  If this value
               is NULL at initialization and if the value of
               XmNdefaultFontList is not NULL, XmNlabelFontList is
               initialized to the value of XmNdefaultFontList.  If the
               value of XmNdefaultFontList is NULL, XmNlabelFontList
               is initialized by looking up the parent hierarchy of
               the widget for an ancestor that is a subclass of the
               XmBulletinBoard, VendorShell, or XmMenuShell widget
               class.  If such an ancestor is found, XmNlabelFontList
               is initialized to the XmNlabelFontList of the ancestor
               widget.  If no such ancestor is found, the default is
               implementation dependent.

        Inherited Resources
          MenuShell inherits behavior and resources from the following
          superclasses.  For a complete description of each resource,
          refer to the man page for that superclass.  The following
          tables define a set of widget resources used by the
          programmer to specify data.  The programmer can set the
          resource values for these inherited classes to set
          attributes for this widget.  To reference a resource by name
          or by class in a .Xdefaults file, remove the XmN or XmC
          prefix and use the remaining letters.  To specify one of the
          defined values for a resource in a .Xdefaults file, remove
          the Xm prefix and use the remaining letters (in either
          lowercase or uppercase, but include any underscores between
          words).  The codes in the access column indicate if the
          given resource can be set at creation time (C), set by using
          XtSetValues (S), retrieved by using XtGetValues (G), or is
          not applicable (N/A).

                                              Shell Resource Set
     Name                      Class                     Type                     Default          Access
     ____________________________________________________________________________________________________
     XmNallowShellResize       XmCAllowShellResize       Boolean                  True             G
     XmNcreatePopupChildProc   XmCCreatePopupChildProc   XtCreatePopupChildProc   NULL             CSG
     XmNgeometry               XmCGeometry               String                   NULL             CSG
     XmNoverrideRedirect       XmCOverrideRedirect       Boolean                  True             CSG
     XmNpopdownCallback        XmCCallback               XtCallbackList           NULL             C
     XmNpopupCallback          XmCCallback               XtCallbackList           NULL             C
     XmNsaveUnder              XmCSaveUnder              Boolean                  True             CSG
     XmNvisual                 XmCVisual                 Visual *                 CopyFromParent   CSG


                             Composite Resource Set
     Name                Class               Type          Default   Access
     ______________________________________________________________________
     XmNchildren         XmCReadOnly         WidgetList    NULL      G
     XmNinsertPosition   XmCInsertPosition   XtOrderProc   NULL      CSG
     XmNnumChildren      XmCReadOnly         Cardinal      0         G


                                                   Core Resource Set
     Name                            Class                           Type             Default                Access
     ______________________________________________________________________________________________________________
     XmNaccelerators                 XmCAccelerators                 XtAccelerators   dynamic                CSG
     XmNancestorSensitive            XmCSensitive                    Boolean          dynamic                G
     XmNbackground                   XmCBackground                   Pixel            dynamic                CSG
     XmNbackgroundPixmap             XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
     XmNborderColor                  XmCBorderColor                  Pixel            XtDefaultForeground    CSG
     XmNborderPixmap                 XmCPixmap                       Pixmap           XmUNSPECIFIED_PIXMAP   CSG
     XmNborderWidth                  XmCBorderWidth                  Dimension        1                      CSG
     XmNcolormap                     XmCColormap                     Colormap         dynamic                CG
     XmNdepth                        XmCDepth                        int              dynamic                CG
     XmNdestroyCallback              XmCCallback                     XtCallbackList   NULL                   C
     XmNheight                       XmCHeight                       Dimension        dynamic                CSG
     XmNinitialResourcesPersistent   XmCInitialResourcesPersistent   Boolean          True                   C
     XmNmappedWhenManaged            XmCMappedWhenManaged            Boolean          True                   CSG
     XmNscreen                       XmCScreen                       Screen *         dynamic                CG
     XmNsensitive                    XmCSensitive                    Boolean          True                   CSG
     XmNtranslations                 XmCTranslations                 XtTranslations   dynamic                CSG
     XmNwidth                        XmCWidth                        Dimension        dynamic                CSG
     XmNx                            XmCPosition                     Position         0                      CSG
     XmNy                            XmCPosition                     Position         0                      CSG


        Translations
          The XmMenuShell translations are listed below.  These
          translations may not directly correspond to a translation
          table.
          BSelect Press: ClearTraversal()
          BSelect Release:MenuShellPopdownDone()

        Action Routines
          The XmMenuShell action routines are described below:

          ClearTraversal():
               Disables keyboard traversal for the menu, enables mouse
               traversal, and unposts any menus posted by this menu.

          MenuShellPopdownDone():
               Unposts the menu hierarchy and, when the shell's
               keyboard focus policy is XmEXPLICIT, restores focus to
               the widget that had the focus before the menu system
               was entered.

          MenuShellPopdownOne():
               In a toplevel Pulldown MenuPane from a MenuBar, unposts
               the menu, disarms the MenuBar CascadeButton and the
               MenuBar, and, when the shell's keyboard focus policy is
               XmEXPLICT, restores keyboard focus to the widget that
               had the focus before the MenuBar was entered.  In other
               Pulldown MenuPanes, unposts the menu.

          In a Popup MenuPane, unposts the menu, and, when the shell's
          keyboard focus policy is XmEXPLICT, restores keyboard focus
          to the widget from which the menu was posted.

        Virtual Bindings
          The bindings for virtual keys are vendor specific.  For
          information about bindings for virtual buttons and keys, see
          VirtualBindings(3X).

     RELATED INFORMATION
          Composite(3X), Core(3X), OverrideShell(3X), Shell(3X),
          XmCreateMenuShell(3X), XmCreatePopupMenu(3X),
          XmCreatePulldown(3X), and XmRowColumn(3X).