Blob Blame History Raw
.TH "XmOutline" "library call"
.SH "NAME"
\fBXmOutline\fP \(em The Outline widget class
.iX "XmOutline"
.iX "widget class" "Outline"
.SH "SYNOPSIS"
.PP
.nf
#include <Xm/Outline\&.h>
.fi
.SH "DESCRIPTION"
.PP
The Outline widget is a container that shows the relationship of its children in a 
graphical tree-like format. Each child of the Outline widget is a node in the Outline. 
The parent-child relationships between these nodes are completely distinct from the 
widget hierarchy. The hierarchy of nodes is created by specifying the tree "parent" of 
each node as a constraint resource. If a node's parent is NULL then it is assumed to 
be a root of the tree. Although each widget can only have one parent, the Outline widget 
supports adding more than one "root" node to a single Outline.
.PP
Note: The Outline widget assumes that it will be totally responsible for mapping 
and unmapping its children. Therefore no child of this widget should ever modify its 
mappedWhenManaged resource. If a child does modify this resource the behavior is 
undefined.
.PP
.SS "User Interaction"
.PP
Each node in the outline can have one of four states: open, closed, always open, and 
hidden. The state of a node changes how it appears to the user and what actions are 
available to the user.
.PP
.ta 15
.HP 15
Open	This node will have an open folder shown to its left that 
may be selected by the user to close this node. When a 
node is open all of its children will be visible to the user.

.ta 15
.HP 15
Closed	This node will have a closed folder shown to its left that 
may be selected by the user to open this node. When a 
node is closed none of its children will be visible to the 
user.

.ta 15
.HP 15
Always Open	This node will have no folder button associated with it. 
All of its children will be visible to the user.

.ta 15
.HP 15
Hidden	This node will not be shown to the user and all of its 
children will appear and act exactly as if they were 
children of this node's parent. It will appear to the user 
as if this node does not exist.
.PP
To maintain consistency of the user interface we have found that it is best to use the 
node state "Always Open" for nodes with no children. This way the user will only see 
a folder button next to a node that has children to display. A folder button associated 
with a node that has no children has no defined semantics.
.SS "Classes"
Outline inherits behavior and resources from the
\fBCore\fP, \fBComposite\fP, \fBConstraint\fP, \fBXmManager\fP, and
\fBXmHierarchy\fP  classes\&.
.PP
The class pointer is \fBxmOutlineWidgetClass\fP\&.
.PP
The class name is \fBXmOutline\fP\&.
.SS "New Resources"
.PP
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 \fB\&.Xdefaults\fP file, remove the \fBXmN\fP or
\fBXmC\fP prefix and use the remaining letters\&. To specify one of the defined
values for a resource in a \fB\&.Xdefaults\fP file, remove the \fBXm\fP 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 \fBXtSetValues\fP (S),
retrieved by using \fBXtGetValues\fP (G), or is not applicable (N/A)\&.
.PP
.TS
tab() box;
c s s s s
l| l| l| l| l.
\fBXmOutline Resource Set\fP
\fBName\fP\fBClass\fP\fBType\fP\fBDefault\fP\fBAccess\fP
_____
XmNconnectNodesBooleanBooleanFalseCSG
_____
XmNindentSpaceDimensionDimension30CSG
_____
.TE
.IP "\fBXmNconnectNodes\fP" 10
Specifies whether to draw lines connecting a parent to each of its
children nodes.
.IP "\fBXmNindentSpace\fP" 10
This resource controls how many pixels divide the outline's levels
.SS "Inherited Resources"
.PP
Outline inherits behavior and resources from the
superclasses described in the following tables\&.
For a complete description of each resource, refer to the
reference page for that superclass\&.
.PP
.TS
tab() box;
c s s s s
l| l| l| l| l.
\fBXmHierarchy Resource Set\fP
\fBName\fP\fBClass\fP\fBType\fP\fBDefault\fP\fBAccess\fP
_____
XmNautoCloseXmCAutoCloseBooleanTrueCSG
_____
XmNcloseFolderPixmapXmCPixmapPixmapXmUNSPECIFIED_PIXMAPCSG
_____
XmNhorizontalMarginXmCDimensionDimension2CSG
_____
XmNnodeStateCallbackXmCNodeStateCallbackXtCallbackListNULLC
_____
XmNopenFolderPixmapXmCPixmapPixmapXmUNSPECIFIED_PIXMAPCSG
_____
XmNrefigureModeXmCBooleanBooleanTrueCSG
_____
XmNverticalMarginXmCDimensionDimension2CSG
_____
.TE
.TS
tab() box;
c s s s s
l| l| l| l| l.
\fBXmManager Resource Set\fP
\fBName\fP\fBClass\fP\fBType\fP\fBDefault\fP\fBAccess\fP
_____
XmNbottomShadowColorXmCBottomShadowColorPixeldynamicCSG
_____
XmNbottomShadowPixmapXmCBottomShadowPixmapPixmapXmUNSPECIFIED_PIXMAPCSG
_____
XmNforegroundXmCForegroundPixeldynamicCSG
_____
XmNhelpCallbackXmCCallbackXtCallbackListNULLC
_____
XmNhighlightColorXmCHighlightColorPixeldynamicCSG
_____
XmNhighlightPixmapXmCHighlightPixmapPixmapdynamicCSG
_____
XmNinitialFocusXmCInitialFocusWidgetdynamicCSG
_____
XmNlayoutDirectionXmCLayoutDirectionXmDirectiondynamicCG
_____
XmNnavigationTypeXmCNavigationTypeXmNavigationTypeXmTAB_GROUPCSG
_____
XmNpopupHandlerCallbackXmCCallbackXtCallbackListNULLC
_____
XmNshadowThicknessXmCShadowThicknessDimensiondynamicCSG
_____
XmNstringDirectionXmCStringDirectionXmStringDirectiondynamicCG
_____
XmNtopShadowColorXmCTopShadowColorPixeldynamicCSG
_____
XmNtopShadowPixmapXmCTopShadowPixmapPixmapdynamicCSG
_____
XmNtraversalOnXmCTraversalOnBooleanTrueCSG
_____
XmNunitTypeXmCUnitTypeunsigned chardynamicCSG
_____
XmNuserDataXmCUserDataXtPointerNULLCSG
_____
.TE
.PP
.TS
tab() box;
c s s s s
l| l| l| l| l.
\fBComposite Resource Set\fP
\fBName\fP\fBClass\fP\fBType\fP\fBDefault\fP\fBAccess\fP
_____
XmNchildrenXmCReadOnlyWidgetListNULLG
_____
XmNinsertPositionXmCInsertPositionXtOrderProcNULLCSG
_____
XmNnumChildrenXmCReadOnlyCardinal0G
_____
.TE
.PP
.TS
tab() box;
c s s s s
l| l| l| l| l.
\fBCore Resource Set\fP
\fBName\fP\fBClass\fP\fBType\fP\fBDefault\fP\fBAccess\fP
_____
XmNacceleratorsXmCAcceleratorsXtAcceleratorsdynamicN/A
_____
XmNancestorSensitiveXmCSensitiveBooleandynamicG
_____
XmNbackgroundXmCBackgroundPixeldynamicCSG
_____
XmNbackgroundPixmapXmCPixmapPixmapXmUNSPECIFIED_PIXMAPCSG
_____
XmNborderColorXmCBorderColorPixelXtDefaultForegroundCSG
_____
XmNborderPixmapXmCPixmapPixmapXmUNSPECIFIED_PIXMAPCSG
_____
XmNborderWidthXmCBorderWidthDimension0CSG
_____
XmNcolormapXmCColormapColormapdynamicCG
_____
XmNdepthXmCDepthintdynamicCG
_____
XmNdestroyCallbackXmCCallbackXtCallbackListNULLC
_____
XmNheightXmCHeightDimensiondynamicCSG
_____
XmNinitialResourcesPersistentXmCInitialResourcesPersistentBooleanTrueC
_____
XmNmappedWhenManagedXmCMappedWhenManagedBooleanTrueCSG
_____
XmNscreenXmCScreenScreen *dynamicCG
_____
XmNsensitiveXmCSensitiveBooleanTrueCSG
_____
XmNtranslationsXmCTranslationsXtTranslationsdynamicCSG
_____
XmNwidthXmCWidthDimensiondynamicCSG
_____
XmNxXmCPositionPosition0CSG
_____
XmNyXmCPositionPosition0CSG
_____
.TE
.PP
.SS "Geometry Management"
.PP
The preferred size of the entire outline will be just large enough to contain all nodes 
in the hierarchy. As the node state changes the outline will attempt to resize itself to 
just contain its currently visible children. If the outline is forced away from its desired 
size the children will not be moved and will either be clipped, or appear in the upper 
left hand corner of the window. For this reason it is usually desirable to put the outline 
into a Scrolled Window widget. 
.PP
.SH RELATED
.PP
\fBComposite\fP(3),
\fBConstraint\fP(3),
\fBCore\fP(3),
\fBXmCreateHierarchy\fP(3),
\fBXmHierarchy\fP(3),
\fBXmManager\fP(3)\&.