FLAT EXCLUSIVES WIDGET(3W) — OLIT
WIDGET CLASS NAME
FlatExclusives
SYNOPSIS
#include <Intrinsic.h>
#include <StringDefs.h>
#include <OpenLook.h>
#include <FExclusive.h>
widget = XtCreateWidget(name, flatExclusivesWidgetClass, ...);
DESCRIPTION
Selection Control - One Set
In one mode operation (i.e., XtNnoneSet is FALSE), In one mode operation (i.e., XtNnoneSet is FALSE), exactly one sub-object in a FlatExclusives widget must be "set," i.e., the XtNset "set," i.e., the XtNset resource is TRUE for one of the sub-objects. A warning 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 its XtNunselectProc procedure is called and the sub-object under the pointer is made to be set and its XtNselectProc procedure is called. 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 In the other mode of operation (i.e., XtNnoneSet is TRUE), at most one sub-object 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 its XtNunselectProc procedure is called and the sub-object under the pointer is made to be set and its XtNselectProc procedure is called. 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 XtNselectProc procedure is called. its XtNselectProc 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.
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. 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 is not included in the XtNitemFields list, the application can query the value of any sub-object resource with OlFlatGetValues(). Flat Exclusives Resource Set
Name Type Default Access HXtNancestorSensitive Boolean TRUE G•
XtNbackground Pixel XtDefaultBackground SGI•
XtNbackgroundPixmap Pixmap None SGI•
XtNborderWidth Dimension 0 SGI•
XtNclientData XtPointer NULL SGI•
XtNdefault Boolean FALSE SGI†•
XtNdepth Cardinal (parent’s) GI
XtNdim Boolean FALSE SGI•
XtNfont XFontStruct ∗ (OPEN LOOK font) SI•
XtNfontColor Pixel XtDefaultForeground SGI•
XtNforeground Pixel XtDefaultForeground SGI
Flat Exclusives Resource Set
Name Type Default Access
XtNgravity int CenterGravity SGI
XtNhPad Dimension 0 SGI
XtNheight Dimension (calculated) SGI
XtNitemFields String ∗ NULL GI
XtNitems XtPointer NULL SGI
XtNitemsTouched Boolean FALSE SG
XtNlabel String NULL SGI•
XtNlabelImage XImage ∗ NULL SGI•
XtNlabelTile Boolean FALSE SGI•
XtNmanaged Boolean TRUE SGI XtNmappedWhenManaged Boolean TRUE SGI•
XtNmeasure int 1 SGI
Flat Exclusives Resource Set (cont)
Name Type Default Access
XtNnoneSet Boolean FALSE SGI XtNnumItemFields Cardinal 0 SGI
XtNnumItems Cardinal 0 SGI
XtNselectProc XtCallbackProc NULL SGI•
XtNsensitive Boolean TRUE SGI•
XtNset Boolean FALSE SGI†•
XtNunselectProc XtCallbackProc NULL SGI•
XtNuserData XtPointer NULL SGI•
XtNvPad Dimension 0 SGI
XtNwidth Dimension (calculated) SGI
XtNx Position 0 SGI
XtNy Position 0 SGI XtNancestorSensitive
Range of Values:
TRUE/"true"
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 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 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, 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"
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 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 default item, XtNdefault has a value of TRUE; else it has a value of FALSE. Setting this resource on the container widget 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 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 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"
TRUE/"true"
FALSE/"false"
If TRUE, the sub-object shows a dimmed visual 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. 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 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. XtNitemsTouched
Range of Values:
TRUE
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 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. sub-object. This resource is ignored if XtNlabel is non-NULL.
XtNlabelJustify
Range of Values:
OL_LEFT/"left"
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"
TRUE/"true"
FALSE/"false"
This resource augments the XtNlabelImage/XtNlabelPixmap 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; fill the sub-object’s background if this resource is TRUE; otherwise, the label is placed as described by the XtNlabelJustify resource. label is placed as described by the XtNlabelJustify resource. The XtNlabelTile resource is ignored for text labels. The XtNlabelTile resource is ignored for text labels. XtNmappedWhenManaged
Range of Values:
TRUE/"true"
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. container, so its default value is always TRUE. XtNnoneSet
Range of Values:
TRUE/"true"
TRUE/"true"
FALSE/"false"
This resource controls whether the settings can be toggled into an unset mode directly. If set to FALSE, exactly one 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 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. contained in XtNitemFields. XtNsameHeight
Range of Values:
OL_ALL/"all"
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_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:
TRUE/"true"
TRUE/"true"
FALSE/"false"
If TRUE, the sub-object is sensitive to user input. If If TRUE, the sub-object is sensitive to user input. If FALSE, the sub-object 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. container, so its default value is always TRUE. XtNset
Range of Values:
TRUE/"true"
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. default value is always FALSE.
Even if the application does not use XtNset in its item fields 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.
Sun Release 4.0 — Last change: 1/22/90