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 XmCreatePulldownMenu, 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. 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. 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. If the MenuShell is for a
MenuPane that is pulled down from a MenuBar, the
MenuShell's parent must be the MenuBar. 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 [Toc] [Back]
MenuShell inherits behavior and resources from Core, Composite,
Shell, and OverrideShell classes.
The class pointer is xmMenuShellWidgetClass.
The class name is XmMenuShell.
New Resources [Toc] [Back]
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 [Toc] [Back]
Class: XmCButtonFontList
Default: dynamic
Type: XmFontList
Access: CSG
Class: XmCDefaultFontList
Default: dynamic
Type: XmFontList
Access: CG
Class: XmCLabelFontList
Default: dynamic
Type: XmFontList
Access: CSG
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. 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. 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 [Toc] [Back]
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 [Toc] [Back]
Class: XmCAllowShellResize
Default: True
Type: Boolean
Access: G
Class: XmCCreatePopupChildProc
Default: NULL
Type: XtCreatePopupChildProc
Access: CSG
Class: XmCGeometry
Default: NULL
Type: String
Access: CSG
Class: XmCOverrideRedirect
Default: True
Type: Boolean
Access: CSG
Class: XmCCallback
Default: NULL
Type: XtCallbackList
Access: C
Class: XmCCallback
Default: NULL
Type: XtCallbackList
Access: C
Class: XmCSaveUnder
Default: True
Type: Boolean
Access: CSG
Class: XmCVisual
Default: CopyFromParent
Type: Visual *
Access: CSG
Composite Resource Set [Toc] [Back]
Class: XmCReadOnly
Default: NULL
Type: WidgetList
Access: G
Class: XmCInsertPosition
Default: NULL
Type: XtOrderProc
Access: CSG
Class: XmCReadOnly
Default: 0
Type: Cardinal
Access: G
Core Resource Set [Toc] [Back]
Class: XmCAccelerators
Default: dynamic
Type: XtAccelerators
Access: CSG
Class: XmCSensitive
Default: dynamic
Type: Boolean
Access: G
Class: XmCBackground
Default: dynamic
Type: Pixel
Access: CSG
Class: XmCPixmap
Default: XmUNSPECIFIED_PIXMAP
Type: Pixmap
Access: CSG
Class: XmCBorderColor
Default: XtDefaultForeground
Type: Pixel
Access: CSG
Class: XmCPixmap
Default: XmUNSPECIFIED_PIXMAP
Type: Pixmap
Access: CSG
Class: XmCBorderWidth
Default: 1
Type: Dimension
Access: CSG
Class: XmCColormap
Default: dynamic
Type: Colormap
Access: CG
Class: XmCDepth
Default: dynamic
Type: int
Access: CG
Class: XmCCallback
Default: NULL
Type: XtCallbackList
Access: C
Class: XmCHeight
Default: dynamic
Type: Dimension
Access: CSG
Class: XmCInitialResourcesPersistent
Default: True
Type: Boolean
Access: C
Class: XmCMappedWhenManaged
Default: True
Type: Boolean
Access: CSG
Class: XmCScreen
Default: dynamic
Type: Screen *
Access: CG
Class: XmCSensitive
Default: True
Type: Boolean
Access: CSG
Class: XmCTranslations
Default: dynamic
Type: XtTranslations
Access: CSG
Class: XmCWidth
Default: dynamic
Type: Dimension
Access: CSG
Class: XmCPosition
Default: 0
Type: Position
Access: CSG
Class: XmCPosition
Default: 0
Type: Position
Access: CSG
Translations [Toc] [Back]
The XmMenuShell translations are listed below. These
translations may not directly correspond to a translation
table.
BSelect Press: ClearTraversal() BSelect
Release:MenuShellPopdownDone()
Action Routines [Toc] [Back]
The XmMenuShell action routines are described below: Disables
keyboard traversal for the menu, enables mouse
traversal, and unposts any menus posted by this menu.
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. 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 [Toc] [Back]
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), Shell(3X),
XmCreateMenuShell(3X), XmCreatePopupMenu(3X), XmCreatePulldownMenu(3X), XmRowColumn(3X)
XmMenuShell(3X)
[ Back ] |