Content-type: text/html
XmToggleButton - The ToggleButton widget class
#include <Xm/ToggleB.h>
ToggleButton sets nontransitory state data within an application. Usually this widget consists of an indicator (square or diamond) 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 indicator shows a 1-of-many selection state.
ToggleButton implies a selected or unselected state. In the case of a label and an indicator, an empty indicator (square or diamond shaped) indicates that ToggleButton 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 ToggleButton in a menu depends on the type of menu system in which it resides. By default, BSelect controls the behavior of the ToggleButton. In addition, BMenu controls the behavior of the ToggleButton 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.
ToggleButton inherits behavior and resources from Core, XmPrimitive, and XmLabel Classes.
The class pointer is xmToggleButtonWidgetClass.
The class name is XmToggleButton.
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).
XmToggleButton Resource Set
Class: XmCArmCallback Default: NULL Type: XtCallbackList Access: C Class: XmCDisarmCallback Default: NULL Type: XtCallbackList Access: C Class: XmCFillOnSelect Default: dynamic Type: Boolean Access: CSG Class: XmCIndicatorOn Default: True Type: Boolean Access: CSG Class: XmCIndicatorSize Default: dynamic Type: Dimension Access: CSG Class: XmCIndicatorType Default: dynamic Type: unsigned char Access: CSG Class: XmCSelectColor Default: dynamic Type: Pixel Access: CSG Class: XmCSelectInsensitivePixmap Default: XmUNSPECIFIED_PIXMAP Type: Pixmap Access: CSG Class: XmCSelectPixmap Default: XmUNSPECIFIED_PIXMAP Type: Pixmap Access: CSG Class: XmCSet Default: False Type: Boolean Access: CSG Class: XmCSpacing Default: 4 Type: Dimension Access: CSG Class: XmCValueChangedCallback Default: NULL Type: XtCallbackList Access: C Class: XmCVisibleWhenOff Default: dynamic Type: Boolean Access: CSG
ToggleButton inherits behavior and resources from the following superclasses. For a complete description of each resource, refer to the man page for that superclass.
XmLabel Resource Set
Class: XmCAccelerator Default: NULL Type: String Access: CSG Class: XmCAcceleratorText Default: NULL Type: XmString Access: CSG Class: XmCAlignment Default: dynamic Type: unsigned char Access: CSG Class: XmCFontList Default: dynamic Type: XmFontList Access: CSG Class: XmCLabelInsensitivePixmap Default: XmUNSPECIFIED_PIXMAP Type: Pixmap Access: CSG Class: XmCLabelPixmap Default: XmUNSPECIFIED_PIXMAP Type: Pixmap Access: CSG Class: XmCXmString Default: dynamic Type: XmString Access: CSG Class: XmCLabelType Default: XmSTRING Type: unsigned char Access: CSG Class: XmCMarginBottom Default: dynamic Type: Dimension Access: CSG Class: XmCMarginHeight Default: 2 Type: Dimension Access: CSG Class: XmCMarginLeft Default: dynamic Type: Dimension Access: CSG Class: XmCMarginRight Default: 0 Type: Dimension Access: CSG Class: XmCMarginTop Default: dynamic Type: Dimension Access: CSG Class: XmCMarginWidth Default: 2 Type: Dimension Access: CSG Class: XmCMnemonic Default: NULL Type: KeySym Access: CSG Class: XmCMnemonicCharSet Default: XmFONTLIST_DEFAULT_TAG Type: String Access: CSG Class: XmCRecomputeSize Default: True Type: Boolean Access: CSG Class: XmCStringDirection Default: dynamic Type: XmStringDirection Access: CSG
XmPrimitive Resource Set
Class: XmCBottomShadowColor Default: dynamic Type: Pixel Access: CSG Class: XmCBottomShadowPixmap Default: XmUNSPECIFIED_PIXMAP Type: Pixmap Access: CSG Class: XmCForeground Default: dynamic Type: Pixel Access: CSG Class: XmCCallback Default: NULL Type: XtCallbackList Access: C Class: XmCHighlightColor Default: dynamic Type: Pixel Access: CSG Class: XmCHighlightOnEnter Default: False Type: Boolean Access: CSG Class: XmCHighlightPixmap Default: dynamic Type: Pixmap Access: CSG Class: XmCHighlightThickness Default: 2 Type: Dimension Access: CSG Class: XmCNavigationType Default: XmNONE Type: XmNavigationType Access: CSG Class: XmCShadowThickness Default: dynamic Type: Dimension Access: CSG Class: XmCTopShadowColor Default: dynamic Type: Pixel Access: CSG Class: XmCTopShadowPixmap Default: dynamic Type: Pixmap Access: CSG Class: XmCTraversalOn Default: True Type: Boolean Access: CSG Class: XmCUnitType Default: dynamic Type: unsigned char Access: CSG Class: XmCUserData Default: NULL Type: XtPointer Access: CSG
Core Resource Set
Class: XmCAccelerators Default: dynamic Type: XtAccelerators Access: CSG Class: XmCSensitive Default: dynamic Type: Boolean Access: G Class: XmCBackground Default: dynamic Type: Pixel Access: CSG Class: XmCPixmap Default: XmUNSPECIFIED_PIXMAP Type: Pixmap Access: CSG Class: XmCBorderColor Default: XtDefaultForeground Type: Pixel Access: CSG Class: XmCPixmap Default: XmUNSPECIFIED_PIXMAP Type: Pixmap Access: CSG Class: XmCBorderWidth Default: 0 Type: Dimension Access: CSG Class: XmCColormap Default: dynamic Type: Colormap Access: CG Class: XmCDepth Default: dynamic Type: int Access: CG Class: XmCCallback Default: NULL Type: XtCallbackList Access: C Class: XmCHeight Default: dynamic Type: Dimension Access: CSG Class: XmCInitialResourcesPersistent Default: True Type: Boolean Access: C Class: XmCMappedWhenManaged Default: True Type: Boolean Access: CSG Class: XmCScreen Default: dynamic Type: Screen * Access: CG Class: XmCSensitive Default: True Type: Boolean Access: CSG Class: XmCTranslations Default: dynamic Type: XtTranslations Access: CSG Class: XmCWidth Default: dynamic Type: Dimension Access: CSG Class: XmCPosition Default: 0 Type: Position Access: CSG Class: XmCPosition Default: 0 Type: Position Access: CSG
A pointer to the following structure is passed to each callback:
typedef struct
{
int reason;
XEvent * event;
int set;
} XmToggleButtonCallbackStruct;
Indicates why the callback was invoked
Points to the XEvent that triggered the
callback
Reflects the ToggleButton's current state when the callback
occurred, either True (selected) or False (unselected)
XmToggleButton includes translations from Primitive. Additional XmToggleButton translations for buttons not in a menu system are listed below. These translations may not directly correspond to a translation table.
Note that altering translations in #override or #augment mode is undefined.
BDragPress: ProcessDrag()
BSelect Press: Arm()
BSelect Release:Select()
Disarm()
KHelp: Help()
KSelect: ArmAndActivate()
XmToggleButton inherits menu traversal translations from XmLabel. Additional XmToggleButton translations for ToggleButtons in a menu system are listed below. In a Popup menu system, BMenu also performs the BSelect actions. These translations may not directly correspond to a translation table. BSelect Press: BtnDown() BSelect Release:BtnUp() KHelp: Help() KActivate: ArmAndActivate() KSelect: ArmAndActivate() MAny KCancel: MenuShellPopdownOne()
The XmToggleButton action routines are described below: 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.
This widget has the additional behavior described below: In a menu, if keyboard traversal is enabled, this action does nothing. Otherwise, it draws the shadow in the armed state and calls the XmNarmCallback callbacks.
The bindings for virtual keys are vendor specific. For information about
bindings for virtual buttons and keys, see
VirtualBindings(3X).
Core(3X), XmCreateRadioBox(3X), XmCreateToggleButton(3X), XmLabel(3X), XmPrimitive(3X), XmRowColumn(3X), XmToggleButtonGetState(3X), XmToggleButtonSetState(3X)