home *** CD-ROM | disk | FTP | other *** search
- .NH 2
- Tree Widget
- .LP
- .XS
- Tree Widget
- .XE
- .IN "Tree widget" "" "@DEF@"
- .Ds 0
- .TA 2.0i
- .ta 2.0i
- .sp
- Application Header file <X11/Xaw/Tree.h>
- .IN "Box.h" ""
- Class Header file <X11/Xaw/TreeP.h>
- .IN "TreeP.h" ""
- Class treeWidgetClass
- .IN "treeWidgetClass" ""
- Class Name Tree
- .IN "Tree widget" "class name"
- Superclass Constraint
- .sp
- .De
- .LP
- The Tree widget provides geometry management of arbitrary widgets arranged
- in a directed, acyclic graph (i.e., a tree). The hierarchy is contructed by
- attaching a constraint resource called \fBtreeParent\fP to each widget
- indicating which other node in the tree should be treated as the widget's
- superior. The structure of the tree is shown by laying out the nodes
- in the standard format for tree diagrams with lines drawn connecting each
- node with its children.
- .LP
- The Tree sizes itself according to the needs of its children and is not
- intended to be resized by its parent. Instead, it should be placed inside
- another composite widget (such as the \fBPorthole\fP or \fBViewport\fP)
- that can be used to scroll around in the tree.
- .NH 3
- Resources
- .LP
- When creating a Tree widget instance, the following resources are
- retrieved from the argument list or from the resource database:
- .LP
- .IN "Box widget" "resources"
- .ps 9
- .nr PS 9
- .vs 11
- .nr VS 11
- .TS H
- expand;
- lw(1i) lw(1i) lw(1i) lw(.5i) lw(2i).
- _
- .sp 3p
- .TB
- Name Class Type Notes Default Value
- .sp 3p
- _
- .TH
- .R
- .sp 3p
- accelerators Accelerators AcceleratorTable NULL
- ancestorSensitive AncestorSensitive Boolean D True
- autoReconfigure AutoReconfigure Boolean False
- background Background Pixel XtDefaultBackground
- backgroundPixmap Pixmap Pixmap XtUnspecifiedPixmap
- borderColor BorderColor Pixel XtDefaultForeground
- borderPixmap Pixmap Pixmap XtUnspecifiedPixmap
- borderWidth BorderWidth Dimension 1
- children ReadOnly WidgetList R NULL
- colormap Colormap Colormap Parent's Colormap
- depth Depth int C Parent's Depth
- destroyCallback Callback XtCallbackList NULL
- foreground Foreground Pixel XtDefaultForeground
- gravity Gravity XtGravity WestGravity
- height Height Dimension A see \fBLayout Semantics\fP
- hSpace HSpace Dimension 4
- lineWidth LineWidth Dimension 0
- mappedWhenManaged MappedWhenManaged Boolean True
- numChildren ReadOnly Cardinal R 0
- screen Screen Screen R Parent's Screen
- sensitive Sensitive Boolean True
- vSpace VSpace Dimension 4
- translations Translations TranslationTable NULL
- width Width Dimension A see \fBLayout Semantics\fP
- x Position Position 0
- y Position Position 0
- .sp 3p
- _
- .TE
- .ps 11
- .nr PS 11
- .vs 13
- .nr VS 13
- .IP \fBautoReconfigure\fP 1.5i
- Whether or not to layout the tree every time a node is added or removed.
- .Bg
- .Gp
- .Bc
- .Bp
- .Bw
- .Ch
- .Cm
- .Dp
- .Dc
- .Lg
- .IP \fBgravity\fP 1.5i
- .IN "conversions" "Gravity"
- Specifies the side of the widget from which the tree should grow. Valid
- values include \fBWestGravity\fP, \fBNorthGravity\fP, \fBEastGravity\fP, and
- \fBSouthGravity\fP.
- .Rs "\fP the legal values\fB"
- .Hw
- .IP \fBhSpace\fP 1.5i
- .br
- .ns
- .IP \fBvSpace\fP 1.5i
- The amount of space, in pixels, to leave between the children. This
- resource specifies the amount of space left between the outermost
- children and the edge of the box.
- .IP \fBlineWidth\fP 1.5i
- The width of the lines from nodes that do not have a \fBtreeGC\fP
- constraint resource to their children.
- .Mm
- .Nc
- .Sc
- .Se
- .Tr
- .Xy
- .NH 3
- Constraint Resources
- .LP
- .IN "Tree widget" "constraint resources"
- Each child of the Tree widget must specify its superior node in the tree. In
- addition, it may specify a GC to use when drawing a line between it and its
- inferior nodes.
- .LP
- .ps 9
- .nr PS 9
- .vs 11
- .nr VS 11
- .TS H
- lw(1i) lw(1i) lw(1i) lw(.5i) lw(2i).
- _
- .sp 3p
- .TB
- Name Class Type Notes Default Value
- .sp 3p
- _
- .TH
- .R
- .sp 3p
- treeGC TreeGC GC NULL
- treeParent TreeParent Widget NULL
- .sp 3p
- _
- .TE
- .ps 11
- .nr PS 11
- .vs 13
- .nr VS 13
- .IP \fBtreeGC\fP 1.5i
- This specifies the GC to use when drawing lines between this widget and its
- inferiors in the tree. If this resource is not specified, the Tree's
- \fBforeground\fP and \fBlineWidth\fP will be used.
- .IP \fBtreeParent\fP 1.5i
- This specifies the superior node in the tree for this widget. The default is
- for the node to have no superior (and to therefore be at the top of the tree).
- .NH 3
- Layout Semantics
- .IN "Tree widget" "layout semantics"
- .LP
- Each time a child is managed or unmanaged, the Tree widget will attempt
- to reposition the remaining children to fix the shape of the tree if the
- .B autoReconfigure
- resource is set. Children at the top (most superior) of the tree are
- drawn at
- the side specified by the
- .B gravity
- resource.
- .LP
- After positioning all children, the Tree widget attempts to shrink its
- own size to the minimum dimensions required for the layout.
- .NH 3
- Convenience Routines
- .LP
- .IN "Tree widget" "convenience routines"
- The most efficient way to layout a tree is to set
- .B autoReconfigure
- to False and then use the
- .B XawTreeForceLayout
- routine to arrange the children.
- .IN "XawTreeForceLayout" "" "@DEF@"
- .FD 0
- void XawTreeForceLayout(\fIw\fP)
- .br
- Widget \fIw\fP;
- .FN
- .IP \fIw\fP 1i
- Specifies the Tree widget.
-