Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

DtCreateMenuButton(3)

Core(3X)

XmLabel(3X)

XmPrimitive(3X)

XmRowColumn(3X)

XtGetValues(3Xt)

XtSetValues(3Xt)

DtCreateMenuButton(3X)

DtMenuButton(3)  —  Subroutines

CDE

NAME

DtMenuButton − the MenuButton widget class

SYNOPSIS

#include <Dt/MenuButton.h>

DESCRIPTION

The DtMenuButton widget is a command widget that complements the menu cascading functionality of an XmCascadeButton widget.  As a complement to the XmCascadeButton widget, DtMenuButton can only be instantiated outside a MenuPane; the application must use XmCascadeButton widget inside a MenuPane. 

The DtMenuButton widget belongs to a subclass of the XmLabel class.  Visually, the DtMenuButton widget consists of a label string and a menu glyph.  The menu glyph always appears on the right end of the widget and, by default, is a downward pointing arrow. 

The DtMenuButton widget has an implicitly created submenu attached to it.  The submenu is a popup MenuPane and has this DtMenuButton widget as its parent.  The name of the implicitly created submenu is obtained by adding submenu_ as a prefix to the name of this DtMenuButton widget.  The widget ID of the submenu can be obtained by doing an XtGetValues on the DtNsubMenuId resource of this DtMenuButton widget.  The implicitly created submenu must not be destroyed by the user of this widget. 

The submenu can be popped up by pressing the menu post Button (see the XmNmenuPost resource of the XmRowColumn (3X) widget) anywhere on the DtMenuButton widget. 

Widget subclassing is not supported for the DtMenuButton widget class. 

Classes

The DtMenuButton widget inherits behavior and resources from the Core, Composite, XmPrimitive and XmLabel classes. 

The class pointer is dtMenuButtonWidgetClass. 

The class name is DtMenuButtonWidget. 

New Resources

The following table defines a set of widget resources used by the application to specify data.  The application 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, the application must remove the DtN or DtC prefix and use the remaining letters.  To specify one of the defined values for a resource in a .Xdefaults file, the application must remove the Dt prefix and use the remaining letters (in either lower case or upper case, but including 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). 

DtMenuButton Resource Set:

Name Class Type Default Access
DtNcascadingCallback DtCCallback XtCallbackList NULL C
DtNcascadePixmap DtCPixmap Pixmap XmUNSPECIFIED- CSG
   _PIXMAP
DtNsubMenuId DtCMenuWidget Widget NULL SG

DtNcascadingCallback
Specifies the list of callbacks that is called before the popping up of the attached submenu. The reason for the callback is DtCR_CASCADING. 

DtNcascadePixmap
Specifies the pixmap displayed as the menu glyph. If no pixmap is specified, a downward pointing arrow is displayed.

DtNsubMenuId
Specifies the widget ID of the popup MenuPane to be associated with this DtMenuButton widget. The popup MenuPane must be created with this DtMenuButton as its parent. This resource cannot be specified at the time of widget creation. The implicit submenu is automatically destroyed by DtMenuButton when this resource is set.

Inherited Resources

The DtMenuButton widget inherits behavior and resources from the following named superclasses.  For a complete description of each resource, see the man page for that superclass. 

XmLabel Resource Set:

Name Class Type Default Access
XmNaccelerator XmCAccelerator String NULL CSG
XmNacceleratorText XmCAcceleratorText XmString NULL CSG
XmNalignment XmCAlignment unsigned char dynamic CSG
XmNfontList XmCFontList XmFontList dynamic CSG
XmNlabelInsensitive- XmCLabelInsensitive- Pixmap XmUNSPECIFIED- CSG
   Pixmap    Pixmap    _PIXMAP
XmNlabelPixmap XmCLabelPixmap Pixmap XmUNSPECIFIED- CSG
   _PIXMAP
XmNlabelString XmCXmString XmString dynamic CSG
XmNlabelType XmCLabelType unsigned char XmSTRING CSG
XmNmarginBottom XmCMarginBottom Dimension 0 CSG
XmNmarginHeight XmCMarginHeight Dimension 2 CSG
XmNmarginLeft XmCMarginLeft Dimension 0 CSG
XmNmarginRight XmCMarginRight Dimension 0 CSG
XmNmarginTop XmCMarginTop Dimension 0 CSG
XmNmarginWidth XmCMarginWidth Dimension 2 CSG
XmNmnemonic XmCMnemonic KeySym NULL CSG
XmNmnemonicCharSet XmCMnemonicCharSet String XmFONTLIST- CSG
   _DEFAULT_TAG
XmNrecomputeSize XmCRecomputeSize Boolean True CSG
XmNstringDirection XmCStringDirection XmStringDirection dynamic CSG

XmPrimitive Resource Set:

Name Class Type Default Access
XmNbottom- XmCBottom- Pixel dynamic CSG
   ShadowColor    ShadowColor


XmNbottom- XmCBottom- Pixmap XmUNSPECIFIED- CSG
   ShadowPixmap    ShadowPixmap    _PIXMAP
XmNforeground XmCForeground Pixel dynamic CSG
XmNhelpCallback XmCCallback XtCallbackList NULL C
XmNhighlightColor XmCHighlightColor Pixel dynamic CSG
XmNhighlightOnEnter XmCHighlightOnEnter Boolean False CSG
XmNhighlightPixmap XmCHighlightPixmap Pixmap dynamic CSG
XmNhighlightThickness XmCHighlightThickness Dimension 0 CSG
XmNnavigationType XmCNavigationType XmNavigationType XmNONE CSG
XmNshadowThickness XmCShadowThickness Dimension 0 CSG
XmNtopShadowColor XmCTopShadowColor Pixel dynamic CSG
XmNtopShadowPixmap XmCTopShadowPixmap Pixmap dynamic CSG
XmNtraversalOn XmCTraversalOn Boolean False CSG
XmNunitType XmCUnitType unsigned char dynamic CSG
XmNuserData XmCUserData XtPointer NULL CSG

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- CSG
   _PIXMAP
XmNborderColor XmCBorderColor Pixel XtDefaultForeground CSG
XmNborderPixmap XmCPixmap Pixmap XmUNSPECIFIED- CSG
   _PIXMAP
XmNborderWidth XmCBorderWidth Dimension 0 CSG
XmNcolormap XmCColormap Colormap dynamic CG
XmNdepth XmCDepth int dynamic CG
XmNdestroyCallback XmCCallback XtCallbackList NULL C
XmNheight XmCHeight Dimension dynamic CSG
XmNinitialResources- XmCInitialResources- Boolean True C
   Persistent    Persistent


XmNmappedWhen- XmCMappedWhen- Boolean True CSG
   Managed    Managed


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

Callback Information

A pointer to the following structure is passed to each DtMenuButton callback:

typedef struct {
int reason;
XEvent∗event;
} XmAnyCallbackStruct;

The reason argument indicates why the callback was invoked; it is always DtCR_CASCADING when the DtNcascadingCallback is issued. 

The event argument points to the XEvent that triggered the callback or NULL if the callback was not triggered by an XEvent. 

SEE ALSO

DtCreateMenuButton(3), Core(3X), XmLabel(3X), XmPrimitive(3X), XmRowColumn(3X), XtGetValues(3Xt), XtSetValues(3Xt).  DtCreateMenuButton(3X); Core, XmLabel, XmPrimitive, XmRowColumn, in the X/Open CAE Specification, X/Open Motif Toolkit API; XtGetValues, XtSetValues in the X/Open CAE Specification, X/Open Window Management: X Toolkit Intrinsics. 

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