XmMenuShell - The MenuShell widget class
#include <Xm/MenuShell.h>
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.
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.
MenuShell inherits behavior and resources from Core, Composite, Shell, and OverrideShell classes.
The class pointer is xmMenuShellWidgetClass.
The class name is XmMenuShell.
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).
Name | Class | Type | Default | Access |
---|---|---|---|---|
XmNbuttonFontList | XmCButtonFontList | XmFontList | dynamic | CSG |
XmNdefaultFontList | XmCDefaultFontList | XmFontList | dynamic | CG |
XmNlabelFontList | XmCLabelFontList | XmFontList | dynamic | CSG |
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).
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 |
Name | Class | Type | Default | Access |
---|---|---|---|---|
XmNchildren | XmCReadOnly | WidgetList | NULL | G |
XmNinsertPosition | XmCInsertPosition | XtOrderProc | NULL | CSG |
XmNnumChildren | XmCReadOnly | Cardinal | 0 | G |
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 |
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 |
The XmMenuShell translations are listed below. These translations may not directly correspond to a translation table.
BSelect Press: ClearTraversal() BSelect Release: MenuShellPopdownDone()
The XmMenuShell action routines are described below:
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.
The bindings for virtual keys are vendor specific. For information about bindings for virtual buttons and keys, see VirtualBindings(3X).
Composite(3X), Core(3X), OverrideShell(3X), XmCreateMenuShell(3X), XmCreatePopupMenu(3X), XmCreatePulldownMenu(3X), and XmRowColumn(3X).