XmMenuShell(Xm) UNIX System V
NAME
XmMenuShell - the MenuShell widget class.
SYNOPSIS
#include <Xm/MenuShell.h>
DESCRIPTION
The MenuShell widget is a custom OverrideShell widget. An
OverrideShell widget bypasses the window manager when
displaying itself. It is designed specifically to contain
Popup or Pulldown MenuPanes.
Most application writers will 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, then it is the application programmer's responsibility
to 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.
⊕ If the MenuShell is for the top-level Popup MenuPane, the
MenuShell must be created as a child of the widget from
which the Popup MenuPane is popped up.
⊕ If the MenuShell is for a MenuPane that is pulled down
from a Popup or another Pulldown MenuPane, the MenuShell
must be created as a child of the Popup or Pulldown
MenuPane's parent MenuShell.
⊕ If the MenuShell is for a MenuPane that is pulled down
from a MenuBar, then the MenuShell must be created as a
child of the MenuBar.
⊕ If the MenuShell is for a Pulldown MenuPane in an
OptionMenu, the MenuShell must have the same parent as
the OptionMenu.
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 defines no new resources, but overrides the
XmNallowShellResize resource in Shell.
Inherited Resources
MenuShell inherits behavior and resources from the following
superclasses. For a complete description of these
resources, 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 lower
case or upper case, 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
XmNancestorSensitive XmCSensitive Boolean ShellAncestorSensitive G
XmNcreatePopupChildProc XmCCreatePopupChildProc XmCreatePopupChildProc NULL CSG
XmNdepth XmCDepth int ShellDepth CSG
XmNgeometry XmCGeometry caddr_t NULL CSG
XmNoverrideRedirect XmCOverrideRedirect Boolean True CSG
XmNpopdownCallback XmCCallback caddr_t NULL C
XmNpopupCallback XmCCallback caddr_t NULL C
XmNsaveUnder XmCSaveUnder Boolean True CSG
Composite Resource Set
Name Class Type Default Access
______________________________________________________________________
XmNinsertPosition XmCInsertPosition XmRFunction NULL CSG
Core Resource Set
Name Class Type Default Access
______________________________________________________________________________________
XmNaccelerators XmCAccelerators XtTranslations NULL CSG
XmNancestorSensitive XmCSensitive Boolean ShellAncestorSensitive CSG
XmNbackground XmCBackground Pixel White CSG
XmNbackgroundPixmap XmCPixmap Pixmap XmUNSPECIFIED_PIXMAP CSG
XmNborderColor XmCBorderColor Pixel Black CSG
XmNborderPixmap XmCPixmap Pixmap XmUNSPECIFIED_PIXMAP CSG
XmNborderWidth XmCBorderWidth Dimension 1 CSG
XmNcolormap XmCColormap Colormap ShellColormap CG
XmNdepth XmCDepth int ShellDepth CG
XmNdestroyCallback XmCCallback XtCallbackList NULL C
XmNheight XmCHeight Dimension 0 CSG
XmNmappedWhenManaged XmCMappedWhenManaged Boolean True CSG
XmNscreen XmCScreen Pointer XtCopyScreen CG
XmNsensitive XmCSensitive Boolean True CSG
XmNtranslations XmCTranslations XtTranslations NULL CSG
XmNwidth XmCWidth Dimension 0 CSG
XmNx XmCPosition Position 0 CSG
XmNy XmCPosition Position 0 CSG
Behavior
The specific mouse button that is used depends upon the
resources XmNrowColumnType and XmNwhichButton in the menu's
top level RowColumn widget.
Default PopupMenu System
<Btn3Down>:
If this event has not already been processed by another
menu component, then this action disables keyboard
traversal for the menus and returns the user to drag
mode.
<Btn3Up>:
If this event has not already been processed by another
menu component, then all visible MenuPanes are
unposted.
<Key>Escape:
If this event has not already been processed by another
menu component, then all visible MenuPanes are
unposted.
Default PulldownMenu System or OptionMenu System
<Btn1Down>:
If this event has not already been processed by another
menu component, then this action disables keyboard
traversal for the menus and returns the user to drag
mode.
<Btn1Up>:
If this event has not already been processed by another
menu component, then all visible MenuPanes are
unposted.
<Key>Escape:
If this event has not already been processed by another
menu component, then all visible MenuPanes are
unposted.
Default Translations
The default translations for MenuShell are:
<BtnDown>: ClearTraversal()
<Key>Escape: MenuShellPopdownDone()
<BtnUp>: MenuShellPopdownDone()
RELATED INFORMATION
Composite(Xm), Core(Xm), OverrideShell(Xm), Shell(Xm),
XmCreateMenuShell(Xm), XmCreatePopupMenu(Xm),
XmCreatePulldown(Xm), and XmRowColumn(Xm).
(printed 2/14/90) XmMenuShell(Xm)