The PushButtonGadget widget class
Format
#include <Xm/PushBG.h>
DESCRIPTION
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, Btn1 controls the behavior of the PushButtonGadget. In addition, Btn3 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 with the XmNshowAsDefault resource. If it has a nonzero value, the Label's XmNmarginLeft, XmNmarginRight, XmNmarginTop, and XmNmarginBottom resources 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 uses the XmQTmenuSystem and XmQTspecifyRenderTable traits, and holds the XmQactivatable, XmQTmenuSavvy, and XmQTtakesDefault traits.
PushButtonGadget inherits behavior, resources, and traits from Object, RectObj, XmGadget and XmLabelGadget.
The class pointer is xmPushButtonGadgetClass.
The class name is XmPushButtonGadget.
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).
XmPushButtonGadget Resource Set | ||||
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 superclasses described in the following tables. For a complete description of each resource, refer to the reference page for that superclass.
XmLabelGadget 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 | 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 |
XmNrenderTable | XmCRenderTable | XmRenderTable | dynamic | CSG |
XmNstringDirection | XmCStringDirection | XmStringDirection | dynamic | CSG |
XmGadget Resource Set | ||||
Name | Class | Type | Default | Access |
XmNbackground | XmCBackground | Pixel | dynamic | CSG |
XmNbackgroundPixmap | XmCPixmap | Pixmap | XmUNSPECIFIED_PIXMAP | CSG |
XmNbottomShadowColor | XmCBottomShadowColor | Pixel | dynamic | CSG |
XmNbottomShadowPixmap | XmCBottomShadowPixmap | Pixmap | dynamic | CSG |
XmNhelpCallback | XmCCallback | XtCallbackList | NULL | C |
XmNforeground | XmCForeground | Pixel | dynamic | CSG |
XmNhighlightColor | XmCHighlightColor | Pixel | dynamic | CSG |
XmNhighlightOnEnter | XmCHighlightOnEnter | Boolean | False | CSG |
XmNhighlightPixmap | XmCHighlightPixmap | Pixmap | dynamic | CSG |
XmNhighlightThickness | XmCHighlightThickness | Dimension | 2 | CSG |
XmNlayoutDirection | XmNCLayoutDirection | XmDirection | dynamic | CG |
XmNnavigationType | XmCNavigationType | XmNavigationType | XmNONE | CSG |
XmNshadowThickness | XmCShadowThickness | Dimension | 2 | CSG |
XmNtopShadowColor | XmCTopShadowColor | Pixel | dynamic | CSG |
XmNtopShadowPixmap | XmCTopShadowPixmap | Pixmap | dynamic | CSG |
XmNtraversalOn | XmCTraversalOn | Boolean | True | CSG |
XmNunitType | XmCUnitType | unsigned char | dynamic | CSG |
XmNuserData | XmCUserData | XtPointer | NULL | CSG |
RectObj Resource Set | ||||
Name | Class | Type | Default | Access |
XmNancestorSensitive | XmCSensitive | Boolean | dynamic | G |
XmNborderWidth | XmCBorderWidth | Dimension | 0 | N/A |
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 |
Object Resource Set | ||||
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 in the following list.
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 draws the shadow in the armed state. If the button is not in a menu and 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. This action 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 and XmNdisarmCallback.
If XmNmultiClick is XmMULTICLICK_KEEP, this action increments click_count in the callback structure and 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, XmNlabelPixmap is used for the button face. If the pointer is within the PushButtonGadget, this action calls the callbacks for XmNactivateCallback and XmNdisarmCallback.
Outside a menu, this action 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, XmNarmPixmap is used for the button face. This action 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 (3).
RELATED
Object (3), RectObj (3), XmCreatePushButtonGadget (3), XmGadget (3), XmLabelGadget (3), and XmRowColumn (3).