'\"!  tbl | tbl | tbl | tbl | tbl | tbl | tbl | tbl | tbl | tbl | mmdoc
'\"macro stdmacro
.if n .pH g3w.olFlatNxclus @(#)olFlatNxclus	40.2 of 1/8/90
.SO BP.HEADER
.nr X
.if \nX=0 .ds x} ""FLAT NONEXCLUSIVES WIDGET" 3W "\&"
.if \nX=1 .ds x} ""FLAT NONEXCLUSIVES WIDGET" 3W
.if \nX=2 .ds x} ""FLAT NONEXCLUSIVES "" "\&"
.if \nX=3 .ds x} ""FLAT "" "" "\&"
.TH \*(x}
.SH "WIDGET CLASS NAME"
\fBFlatNonexclusives\fP
.sp
.SH "SYNOPSIS"
.ft CW
.nf
#include <Intrinsic.h>
#include <StringDefs.h>
#include <OpenLook.h>
#include <FNonexclus.h>

widget = XtCreateWidget(\fBname\fP, flatNonexclusivesWidgetClass, ...);
.fi
.ft P
.sp
.SH "DESCRIPTION"
.sp
\fBDefault Spacing\fP
.sp
The default spacing between items is 50% of the prevailing point size
for the container's font.
.br
.ne 3.5i
.BP PSART/ps.nonex1
.P
.ce
\f3Figure 1.\f1  Example of Flat Nonexclusive Buttons
.sp
\fBUse in a Menu\fP
.sp
The \fBFlatNonexclusives\fP can be added as child in a menu pane to
implement a several-of-many menu choice.
.bp
\fBFlatNonexclusives Coloration\fP
.P
The \fBFlatNonexclusives\fP container inherits its background color 
from the container's parent widget.  Setting
the background color affects only the sub-objects' background. 
.P
.SH "RESOURCES"
.P
The following table lists the resources for the \fBFlatNonexclusives\fP.
Resources that have a bullet (\(bu) in the \fBAccess\fP
column denote sub-object resources.  If these resources are not included
in the \f(CWXtNitemFields\fP 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 \f(CWXtNitemFields\fP list, the application can query the
value of any sub-object resource with \fBOlFlatGetValues()\fP.
.TS
expand, box;
cb s s s s 
lbp-2|lbp-2|lbp-2|lbp-2|cbp-2 
lp-2|lp-2|lp-2|lp-2|lp-2.
Flat Nonexclusives Resource Set
_
Name	Class	Type	Default	Access
=
XtNancestorSensitive	XtCSensitive	Boolean	TRUE	G\(bu
_
XtNbackground	XtCBackground	Pixel	XtDefaultBackground	SGI\(bu
_
XtNbackgroundPixmap	XtCBackgroundPixmap	Pixmap	None	SGI\(bu
_
XtNborderWidth	XtCBorderWidth	Dimension	0	SGI\(bu
_
XtNclientData	XtCClientData	XtPointer	NULL	SGI\(bu
_
XtNdefault	XtCDefault	Boolean	FALSE	SGI\(dg\(bu
_
XtNdepth	XtCDepth	Cardinal	(parent's)	GI
_
XtNdim	XtCDim	Boolean	FALSE	SGI\(bu
_
XtNfont	XtCFont	XFontStruct *	(OPEN LOOK font)	SI\(bu
_
XtNfontColor	XtCFontColor	Pixel	XtDefaultForeground	SGI\(bu
_
XtNforeground	XtCForeground	Pixel	XtDefaultForeground	SGI
_
XtNgravity	XtCGravity	int	CenterGravity	SGI
_
XtNhPad	XtCHPad	Dimension	0	SGI
_
XtNhSpace	XtCHSpace	Dimension	(calculated)	SGI
_
XtNheight	XtCHeight	Dimension	(calculated)	SGI
_
XtNitemFields	XtCItemFields	String *	NULL	GI
_
XtNitemGravity	XtCItemGravity	int	NorthWestGravity	SGI
_
XtNitemMaxHeight	XtCItemMaxHeight	Dimension	OL_IGNORE	SGI
_
XtNitemMaxWidth	XtCItemMaxWidth	Dimension	OL_IGNORE	SGI
_
XtNitemMinHeight	XtCItemMinHeight	Dimension	OL_IGNORE	SGI
_
XtNitemMinWidth	XtCItemMinWidth	Dimension	OL_IGNORE	SGI
_
XtNitems	XtCItems	XtPointer	NULL	SGI
_
XtNitemsTouched	XtCItemsTouched	Boolean	FALSE	SG
_
XtNlabel	XtCLabel	String	NULL	SGI\(bu
_
XtNlabelImage	XtCLabelImage	XImage *	NULL	SGI\(bu
.TE
.bp
.TS
expand, box;
cb s s s s
lbp-2|lbp-2|lbp-2|lbp-2|cbp-2 
lp-2|lp-2|lp-2|lp-2|lp-2.
Flat Nonexclusives Resource Set (cont.)
_
Name	Class	Type	Default	Access
=
XtNlabelJustify	XtCLabelJustify	OlDefine	OL_LEFT	SGI\(bu
_
XtNlabelTile	XtCLabelTile	Boolean	FALSE	SGI\(bu
_
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\(bu
_
XtNmeasure	XtCMeasure	int	1	SGI
_
XtNnumItemFields	XtCNumItemFields	Cardinal	0	SGI
_
XtNnumItems	XtCNumItems	Cardinal	0	SGI
_
XtNsameHeight	XtCSameHeight	OlDefine	OL_ALL	SGI
_
XtNsameWidth	XtCSameWidth	OlDefine	OL_COLUMNS	SGI
_
XtNselectProc	XtCCallbackProc	XtCallbackProc	NULL	SGI\(bu
_
XtNsensitive	XtCSensitive	Boolean	TRUE	SGI\(bu
_
XtNset	XtCSet	Boolean	FALSE	SGI\(dg\(bu
_
XtNunselectProc	XtCCallbackProc	XtCallbackProc	NULL	SGI\(bu
_
XtNuserData	XtCUserData	XtPointer	NULL	SGI\(bu
_
XtNvPad	XtCVPad	Dimension	0	SGI
_
XtNvSpace	XtCVSpace	Dimension	(calculated)	SGI
_
XtNwidth	XtCWidth	Dimension	(calculated)	SGI
_
XtNx	XtCPosition	Position	0	SGI
_
XtNy	XtCPosition	Position	0	SGI
.TE
.sp
\fBXtNancestorSensitive\fP
.P
Range of Values:
.nf
	\f(CWTRUE/"true"
	FALSE/"false"\fP
.fi
.sp
This resource indicates the sensitivity of the sub-object's ancestors.
If \f(CWTRUE\fP, all the sub-object's ancestors are sensitive and the
sub-object is sensitive to user input. If \f(CWFALSE\fP, 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.
.sp
\fBXtNbackground\fP
.P
This is the pixel color used to fill in the background of the sub-object.
.sp
\fBXtNbackgroundPixmap\fP
.P
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 \fBNone\fP and
\fBParentRelative\fP are not considered valid values.  If
either \f(CWXtNlabel\fP or \f(CWXtNlabelImage\fP has a non-NULL value,
this resource is ignored.
.bp
\fBXtNclientData\fP
.P
This is the client data supplied to all callback procedures.
.sp
\fBXtNdefault\fP
.P
Range of Values:
.nf
	\f(CWTRUE/"true"
	FALSE/"false"\fP
.fi
.sp
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.
.P
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, \f(CWXtNdefault\fP has a value of \f(CWTRUE\fP; else 
it has a value of
\f(CWFALSE\fP.  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 \f(CWTRUE\fP 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 \f(CWFALSE\fP, the container will unset its default
item if one exists.
.P
Even if the application does not use \f(CWXtNdefault\fP in its item fields
list, the container will correctly maintain the default item and the
application can change the default item via \f3OlFlatSetValues\f1.
.sp
\fBXtNdim\fP
.P
Range of Values:
.nf
	\f(CWTRUE/"true"
	FALSE/"false"\fP
.fi
.sp
If \f(CWTRUE\fP, 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.
.sp
\fBXtNfont\fP
.P
This resource displays the string specified by the \f(CWXtNlabel\fP resource.
.sp
\fBXtNfontColor\fP
.P
This resource specifies the foreground color of the sub-object's label, even
if the label is an \fBXImage\fP. 
.sp
\fBXtNforeground\fP
.P
This is the pixel color used when drawing the sub-object's outline.
.sp
\fBXtNitems\fP
.P
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. 
.bp
\fBXtNitemFields\fP
.P
This is the list of resource names used to parse the records in the
\f(CWXtNitems\fP 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 \f3XtGetValues()\f1 request and supplying it in the
\fBOlFlatCallData\fP 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.
.sp
\fBXtNitemsTouched\fP
.P
.nf
Range of Values:
	\f(CWTRUE
	FALSE\fP
.fi
.P
Whenever the application modifies an item list directly, it must supply
this resource (with a value of \f(CWTRUE\fP) 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.
.P
\f(HBNote:\fP
.br
It is not necessary to use this resource if the application
modifies the list with the \fBOlFlatSetValues\fP procedure, nor is it
necessary to use this resource whenever the application supplies a
new list to the flat container.
.sp
\fBXtNlabel\fP
.P
This is the text string that appears in the sub-object.
.sp
\fBXtNlabelImage\fP
.P
This is an \fBXImage\fP pointer that can appear in a sub-object.  This 
resource is ignored if \f(CWXtNlabel\fP is non-NULL.
.sp
\fBXtNlabelJustify\fP
.P
Range of Values:
.nf
	\f(CWOL_LEFT/"left"
	OL_CENTER/"center"
	OL_RIGHT/"right"\fP
.fi
.sp
This resource specifies the justification of the label or \fBXImage\fP that
appears within a sub-object.
.bp
\fBXtNlabelTile\fP
.P
Range of Values:
.nf
	\f(CWTRUE/"true"
	FALSE/"false"\fP
.fi
.sp
This resource augments the \f(CWXtNlabelImage/XtNlabelPixmap\fP 
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 \f(CWTRUE\fP; 
otherwise, the
label is placed as described by the \f(CWXtNlabelJustify\fP resource.
.P
The \f(CWXtNlabelTile\fP resource is ignored for text labels.
.sp
\fBXtNmappedWhenManaged\fP
.P
Range of Values:
.nf
	\f(CWTRUE/"true"
	FALSE/"false"\fP
.fi
.sp
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.
.P
\f(HBNote:\fP
.br
This resource is never inherited from the
container, so its default value is always \f(CWTRUE\fP.
.sp
\fBXtNnumItems\fP
.P
This resource specifies the number of sub-object items.
.sp
\fBXtNnumItemFields\fP
.P
This resource indicates the number of resource names 
contained in \f(CWXtNitemFields\fP.
.sp
\fBXtNsameHeight\fP
.P
Range of Values:
.nf
	\f(CWOL_ALL/"all"
	OL_ROWS/"rows"
	OL_NONE/"none"\fP
.fi
.sp
This resource specifies the rows that are forced to the same height.
.sp
\fBXtNsameWidth\fP
.P
Range of Values:
.nf
	\f(CWOL_ALL/"all"
	OL_COLUMNS/"columns"
	OL_NONE/"none"\fP
.fi
.sp
This resource specifies the columns that are forced to the same width.
.sp
\fBXtNselectProc\fP
.P
This callback procedure is called whenever the sub-object becomes 
selected by user input.
.sp
\fBXtNsensitive\fP
.P
Range of Values:
.nf
	\f(CWTRUE/"true"
	FALSE/"false"\fP
.fi
.sp
If \f(CWTRUE\fP, the sub-object is sensitive to user input.  If 
\f(CWFALSE\fP, the sub-object
is insensitive to user input and an inactive visual is displayed to indicate
this state.
.P
\f(HBNote:\fP
.br
This resource is never inherited from the
container, so its default value is always \f(CWTRUE\fP.
.sp
\fBXtNset\fP
.P
Range of Values:
.nf
	\f(CWTRUE/"true"
	FALSE/"false"\fP
.fi
.sp
This resource reflects the current state of the sub-object.
.P
\f(HBNote:\fP
.br
This resource is never inherited from the container, so its
default value is always \f(CWFALSE\fP.
.P
Even if the application does not use \f(CWXtNset\fP in its item fields
list, the container will correctly maintain the set item and the
application can change the set item via \fBOlFlatSetValues\fP.
.sp
\fBXtNunselectProc\fP
.P
This callback procedure is called whenever the sub-object becomes 
unselected by user input. 
