FlatCheckBox(3w) — OLIT Widget Set
NAME
FlatCheckBox − flat check box widget, from class FlatNonExclusives
SYNOPSIS
#include <X11/Intrinsic.h>
#include <X11/StringDefs.h>
#include <Xol/OpenLook.h>
#include <Xol/FCheckBox.h>
. . .
Widget my_flatcheckbox, my_parent;
String my_name;
ArgList args;
Cardinal num_args;
my_flatcheckbox = XtCreate( my_name, flatCheckBoxWidgetClass,
my_parent, args, num_args);
DESCRIPTION
The FlatCheckBox offers improved performance compared to a NonExclusives widget populated with CheckBox widgets.
Keyboard Traversal
The FlatCheckBox widget is a Primitive widget that manages the traversal between a set of sub-objects. When the user traverses to a FlatCheckBox widget, the first sub-object in the set will display itself as having input focus (see the CheckBox widget for a description of this appearance.)
The MOVEUP, MOVEDOWN, MOVERIGHT, and MOVELEFT keys move the input focus between the sub-objects. To traverse out of the FlatCheckbox widget, the following keys can be used:
—NEXT_FIELD moves to the next traversable widget in the window
—PREV_FIELD moves to the previous traversable widget in the window
—NEXTWINDOW moves to the next window in the application.
—PREVWINDOW moves to the previous window in the application.
—NEXTAPP moves to the first window in the next application.
—PREVAPP moves to the first window in the previous application.
Keyboard Operation
Flat CheckBox Activation Types
_
Activation Type Expected Results
=
OL_SELECTKEY
These controls have two
(When set, its border
Pres sing the SELECTKEY
will toggle the checkbox’s
If the control is
will call the XtNunselect
If the control is
will call the XtNselect
Display of Keyboard Mnemonic
The FlatCheckbox widget displays the mnemonic accelerator of a sub-object as part of the sub-object’s label. If the mnemonic character is in the label, then that character is highlighted according to the value returned by XtNshowMnemonics(). If the mnemonic character is not in the label, it is displayed to the right of the label in parentheses and highlighted according to the value returned by XtNshowMnemonics().
If truncation is necessary, the mnemonic displayed in parentheses is truncated as a unit.
Display of Keyboard Accelerators
The FlatCheckbox widget displays the keyboard accelerator as part of the sub-object’s label. The string in the XtNacceleratorText resource is displayed to the right of the label (or mnemonic) separated by at least one space. The acceleratorText is right justified.
If truncation is necessary, the accelerator is truncated as a unit. The accelerator is truncated before the mnemonic or the label.
Figure 1 FlatCheckBox Item
Figure 2 FlatCheckBox item
Figure 3 figures
Coloration
The FlatCheckBox container inherits its background color from the container’s parent widget. Setting the background color affects only the sub-objects’ background.
On a monochrome display, the FlatCheckBox widget indicates that it has input focus by inverting the foreground color and parent’s background colors within the bounding box of the first sub-object.
On color displays, when the FlatCheckBox widget receives the input focus, the background color within the bounding box of the first sub-object is changed to the input focus color set in the XtNinputFocusColor resource. When the FlatCheckBox sub-object loses the input focus, the background color reverts to its parent’s XtNbackground color or XtNbackgroundPixmap.
EXCEPTIONS:
—If the input focus color is the same as the parent’s background color, then the FlatCheckBox widget inverts the foreground and background colors of the sub-object when it has input focus.
—If the input focus color is the same as the font color or foreground color, then the FlatCheckBox widget inverts the foreground and background colors of the sub-object when it has input focus.
RESOURCES
Sub-object Resources
The following tables list the resources for the FlatExclusives. Resources marked by a bullet (•) denote sub-object resources. If these resources are not included in the XtNitemFields list, they are inherited from the container widget. An application can change the default values for sub-object resources by setting them on the container directly. Even though a sub-object resource is not included in the XtNitemFields list, the application can query the value of any sub-object resource with OlFlatGetValues().
Table 1 Flat CheckBox Resource Summary
Flat CheckBox Resource Set
Name Type Default Access
XtNaccelerator String NULL SGI
XtNacceleratorText String Dynamic SGI
XtNancestorSensitive Boolean TRUE G
XtNbackground Pixel XtDefaultBackground SGI
XtNbackgroundPixmap Pixmap None SGI
XtNborderWidth Dimension 0 SGI
XtNclientData XtPointer NULL SGI
XtNconsumeEvent XtCallbackList NULL SGI
XtNdepth Cardinal (parent’s) GI
XtNfont XFontStruct∗ (OPEN LOOK
XtNfontColor Pixel XtDefaultForeground SGI
XtNforeground Pixel XtDefaultForeground SGI
XtNgravity int CenterGravity SGI
XtNhPad Dimension 0 SGI
XtNhSpace Dimension (calculated) SGI
XtNheight Dimension (calculated) SGI
XtNinputFocusColor Pixel Red SGI
XtNitemFields String∗ NULL GI
XtNitemGravity int NorthWestGravity SGI
XtNitemMaxHeight Dimension OL_IGNORE SGI
XtNitemMaxWidth Dimension OL_IGNORE SGI
XtNitemMinHeight Dimension OL_IGNORE SGI
XtNitemMinWidth Dimension OL_IGNORE SGI
XtNitems XtPointer NULL SGI
XtNitemsTouched Boolean FALSE SG
XtNlabel String NULL SGI
XtNlabelImage XImage∗ NULL SGI
XtNlabelJustify OlDefine OL_LEFT SGI
XtNlabelTile Boolean FALSE SGI
XtNlayoutHeight OlDefine OL_MINIMIZE SGI
XtNlayoutType OlDefine OL_FIXEDROWS SGI
XtNlayoutWidth OlDefine OL_MINIMIZE SGI
XtNmanaged Boolean TRUE SGI
XtNmappedWhenManaged Boolean TRUE SGI
XtNmeasure int 1 SGI
XtNmnemonic unsigned char NULL
XtNnumItemFields Cardinal 0 SGI
XtNnumItems Cardinal 0 SGI
XtNposition OlDefine OL_LEFT SGI
XtNreferenceName String NULL SGI
XtNreferenceWidget Widget NULL SGI
XtNsameHeight OlDefine OL_ALL SGI
XtNsameWidth OlDefine OL_COLUMNS SGI
XtNselectProc XtCallbackProc NULL SGI
XtNsensitive Boolean TRUE SGI
XtNset Boolean FALSE SGI∗
XtNtraversalOn Boolean TRUE SGI
XtNunselectProc XtCallbackProc NULL SGI
XtNuserData XtPointer NULL SGI
XtNvPad Dimension 0 SGI
XtNvSpace Dimension (calculated) SGI
XtNwidth Dimension (calculated) SGI
XtNx Position 0 SGI
XtNy Position 0 SGI
Access:S = XtSetValues G = XtGetValues
I = init timeO = other access
• sub-object resources; see below
∗ not inherited from container
† see Resources(3W)
Flat CheckBox Resource Set
Name Type Default Access
=
XtNlayoutHeight OlDefine OL_MINIMIZE SGI
_
XtNlayoutType OlDefine OL_FIXEDROWS SGI
_
XtNlayoutWidth OlDefine OL_MINIMIZE SGI
_
XtNmanaged Boolean TRUE SGI
_
XtNmappedWhenManaged Boolean TRUE SGI
_
XtNmeasure int 1 SGI
_
XtNmnemonic unsigned char NULL
_
XtNnumItemFields Cardinal 0 SGI
_
XtNnumItems Cardinal 0 SGI
_
XtNposition OlDefine OL_LEFT SGI
_
XtNreferenceName String NULL SGI
_
XtNreferenceWidget Widget NULL SGI
_
XtNsameHeight OlDefine OL_ALL SGI
_
XtNsameWidth OlDefine OL_COLUMNS SGI
_
XtNselectProc XtCallbackProc NULL SGI
_
XtNsensitive Boolean TRUE SGI
_
XtNset Boolean FALSE SGI∗
_
XtNtraversalOn Boolean TRUE SGI
_
XtNunselectProc XtCallbackProc NULL SGI
_
XtNuserData XtPointer NULL SGI
_
XtNvPad Dimension 0 SGI
_
XtNvSpace Dimension (calculated) SGI
_
XtNwidth Dimension (calculated) SGI
_
XtNx Position 0 SGI
_
XtNy Position 0 SGI
Access:S = XtSetValues G = XtGetValues
I = init timeO = other access
• sub-object resources; see below
∗ not inherited from container
† see Resources(3W)
The resources marked with a bullet (•) in the preceding table are sub-object resources. If these resources are not included in the XtNitemFields list, they are inherited from the container widget. An application can change the default values for sub-object resources by setting them directly on the container. Even though a sub-object resource is not included in the XtNitemFields list, the application can query the value of any sub-object resource with OlFlatGetValues().
XtNancestorSensitive
class:XtCSensitivetype:Booleandefault:TRUETRUE’u’access:GG’u’
Action: indicates the sensitivity of the sub-object’s ancestors.
Values: TRUE/true – all the sub-object’s ancestors are sensitive and the sub-object is sensitive to user input. FALSE/false – one or more of the sub-object’s ancestors are insensitive, so the sub-object displays an inactive visual and is not sensitive to user input.
XtNbackground
class:XtCBackgroundtype:Pixeldefault:XtDefaultBackgroundXtDefaultBackground’u’access:SGISGI’u’
Action: sets the pixel color used to fill in the background of the check box.
XtNbackgroundPixmap
class:XtCBackgroundPixmaptype:Pixmapdefault:NoneNone’u’access:SGISGI’u’
Action: specifies the pixmap that is displayed as the sub-object’s label.
Any supplied pixmap must have the same depth as the flat widget’s depth. Pixmaps of None and ParentRelative are not considered valid values.
If either XtNlabel or XtNlabelImage has a non -NULL value, this resource is ignored.
XtNclientData
class:XtCClientDatatype:XtPointerdefault:NULLNULL’u’access:SGISGI’u’
Action: sets the client data supplied to all callback procedures.
XtNfont
class:XtCFonttype:XFontStruct∗default:OPEN LOOK fontOPEN LOOK font’u’access:SISI’u’
Action: displays the string specified by the XtNlabel resource.
XtNfontColor
class:XtCFontColortype:Pixeldefault:XtDefaultForegroundXtDefaultForeground’u’access:SGISGI’u’
Action: specifies the foreground color of the sub-object’s label, even if the label is an XImage.
XtNforeground
class:XtCForegroundtype:Pixeldefault:XtDefaultForegroundXtDefaultForeground’u’access:SGISGI’u’
Action: sets the pixel color used to draw check box and check.
XtNitems
class:XtCItemstype:XtPointerdefault:NULLNULL’u’access:SGISGI’u’
Action: provides the list of sub-object items. This value must point to a static list since flat containers reference this list after initialization but do not cache its information.
XtNitemFields
class:XtCItemFieldstype:String∗default:NULLNULL’u’access:GIGI’u’
Action: provides the list of resource names used to parse the records in the XtNitems list.
This resource does not have to point to static information since the flat container does not use this information after initialization. Though the flat container does not reference this resource’s value after initialization, it holds onto it for responding to an XtGetValues() request and supplying it in the OlFlatCallData structure during callbacks. Therefore, if the application plans on querying this resource, it is recommended that the application make this resource point to static information.
XtNitemsTouched
class:XtCItemsTouchedtype:Booleandefault:FALSEFALSE’u’access:SGSG’u’
Action: indicates whether visual needs updating.
Whenever the application modifies an item list directly, it must supply this resource with a value of TRUE to the flat widget container so that the container can update the visual. If the resource value is supplied, the flat widget container treats its current item list as a new list and hence, updates its entire visual. Since the list is treated as a new list, the flat container may request a change in geometry from its parent.
Note: It is not necessary to use this resource if the application modifies the list with the OlFlatSetValues procedure; nor is it necessary to use this resource whenever the application supplies a new list to the flat container.
Values: TRUE, FALSE
XtNlabel
class:XtCLabeltype:Stringdefault:NULLNULL’u’access:SGI•SGI•’u’ Action: sets the text string that appears in the sub-object.
XtNlabelImage
class:XtCLabelImagetype:XImage∗default:NULLNULL’u’access:SGISGI’u’
Action: an XImage pointer that can appear in a sub-object.
This resource is ignored if XtNlabel is non-NULL.
XtNlabelJustify
class:XtCLabelJustifytype:OlDefinedefault:OL_LEFTOL_LEFT’u’access:SGISGI’u’
Action: specifies the justification of the label or XImage that appears within a sub-object.
Values: OL_LEFT/left, OL_CENTER/center, OL_RIGHT/right
XtNlabelTile
class:XtCLabelTiletype:Booleandefault:FALSEFALSE’u’access:SGISGI’u’
Action: augments the XtNlabelImage/XtNlabelPixmap resource to allow tiling of the sub-object’s background.
Values: TRUE, FALSE
For an image or pixmap that is smaller than the sub-object’s background, the label area is tiled with the image/pixmap to fill the sub-object’s background if this resource is TRUE. Otherwise, the label is placed as described by the XtNlabelJustify resource.
The XtNlabelTile resource is ignored for text labels.
XtNmappedWhenManaged
class:XtCMappedWhenManagedtype:Booleandefault:TRUETRUE’u’access:SGISGI’u’
Action: specifies whether or not a managed sub-object is displayed
Note: This resource is never inherited from the container, so its default value is always TRUE
Values: TRUE/true, FALSE/false
Regardless of this resource’s value, all managed sub-objects will be included when determining the layout.
XtNnumItems
class:XtCNumItemstype:Cardinaldefault:00’u’access:SGISGI’u’
Action: specifies the number of sub-object items.
XtNnumItemFields
class:XtCNumItemFieldstype:Cardinaldefault:00’u’access:SGISGI’u’
Action: indicates the number of resource names contained in XtNitemFields
XtNposition
class:XtCPositiontype:OlDefinedefault:OL_LEFTOL_LEFT’u’access:SGISGI’u’
Action: determines on which side of the check box to place the label.
Values: OL_LEFT/left, OL_RIGHT/right
The value of OL_LEFT or OL_RIGHT indicates the label is placed to the left or to the right of the check box, respectively.
XtNsameHeight
class:XtCSameHeighttype:OlDefinedefault:OL_ALLOL_ALL’u’access:SGISGI’u’
Action: specifies the columns that are forced to the same width.
Values: OL_ALL/all, OL_COLUMNS/columns, OL_NONE/none
XtNselectProc
class:XtCCallbackProctype:XtCallbackProcdefault:NULLNULL’u’access:SGISGI’u’
Action: points to the callback procedure for the sub-object becoming selected by user input.
XtNsensitive
class:XtCSensitivetype:Booleandefault:TRUETRUE’u’access:SGISGI’u’
Action: indicates sensitivity to user input.
Values: TRUE/true – the sub-object is sensitive to user input. FALSE/false – the sub-object is insensitive to user input and an inactive visual is displayed to indicate this state.
Note: This resource is never inherited from the container, so its default value is always TRUE.
XtNset
class:XtCSettype:Booleandefault:FALSEFALSE’u’access:SGISGI’u’
Action: reflects the current state of the sub-object.
Values: TRUE/true, FALSE/false
Note: This resource is never inherited from the container, so its default value is always FALSE. Even if the application does not use XtNset in its item fields list, the container will correctly maintain the set item and the application can change the set item via OlFlatSetValues.
XtNunselectProc
class:XtCCallbackProctype:XtCallbackProcdefault:NULLNULL’u’access:SGISGI’u’
Action: specifies the callback for sub-object becoming unselected by user input.
Version 3.0 — Last change: 19 July 91