XmToggleButtonGadget - The ToggleButtonGadget widget class
#include <Xm/ToggleBG.h>
ToggleButtonGadget sets nontransitory state data within an application. Usually this gadget consists of an indicator (square or diamond-shaped) with either text or a pixmap on one side of it. However, it can also consist of just text or a pixmap without the indicator.
The toggle graphics display a 1-of-many or N-of-many selection state. When a toggle indicator is displayed, a square indicator shows an N-of-many selection state and a diamond-shaped indicator shows a 1-of-many selection state.
ToggleButtonGadget implies a selected or unselected state. In the case of a label and an indicator, an empty indicator (square or diamond-shaped) indicates that ToggleButtonGadget is unselected, and a filled indicator shows that it is selected. In the case of a pixmap toggle, different pixmaps are used to display the selected/unselected states.
The default behavior associated with a ToggleButtonGadget in a menu depends on the type of menu system in which it resides. By default, BSelect controls the behavior of the ToggleButtonGadget. In addition, BMenu controls the behavior of the ToggleButtonGadget if it resides in a PopupMenu system. The actual mouse button used is determined by its RowColumn parent.
To accommodate the toggle indicator when created, Label's resource XmNmarginLeft may be increased.
ToggleButtonGadget inherits behavior and resources from Object, RectObj, XmGadget and XmLabelGadget classes.
The class pointer is xmToggleButtonGadgetClass.
The class name is XmToggleButtonGadget.
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).
Name | Class | Type | Default | Access |
---|---|---|---|---|
XmNarmCallback | XmCArmCallback | XtCallbackList | NULL | C |
XmNdisarmCallback | XmCDisarmCallback | XtCallbackList | NULL | C |
XmNfillOnSelect | XmCFillOnSelect | Boolean | dynamic | CSG |
XmNindicatorOn | XmCIndicatorOn | Boolean | True | CSG |
XmNindicatorSize | XmCIndicatorSize | Dimension | dynamic | CSG |
XmNindicatorType | XmCIndicatorType | unsigned char | dynamic | CSG |
XmNselectColor | XmCSelectColor | Pixel | dynamic | CSG |
XmNselectInsensitivePixmap | XmCSelectInsensitivePixmap | Pixmap | XmUNSPECIFIED_PIXMAP | CSG |
XmNselectPixmap | XmCSelectPixmap | Pixmap | XmUNSPECIFIED_PIXMAP | CSG |
XmNset | XmCSet | Boolean | False | CSG |
XmNspacing | XmCSpacing | Dimension | 4 | CSG |
XmNvalueChangedCallback | XmCValueChangedCallback | XtCallbackList | NULL | C |
XmNvisibleWhenOff | XmCVisibleWhenOff | Boolean | dynamic | CSG |
ToggleButtonGadget 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 | XmUNSPECIFIED_PIXMAP | 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 | 0 | 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 | dynamic | 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 set; } XmToggleButtonCallbackStruct;
XmToggleButtonGadget includes behavior from XmGadget. XmToggleButtonGadget includes menu traversal behavior from XmLabelGadget. Additional XmToggleButtonGadget behavior is described below:
Outside a menu, if the button was previously unset, this action does the following: If XmNindicatorOn is True, it draws the indicator shadow so that the indicator looks pressed; if XmNfillOnSelect is True, it fills the indicator with the color specified by XmNselectColor. If XmNindicatorOn is False, it draws the button shadow so that the button looks pressed. If XmNlabelType is XmPIXMAP, the XmNselectPixmap is used as the button face. Calls the XmNarmCallback callbacks.
Outside a menu, if the button was previously set, this action does the following: If both XmNindicatorOn and XmNvisibleWhenOff are True, it draws the indicator shadow so that the indicator looks raised; if XmNfillOnSelect is True, it fills the indicator with the background color. If XmNindicatorOn is False, it draws the button shadow so that the button looks raised. If XmNlabelType is XmPIXMAP, the XmNlabelPixmap is used as the button face. Calls the XmNarmCallback callbacks.
If the button is outside a menu and the pointer is within the button, this action does the following: If the button was previously unset, sets it; if the button was previously set, unsets it. Calls the XmNvalueChangedCallback callbacks.
If the button is outside a menu, calls the XmNdisarmCallback callbacks.
In a menu, does the following: Unposts all menus in the menu hierarchy. Unless the button is already armed, calls the XmNarmCallback callbacks. Calls the XmNvalueChangedCallback and XmNdisarmCallback callbacks.
Outside a menu, if the button was previously unset, this action does the following: If XmNindicatorOn is True, it draws the indicator shadow so that the indicator looks pressed; if XmNfillOnSelect is True, it fills the indicator with the color specified by XmNselectColor. If XmNindicatorOn is False, it draws the button shadow so that the button looks pressed. If XmNlabelType is XmPIXMAP, the XmNselectPixmap is used as the button face. Calls the XmNarmCallback, XmNvalueChangedCallback, XmNdisarmCallback callbacks.
Outside a menu, if the button was previously set, this action does the following: If both XmNindicatorOn and XmNvisibleWhenOff are True, it draws the indicator shadow so that the indicator looks raised; if XmNfillOnSelect is True, it fills the indicator with the background color. If XmNindicatorOn is False, it draws the button shadow so that the button looks raised. If XmNlabelType is XmPIXMAP, the XmNlabelPixmap is used as the button face. Calls the XmNarmCallback, XmNvalueChangedCallback, and XmNdisarmCallback callbacks.
In a Popup MenuPane, unposts the menu and restores keyboard focus to the widget from which the menu was posted.
If the ToggleButtonGadget is not in a menu and the cursor leaves and then reenters the ToggleButtonGadget while the button is pressed, this action restores the button's armed appearance.
If the ToggleButtonGadget is not in a menu and the cursor leaves the ToggleButtonGadget while the button is pressed, this action restores the button's unarmed appearance.
The bindings for virtual keys are vendor specific. For information about bindings for virtual buttons and keys, see VirtualBindings(3X).
Object(3X), RectObj(3X), XmCreateRadioBox(3X), XmCreateToggleButtonGadget(3X), XmGadget(3X), XmLabelGadget(3X), XmRowColumn(3X), XmToggleButtonGadgetGetState(3X), and XmToggleButtonGadgetSetState(3X).