Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

Composite(3X)

Core(3X)

OverrideShell(3X)

Shell(3X)

XmCreateMenuShell(3X)

XmCreatePopupMenu(3X)

XmCreatePulldown(3X)

XmRowColumn(3X)

XmMenuShell(3X)  —  Subroutines

OSF

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 type of 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. 

•If the MenuShell is for a MenuPane that is pulled down from a MenuBar, the MenuShell must be created as a child of the MenuBar. 

•If the MenuShell is for a Pulldown MenuPane in an OptionMenu, the MenuShell’s parent must be 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 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
XmNdefaultFontList XmCDefaultFontList XmFontList dynamic C

XmNdefaultFontList
Specifies a default font list for its children.  This font list is used whenever a font list is not specifically set for a Text, Label or Button child of the MenuShell.

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 (∗)() 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 (∗)() NULL CSG
XmNnumChildren XmCReadOnly Cardinal 0 G

Core Resource Set
Name Class Type Default Access
XmNaccelerators XmCAccelerators XtAccelerators NULL 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 CG
XmNmappedWhenManaged XmCMappedWhenManaged Boolean True CSG
XmNscreen XmCScreen Screen ∗ dynamic CG
XmNsensitive XmCSensitive Boolean True CSG
XmNtranslations XmCTranslations XtTranslations NULL 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 restores focus to the tab group 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 restores keyboard focus to the tab group that had the focus before the MenuBar was entered. In other Pulldown MenuPanes, unposts the menu.

In a Popup MenuPane, unposts the menu and 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). 

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026