DtMenuButton — the MenuButton widget class
#include &<Dt/MenuButton.h>
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 Caretis 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(3)
widget) anywhere on the DtMenuButton widget.
Widget subclassing is not supported for the DtMenuButton widget
class.
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.
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_PIXMAP |
CSG |
DtNsubMenuId |
DtCMenuWidget |
Widget |
NULL |
SG |
tgroup dispwid="7.78in" |
- 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.
- 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.
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 |
XmNlabelInsensitivePixmap |
XmCLabelInsensitivePixmap |
Pixmap |
XmUNSPECIFIED_PIXMAP |
CSG |
XmNlabelPixmap |
XmCLabelPixmap |
Pixmap |
XmUNSPECIFIED_PIXMAP |
CSG |
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-_DEFAULT_TAG |
CSG |
XmNrecomputeSize |
XmCRecomputeSize |
Boolean |
True |
CSG |
XmNstringDirection |
XmCStringDirection |
XmStringDirection |
dynamic |
CSG |
tgroup dispwid="7.84in" |
XmPrimitive Resource |
Set |
Name |
Class |
Type |
Default |
Access |
XmNbottomShadowColor |
XmCBottomShadowColor |
Pixel |
dynamic |
CSG |
XmNbottomShadowPixmap |
XmCBottomShadowPixmap |
Pixmap |
XmUNSPECIFIED_PIXMAP |
CSG |
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 |
tgroup dispwid="7.93in" |
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_PIXMAP |
CSG |
XmNborderColor |
XmCBorderColor |
Pixel |
XtDefaultForeground |
CSG |
XmNborderPixmap |
XmCPixmap |
Pixmap |
XmUNSPECIFIED_PIXMAP |
CSG |
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 |
XmNinitialResourcesPersistent |
XmCInitialResourcesPersistent |
Boolean |
True |
C |
XmNmappedWhenManaged |
XmCMappedWhenManaged |
Boolean |
True |
CSG |
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 |
tgroup dispwid="7.85in" |
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.
DtCreateMenuButton(3),
Core(3), XmLabel(3),
XmPrimitive(3), XmRowColumn(3),
XtGetValues(3), XtSetValues(3).