XmPushButtonGadget - The PushButtonGadget widget class
#include <Xm/PushBG.h>
PushButtonGadget issues commands within an application. It consists of a text label or pixmap surrounded by a border shadow. When PushButtonGadget is selected, the shadow changes to give the appearance that the PushButtonGadget has been pressed in. When PushButtonGadget is unselected, the shadow changes to give the appearance that the PushButtonGadget is out.
The default behavior associated with a PushButtonGadget in a menu depends on the type of menu system in which it resides. By default, BSelect controls the behavior of the PushButtonGadget. In addition, BMenu controls the behavior of the PushButtonGadget if it resides in a PopupMenu system. The actual mouse button used is determined by its RowColumn parent.
Thickness for a second shadow may be specified by using the XmNshowAsDefault resource. If it has a non-zero value, the Label's resources XmNmarginLeft, XmNmarginRight, XmNmarginTop, and XmNmarginBottom may be modified to accommodate the second shadow.
If an initial value is specified for XmNarmPixmap but not for XmNlabelPixmap, the XmNarmPixmap value is used for XmNlabelPixmap.
PushButtonGadget inherits behavior and resources from Object, RectObj, XmGadget and XmLabelGadget classes.
The class pointer is xmPushButtonGadgetClass.
The class name is XmPushButtonGadget.
.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 |
---|---|---|---|---|
XmNactivateCallback | XmCCallback | XtCallbackList | NULL | C |
XmNarmCallback | XmCCallback | XtCallbackList | NULL | C |
XmNarmColor | XmCArmColor | Pixel | dynamic | CSG |
XmNarmPixmap | XmCArmPixmap | Pixmap | XmUNSPECIFIED_PIXMAP | CSG |
XmNdefaultButtonShadowThickness | XmCdefaultButtonShadowThickness | Dimension | dynamic | CSG |
XmNdisarmCallback | XmCCallback | XtCallbackList | NULL | C |
XmNfillOnArm | XmCFillOnArm | Boolean | True | CSG |
XmNmultiClick | XmCMultiClick | unsigned char | dynamic | CSG |
XmNshowAsDefault | XmCShowAsDefault | Dimension | 0 | CSG |
PushButtonGadget inherits behavior and resources from the following superclasses. For a complete description of each resource, refer to the man page for that superclass.
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 | dynamic | CSG |
XmNlabelString | XmCXmString | XmString | dynamic | CSG |
XmNlabelType | XmCLabelType | unsigned char | XmSTRING | CSG |
XmNmarginBottom | XmCMarginBottom | Dimension | dynamic | CSG |
XmNmarginHeight | XmCMarginHeight | Dimension | 2 | CSG |
XmNmarginLeft | XmCMarginLeft | Dimension | dynamic | CSG |
XmNmarginRight | XmCMarginRight | Dimension | dynamic | CSG |
XmNmarginTop | XmCMarginTop | Dimension | dynamic | CSG |
XmNmarginWidth | XmCMarginWidth | Dimension | 2 | CSG |
XmNmnemonic | XmCMnemonic | KeySym | NULL | CSG |
XmNmnemonicCharSet | XmCMnemonicCharSet | String | dynamic | CSG |
XmNrecomputeSize | XmCRecomputeSize | Boolean | True | CSG |
XmNstringDirection | XmCStringDirection | XmStringDirection | dynamic | CSG |
Name | Class | Type | Default | Access |
---|---|---|---|---|
XmNbottomShadowColor | XmCBottomShadowColor | Pixel | dynamic | G |
XmNhelpCallback | XmCCallback | XtCallbackList | NULL | C |
XmNhighlightColor | XmCHighlightColor | Pixel | dynamic | G |
XmNhighlightOnEnter | XmCHighlightOnEnter | Boolean | False | CSG |
XmNhighlightThickness | XmCHighlightThickness | Dimension | 2 | CSG |
XmNnavigationType | XmCNavigationType | XmNavigationType | XmNONE | CSG |
XmNshadowThickness | XmCShadowThickness | Dimension | 2 | CSG |
XmNtopShadowColor | XmCTopShadowColor | Pixel | dynamic | G |
XmNtraversalOn | XmCTraversalOn | Boolean | True | CSG |
XmNunitType | XmCUnitType | unsigned char | dynamic | CSG |
XmNuserData | XmCUserData | XtPointer | NULL | CSG |
Name | Class | Type | Default | Access |
---|---|---|---|---|
XmNancestorSensitive | XmCSensitive | Boolean | dynamic | G |
XmNborderWidth | XmCBorderWidth | Dimension | 0 | CSG |
XmNheight | XmCHeight | Dimension | dynamic | CSG |
XmNsensitive | XmCSensitive | Boolean | True | CSG |
XmNwidth | XmCWidth | Dimension | dynamic | CSG |
XmNx | XmCPosition | Position | 0 | CSG |
XmNy | XmCPosition | Position | 0 | CSG |
Name | Class | Type | Default | Access |
---|---|---|---|---|
XmNdestroyCallback | XmCCallback | XtCallbackList | NULL | C |
A pointer to the following structure is passed to each callback:
typedef struct { int reason; XEvent * event; int click_count; } XmPushButtonCallbackStruct;
XmPushButtonGadget includes behavior from XmGadget. XmPushButtonGadget includes menu traversal behavior from XmLabelGadget. Additional behavior for XmPushButtonGadget is described below:
In a menu, this action unposts any menus posted by the PushButtonGadget's parent menu, disables keyboard traversal for the menu, and enables mouse traversal for the menu. It draws the shadow in the armed state. Unless the button is already armed, it calls the XmNarmCallback callbacks.
If the button is not in a menu, this action draws the shadow in the armed state. If XmNfillOnArm is set to True, it fills the button with the color specified by XmNarmColor. If XmNlabelType is XmPIXMAP, the XmNarmPixmap is used for the button face. It calls the XmNarmCallback callbacks.
If XmNmultiClick is XmMULTICLICK_KEEP, this action does the following: Draws the shadow in the armed state. If the button is not in a menu and if XmNfillOnArm is set to True, fills the button with the color specified by XmNarmColor. If XmNlabelType is XmPIXMAP, the XmNarmPixmap is used for the button face. Calls the XmNarmCallback callbacks.
If the PushButtonGadget is not in a menu, this action draws the shadow in the unarmed state. If XmNfillOnArm is set to True, the background color reverts to the unarmed color. If XmNlabelType is XmPIXMAP, the XmNlabelPixmap is used for the button face. If the pointer is still within the button, this action calls the callbacks for XmNactivateCallback. Calls the callbacks for XmNdisarmCallback.
If XmNmultiClick is XmMULTICLICK_KEEP, this action does the following: Increments click_count in the callback structure. Draws the shadow in the unarmed state. If the button is not in a menu and if XmNfillOnArm is set to True, the background color reverts to the unarmed color. If XmNlabelType is XmPIXMAP, the XmNlabelPixmap is used for the button face. If the pointer is within the PushButtonGadget, calls the callbacks for XmNactivateCallback. Calls the callbacks for XmNdisarmCallback.
Outside a menu, does the following: Draws the shadow in the armed state and, if XmNfillOnArm is set to True, fills the button with the color specified by XmNarmColor. If XmNlabelType is XmPIXMAP, the XmNarmPixmap is used for the button face. Calls the XmNarmCallback callbacks.
Outside a menu, this action also arranges for the following to happen, either immediately or at a later time: The shadow is drawn in the unarmed state and, if XmNfillOnArm is set to True, the background color reverts to the unarmed color. If XmNlabelType is XmPIXMAP, the XmNlabelPixmap is used for the button face. The XmNactivateCallback and XmNdisarmCallback callbacks are called.
In a Popup MenuPane, unposts the menu and restores keyboard focus to the widget from which the menu was posted. For a PushButtonGadget outside of a menu, if the parent is a manger, this action passes the event to the parent.
If the PushButtonGadget is not in a menu and the cursor leaves and then reenters the PushButtonGadget while the button is pressed, this action draws the shadow in the armed state. If XmNfillOnArm is set to True, it also fills the button with the color specified by XmNarmColor. If XmNlabelType is XmPIXMAP, the XmNarmPixmap is used for the button face.
If the PushButtonGadget is not in a menu and the cursor leaves the PushButtonGadget while the button is pressed, this action draws the shadow in the unarmed state. If XmNfillOnArm is set to True, the background color reverts to the unarmed color. If XmNlabelType is XmPIXMAP, the XmNlabelPixmap is used for the button face.
The bindings for virtual keys are vendor specific. For information about bindings for virtual buttons and keys, see VirtualBindings(3X).
Object(3X), RectObj(3X), XmCreatePushButtonGadget(3X), XmGadget(3X), XmLabelGadget(3X), and XmRowColumn(3X).