FlatExclusives(3W) UNIX System V FlatExclusives(3W)
NAME
FlatExclusives - allows the user to select one of a series of choices
SYNOPSIS
#include <Intrinsic.h>
#include <StringDefs.h>
#include <OpenLook.h>
#include <FExclusive.h>
widget = XtCreateWidget(name, flatExclusivesWidgetClass, ...);
DESCRIPTION
Figure 1. Flat Exclusives Widget
Selection Control - One Set
In one mode operation (i.e., XtNnoneSet is FALSE), exactly one sub-object
in a FlatExclusives widget must be "set," i.e., the XtNset resource is
TRUE for one of the sub-objects. A warning is generated if two or more
sub-objects are set. If no items are set, the FlatExclusives makes the
first sub-object that is both managed and mapped when managed be the set
item. No warning is produced in this case. The FlatExclusives maintains
this condition by ensuring that when a sub-object is set by the user
clicking SELECT over it, the sub-object that was set is cleared and its
XtNunselectProc procedure is called and the sub-object under the pointer
is made to be set and its XtNselectProc procedure is called. However,
clicking SELECT over a sub-object that is already set does nothing.
Selection Control - None Set
In the other mode of operation (i.e., XtNnoneSet is TRUE), at most one
sub-object in a FlatExclusives widget can be "set." A warning is
generated if two or more sub-objects are set. The FlatExclusives
maintains this condition by ensuring that when a sub-object is set by the
user clicking SELECT over it, the sub-object that was set is cleared and
its XtNunselectProc procedure is called and the sub-object under the
pointer is made to be set and its XtNselectProc procedure is called.
Clicking SELECT over a sub-object that is already set clears it and its
XtNunselectProc procedure is called.
Use in a Menu
The FlatExclusives widget can be added as child in a menu pane to
implement a one-of-many menu choice.
FlatExclusives Coloration
The FlatExclusives container inherits its background color from the
container's parent widget. Setting the background color affects only the
sub-objects' background.
Keyboard Traversal
The FlatExclusives widget is a Primitive widget that manages the
traversal between a set of sub-objects. When the user traverses to a
10/89 Page 1
FlatExclusives(3W) UNIX System V FlatExclusives(3W)
FlatExclusives widget, the first sub-object in the set will display
itself as having input focus (see the RectButton 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
FlatExclusives 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 Exclusives Activation Types |
|||
| Activation Type | Expected Results |
|||
| OLMENUDEFAULTKEY| If the FlatExclusives is on a |
| | menu, this command will set |
| | the item with focus to be |
| | menu's default; otherwise, |
| | this command is ignored. |
|||
| OLSELECTKEY | This command acts as if the |
| | SELECT mouse button had been |
| | clicked on the RectButton with|
| | focus. See "Selection |
| | Control" sections above. |
|||
RESOURCES
The following table lists the resources for the FlatExclusives.
Resources that have a bullet (⊕) in the Access column 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().
_____________________________________________________________________________________________________________
Flat Exclusives Resource Set
Page 2 10/89
FlatExclusives(3W) UNIX System V FlatExclusives(3W)
_____________________________________________________________________________________________________________
| Flat Exclusives Resource Set |
|_____________________|_____________________|_______________|____________________|___________________________|
| Name | Class | Type | Default | Access |
||||||
|_____________________|_____________________|_______________|____________________|___________________________|
| Name | Class | Type | Default | Access |
||||||
XtNaccelerator XtCAccelerator String NULL SGI⊕
_____________________________________________________________________________________________________________
XtNacceleratorText XtCAcceleratorText String Dynamic SGI⊕
_____________________________________________________________________________________________________________
XtNancestorSensitive XtCSensitive Boolean TRUE G⊕
_____________________________________________________________________________________________________________
XtNbackground XtCBackground Pixel XtDefaultBackground SGI⊕
_____________________________________________________________________________________________________________
XtNbackgroundPixmap XtCBackgroundPixmap Pixmap None SGI⊕
_____________________________________________________________________________________________________________
XtNborderWidth XtCBorderWidth Dimension 0 SGI⊕
_____________________________________________________________________________________________________________
XtNclientData XtCClientData XtPointer NULL SGI⊕
_____________________________________________________________________________________________________________
XtNconsumeEvent XtCConsumeEvent XtCallbackList NULL SGI
_____________________________________________________________________________________________________________
XtNdefault XtCDefault Boolean FALSE SGI†⊕
_____________________________________________________________________________________________________________
XtNdepth XtCDepth Cardinal (parent's) GI
_____________________________________________________________________________________________________________
XtNdim XtCDim Boolean FALSE SGI⊕
_____________________________________________________________________________________________________________
XtNfont XtCFont XFontStruct * (OPEN LOOK font) SI⊕
_____________________________________________________________________________________________________________
XtNfontColor XtCFontColor Pixel XtDefaultForeground SGI⊕
_____________________________________________________________________________________________________________
XtNforeground XtCForeground Pixel XtDefaultForeground SGI
_____________________________________________________________________________________________________________
XtNgravity XtCGravity int CenterGravity SGI
_____________________________________________________________________________________________________________
XtNinputFocusColor XtCInputFocusColor Pixel Black SGI⊕
_____________________________________________________________________________________________________________
XtNhPad XtCHPad Dimension 0 SGI
_____________________________________________________________________________________________________________
XtNheight XtCHeight Dimension (calculated) SGI
_____________________________________________________________________________________________________________
XtNitemFields XtCItemFields String * NULL GI
_____________________________________________________________________________________________________________
XtNitemMaxHeight XtCItemMaxHeight Dimension OL_IGNORE SGI
_____________________________________________________________________________________________________________
XtNitemMaxWidth XtCItemMaxWidth Dimension OL_IGNORE SGI
_____________________________________________________________________________________________________________
XtNitemMinHeight XtCItemMinHeight Dimension OL_IGNORE SGI
_____________________________________________________________________________________________________________
10/89 Page 3
FlatExclusives(3W) UNIX System V FlatExclusives(3W)
_____________________________________________________________________________________________________________
| Flat Exclusives Resource Set |
|_____________________|_____________________|_______________|____________________|___________________________|
| Name | Class | Type | Default | Access |
||||||
XtNitemMinWidth XtCItemMinWidth Dimension OL_IGNORE SGI
_____________________________________________________________________________________________________________
XtNitems XtCItems XtPointer NULL SGI
_____________________________________________________________________________________________________________
XtNitemsTouched XtCItemsTouched Boolean FALSE SG
_____________________________________________________________________________________________________________
XtNlabel XtCLabel String NULL SGI⊕
_____________________________________________________________________________________________________________
XtNlabelImage XtCLabelImage XImage * NULL SGI⊕
_____________________________________________________________________________________________________________
XtNlabelJustify XtCLabelJustify OlDefine OL_LEFT SGI⊕
_____________________________________________________________________________________________________________
XtNlabelTile XtCLabelTile Boolean FALSE SGI⊕
_____________________________________________________________________________________________________________
XtNlayoutHeight XtCLayoutHeight OlDefine OL_MINIMIZE SGI
_____________________________________________________________________________________________________________
XtNlayoutType XtCLayoutType OlDefine OL_FIXEDROWS SGI
_____________________________________________________________________________________________________________
XtNlayoutWidth XtCLayoutWidth OlDefine OL_MINIMIZE SGI
_____________________________________________________________________________________________________________
XtNmanaged XtCManaged Boolean TRUE SGI
_____________________________________________________________________________________________________________
XtNmappedWhenManaged XtCMappedWhenManaged Boolean TRUE SGI⊕
_____________________________________________________________________________________________________________
XtNmeasure XtCMeasure int 1 SGI
_____________________________________________________________________________________________________________
XtNmnemonic XtCMnemonic unsigned char NULL SGI⊕
_____________________________________________________________________________________________________________
XtNnoneSet XtCNoneSet Boolean FALSE SGI
_____________________________________________________________________________________________________________
XtNnumItemFields XtCNumItemFields Cardinal 0 SGI
_____________________________________________________________________________________________________________
XtNnumItems XtCNumItems Cardinal 0 SGI
_____________________________________________________________________________________________________________
XtNreferenceName XtCReferenceName String NULL SGI
_____________________________________________________________________________________________________________
XtNreferenceWidget XtCReferenceWidget Widget NULL SGI
_____________________________________________________________________________________________________________
XtNsameHeight XtCSameHeight OlDefine OL_ALL SGI
_____________________________________________________________________________________________________________
XtNsameWidth XtCSameWidth OlDefine OL_COLUMNS SGI
_____________________________________________________________________________________________________________
XtNselectProc XtCCallbackProc XtCallbackProc NULL SGI⊕
_____________________________________________________________________________________________________________
XtNsensitive XtCSensitive Boolean TRUE SGI⊕
_____________________________________________________________________________________________________________
XtNset XtCSet Boolean FALSE SGI†⊕
Page 4 10/89
FlatExclusives(3W) UNIX System V FlatExclusives(3W)
_____________________________________________________________________________________________________________
| Flat Exclusives Resource Set |
|_____________________|_____________________|_______________|____________________|___________________________|
| Name | Class | Type | Default | Access |
||||||
|_____________________|_____________________|_______________|____________________|___________________________|
| XtNtraversalOn | XtCTraversalOn | Boolean | TRUE | SGI⊕ |
|_____________________|_____________________|_______________|____________________|___________________________|
| XtNunselectProc | XtCCallbackProc | XtCallbackProc| NULL | SGI⊕ |
|_____________________|_____________________|_______________|____________________|___________________________|
| XtNuserData | XtCUserData | XtPointer | NULL | SGI⊕ |
|_____________________|_____________________|_______________|____________________|___________________________|
| XtNvPad | XtCVPad | Dimension | 0 | SGI |
|_____________________|_____________________|_______________|____________________|___________________________|
| XtNwidth | XtCWidth | Dimension | (calculated) | SGI |
|_____________________|_____________________|_______________|____________________|___________________________|
| XtNx | XtCPosition | Position | 0 | SGI |
|_____________________|_____________________|_______________|____________________|___________________________|
| XtNy | XtCPosition | Position | 0 | SGI |
|_____________________|_____________________|_______________|____________________|___________________________|
XtNancestorSensitive
Range of Values:
TRUE/"true"
FALSE/"false"
This resource indicates the sensitivity of the sub-object's ancestors.
If TRUE, all the sub-object's ancestors are sensitive and the sub-object
is sensitive to user input. If 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
This is the pixel color used to fill in the background of the sub-object.
XtNbackgroundPixmap
This resource 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
This is the client data supplied to all callback procedures.
XtNdefault
Range of Values:
TRUE/"true"
FALSE/"false"
When used on the sub-object, this resource specifies whether or not the
sub-object is a default item. If more than one item is a set as a
10/89 Page 5
FlatExclusives(3W) UNIX System V FlatExclusives(3W)
default item, a warning is generated and all but the first default item
is unselected.
When used on the container, this resource indicates whether or not one of
the sub-objects is a default item. If a sub-object is a default item,
XtNdefault has a value of TRUE; else it has a value of FALSE. Setting
this resource on the container widget indicates whether or not one of the
sub-objects should be a default item. If the application sets this value
to TRUE on the container, the container will set the first managed and
mapped sub-object as the default item if a default item does not exist.
If the application sets this value to FALSE, the container will unset its
default item if one exists.
Even if the application does not use XtNdefault in its item fields list,
the container will correctly maintain the default item and the
application can change the default item via OlFlatSetValues.
XtNdim
Range of Values:
TRUE/"true"
FALSE/"false"
If TRUE, the sub-object shows a dimmed visual indicating that the item
represents the state of one or more objects, that as a group, are in
different states.
XtNfont
This resource displays the string specified by the XtNlabel resource.
XtNfontColor
This resource specifies the foreground color of the sub-object's label,
even if the label is an XImage.
XtNforeground
This is the pixel color used when drawing the sub-object's outline.
XtNitems
This is 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
This is 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's recommended that the application make this resource point
to static information.
Page 6 10/89
FlatExclusives(3W) UNIX System V FlatExclusives(3W)
XtNitemsTouched
Range of Values:
TRUE
FALSE
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.
XtNlabel
This is the text string that appears in the sub-object.
XtNlabelImage
This is an XImage pointer that can appear in a sub-object. This resource
is ignored if XtNlabel is non-NULL.
XtNlabelJustify
Range of Values:
OL_LEFT/"left"
OL_CENTER/"center"
OL_RIGHT/"right"
This resource specifies the justification of the label or XImage that
appears within a sub-object.
XtNlabelTile
Range of Values:
TRUE/"true"
FALSE/"false"
This resource augments the XtNlabelImage/XtNlabelPixmap resource to allow
tiling of the sub-object's background. For an image/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
Range of Values:
10/89 Page 7
FlatExclusives(3W) UNIX System V FlatExclusives(3W)
TRUE/"true"
FALSE/"false"
This resource specifies whether or not a managed sub-object is displayed.
Regardless of this resource's value, all managed sub-objects will be
including when determining the layout.
Note:
This resource is never inherited from the container, so its default value
is always TRUE.
XtNnoneSet
Range of Values:
TRUE/"true"
FALSE/"false"
This resource controls whether the settings can be toggled into an unset
mode directly. If set to FALSE, exactly one sub-object must be in the
set state always. Attempting to select the currently set sub-object does
nothing. If set to TRUE, no more than one sub-object can be set at any
time. However, the user can select the currently set sub-object and
toggle it back to an unset state.
XtNnumItems
This resource specifies the number of sub-object items.
XtNnumItemFields
This resource indicates the number of resource names contained in
XtNitemFields.
XtNsameHeight
Range of Values:
OL_ALL/"all"
OL_ROWS/"rows"
This resource specifies the rows that are forced to the same height.
XtNsameWidth
Range of Values:
OL_ALL/"all"
OL_COLUMNS/"columns"
This resource specifies the columns that are forced to the same width.
XtNselectProc
This callback procedure is called whenever the sub-object becomes
selected by user input.
XtNsensitive
Range of Values:
Page 8 10/89
FlatExclusives(3W) UNIX System V FlatExclusives(3W)
TRUE/"true"
FALSE/"false"
If TRUE, the sub-object is sensitive to user input. If 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
Range of Values:
TRUE/"true"
FALSE/"false"
This resource reflects the current state of the sub-object.
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
This callback procedure is called whenever the sub-object becomes
unselected by user input.
10/89 Page 9