1XmOutline(library call) XmOutline(library call)
2
3
4
6 XmOutline — The Outline widget class
7
9 #include <Xm/Outline.h>
10
12 The Outline widget is a container that shows the relationship of its
13 children in a graphical tree-like format. Each child of the Outline
14 widget is a node in the Outline. The parent-child relationships
15 between these nodes are completely distinct from the widget hierarchy.
16 The hierarchy of nodes is created by specifying the tree "parent" of
17 each node as a constraint resource. If a node's parent is NULL then it
18 is assumed to be a root of the tree. Although each widget can only have
19 one parent, the Outline widget supports adding more than one "root"
20 node to a single Outline.
21
22 Note: The Outline widget assumes that it will be totally responsible
23 for mapping and unmapping its children. Therefore no child of this wid‐
24 get should ever modify its mappedWhenManaged resource. If a child does
25 modify this resource the behavior is undefined.
26
27 User Interaction
28 Each node in the outline can have one of four states: open, closed,
29 always open, and hidden. The state of a node changes how it appears to
30 the user and what actions are available to the user.
31
32 Open This node will have an open folder shown to its left
33 that may be selected by the user to close this node.
34 When a node is open all of its children will be visible
35 to the user.
36
37
38 Closed This node will have a closed folder shown to its left
39 that may be selected by the user to open this node. When
40 a node is closed none of its children will be visible to
41 the user.
42
43
44 Always Open This node will have no folder button associated with it.
45 All of its children will be visible to the user.
46
47
48 Hidden This node will not be shown to the user and all of its
49 children will appear and act exactly as if they were
50 children of this node's parent. It will appear to the
51 user as if this node does not exist.
52
53 To maintain consistency of the user interface we have found that it is
54 best to use the node state "Always Open" for nodes with no children.
55 This way the user will only see a folder button next to a node that has
56 children to display. A folder button associated with a node that has no
57 children has no defined semantics.
58
59 Classes
60 Outline inherits behavior and resources from the Core, Composite, Con‐
61 straint, XmManager, and XmHierarchy classes.
62
63 The class pointer is xmOutlineWidgetClass.
64
65 The class name is XmOutline.
66
67 New Resources
68 The following table defines a set of widget resources used by the pro‐
69 grammer to specify data. The programmer can also set the resource val‐
70 ues for the inherited classes to set attributes for this widget. To
71 reference a resource by name or by class in a .Xdefaults file, remove
72 the XmN or XmC prefix and use the remaining letters. To specify one of
73 the defined values for a resource in a .Xdefaults file, remove the Xm
74 prefix and use the remaining letters (in either lowercase or uppercase,
75 but include any underscores between words). The codes in the access
76 column indicate if the given resource can be set at creation time (C),
77 set by using XtSetValues (S), retrieved by using XtGetValues (G), or is
78 not applicable (N/A).
79
80 ┌───────────────────────────────────────────────────────────┐
81 │ │ XmOutline │Resource Set│ │ │
82 │Name │ Class │ Type │ Default │ Access │
83 ├────────────────┼───────────┼───────────┼─────────┼────────┤
84 │XmNconnectNodes │ Boolean │ Boolean │ False │ CSG │
85 ├────────────────┼───────────┼───────────┼─────────┼────────┤
86 │XmNindentSpace │ Dimension │ Dimension │ 30 │ CSG │
87 ├────────────────┼───────────┼───────────┼─────────┼────────┤
88 └────────────────┴───────────┴───────────┴─────────┴────────┘
89 XmNconnectNodes
90 Specifies whether to draw lines connecting a parent to each
91 of its children nodes.
92
93 XmNindentSpace
94 This resource controls how many pixels divide the outline's
95 levels
96
97 Inherited Resources
98 Outline inherits behavior and resources from the superclasses described
99 in the following tables. For a complete description of each resource,
100 refer to the reference page for that superclass.
101
102 ┌─────────────────────────────────────────────────────────────────────────────────────────────┐
103 │ │ XmHierarch│y Resource Set │ │ │
104 │Name │ Class │ Type │ Default │ Access │
105 ├─────────────────────┼──────────────────────┼────────────────┼──────────────────────┼────────┤
106 │XmNautoClose │ XmCAutoClose │ Boolean │ True │ CSG │
107 ├─────────────────────┼──────────────────────┼────────────────┼──────────────────────┼────────┤
108 │XmNcloseFolderPixmap │ XmCPixmap │ Pixmap │ XmUNSPECIFIED_PIXMAP │ CSG │
109 ├─────────────────────┼──────────────────────┼────────────────┼──────────────────────┼────────┤
110 │XmNhorizontalMargin │ XmCDimension │ Dimension │ 2 │ CSG │
111 ├─────────────────────┼──────────────────────┼────────────────┼──────────────────────┼────────┤
112 │XmNnodeStateCallback │ XmCNodeStateCallback │ XtCallbackList │ NULL │ C │
113 ├─────────────────────┼──────────────────────┼────────────────┼──────────────────────┼────────┤
114 │XmNopenFolderPixmap │ XmCPixmap │ Pixmap │ XmUNSPECIFIED_PIXMAP │ CSG │
115 ├─────────────────────┼──────────────────────┼────────────────┼──────────────────────┼────────┤
116 │XmNrefigureMode │ XmCBoolean │ Boolean │ True │ CSG │
117 ├─────────────────────┼──────────────────────┼────────────────┼──────────────────────┼────────┤
118 │XmNverticalMargin │ XmCDimension │ Dimension │ 2 │ CSG │
119 ├─────────────────────┼──────────────────────┼────────────────┼──────────────────────┼────────┤
120 └─────────────────────┴──────────────────────┴────────────────┴──────────────────────┴────────┘
121 ┌────────────────────────────────────────────────────────────────────────────────────────────────────┐
122 │ │ XmManager │Resource Set │ │ │
123 │Name │ Class │ Type │ Default │ Access │
124 ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
125 │XmNbottomShadowColor │ XmCBottomShadowColor │ Pixel │ dynamic │ CSG │
126 ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
127 │XmNbottomShadowPixmap │ XmCBottomShadowPixmap │ Pixmap │ XmUNSPECIFIED_PIXMAP │ CSG │
128 ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
129 │XmNforeground │ XmCForeground │ Pixel │ dynamic │ CSG │
130 ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
131 │XmNhelpCallback │ XmCCallback │ XtCallbackList │ NULL │ C │
132 ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
133 │XmNhighlightColor │ XmCHighlightColor │ Pixel │ dynamic │ CSG │
134 ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
135 │XmNhighlightPixmap │ XmCHighlightPixmap │ Pixmap │ dynamic │ CSG │
136 ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
137 │XmNinitialFocus │ XmCInitialFocus │ Widget │ dynamic │ CSG │
138 ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
139 │XmNlayoutDirection │ XmCLayoutDirection │ XmDirection │ dynamic │ CG │
140 ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
141 │XmNnavigationType │ XmCNavigationType │ XmNavigationType │ XmTAB_GROUP │ CSG │
142 ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
143 │XmNpopupHandlerCallback │ XmCCallback │ XtCallbackList │ NULL │ C │
144 ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
145 │XmNshadowThickness │ XmCShadowThickness │ Dimension │ dynamic │ CSG │
146 ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
147 │XmNstringDirection │ XmCStringDirection │ XmStringDirection │ dynamic │ CG │
148 ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
149 │XmNtopShadowColor │ XmCTopShadowColor │ Pixel │ dynamic │ CSG │
150 ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
151 │XmNtopShadowPixmap │ XmCTopShadowPixmap │ Pixmap │ dynamic │ CSG │
152 ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
153 │XmNtraversalOn │ XmCTraversalOn │ Boolean │ True │ CSG │
154 ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
155 │XmNunitType │ XmCUnitType │ unsigned char │ dynamic │ CSG │
156 ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
157 │XmNuserData │ XmCUserData │ XtPointer │ NULL │ CSG │
158 ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
159 └────────────────────────┴───────────────────────┴───────────────────┴──────────────────────┴────────┘
160 ┌───────────────────────────────────────────────────────────────────────┐
161 │ │ Composite Reso│urce Set │ │ │
162 │Name │ Class │ Type │ Default │ Access │
163 ├──────────────────┼───────────────────┼─────────────┼─────────┼────────┤
164 │XmNchildren │ XmCReadOnly │ WidgetList │ NULL │ G │
165 ├──────────────────┼───────────────────┼─────────────┼─────────┼────────┤
166 │XmNinsertPosition │ XmCInsertPosition │ XtOrderProc │ NULL │ CSG │
167 ├──────────────────┼───────────────────┼─────────────┼─────────┼────────┤
168 │XmNnumChildren │ XmCReadOnly │ Cardinal │ 0 │ G │
169 ├──────────────────┼───────────────────┼─────────────┼─────────┼────────┤
170 └──────────────────┴───────────────────┴─────────────┴─────────┴────────┘
171 ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
172 │ │ Core Resource Se│t │ │ │
173 │Name │ Class │ Type │ Default │ Access │
174 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
175 │XmNaccelerators │ XmCAccelerators │ XtAccelerators │ dynamic │ N/A │
176 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
177 │XmNancestorSensitive │ XmCSensitive │ Boolean │ dynamic │ G │
178 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
179 │XmNbackground │ XmCBackground │ Pixel │ dynamic │ CSG │
180 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
181 │XmNbackgroundPixmap │ XmCPixmap │ Pixmap │ XmUNSPECIFIED_PIXMAP │ CSG │
182 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
183 │XmNborderColor │ XmCBorderColor │ Pixel │ XtDefaultForeground │ CSG │
184 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
185 │XmNborderPixmap │ XmCPixmap │ Pixmap │ XmUNSPECIFIED_PIXMAP │ CSG │
186 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
187 │XmNborderWidth │ XmCBorderWidth │ Dimension │ 0 │ CSG │
188 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
189 │XmNcolormap │ XmCColormap │ Colormap │ dynamic │ CG │
190 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
191 │XmNdepth │ XmCDepth │ int │ dynamic │ CG │
192 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
193 │XmNdestroyCallback │ XmCCallback │ XtCallbackList │ NULL │ C │
194 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
195 │XmNheight │ XmCHeight │ Dimension │ dynamic │ CSG │
196 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
197 │XmNinitialResourcesPersistent │ XmCInitialResourcesPersistent │ Boolean │ True │ C │
198 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
199 │XmNmappedWhenManaged │ XmCMappedWhenManaged │ Boolean │ True │ CSG │
200 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
201 │XmNscreen │ XmCScreen │ Screen * │ dynamic │ CG │
202 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
203 │XmNsensitive │ XmCSensitive │ Boolean │ True │ CSG │
204 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
205 │XmNtranslations │ XmCTranslations │ XtTranslations │ dynamic │ CSG │
206 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
207 │XmNwidth │ XmCWidth │ Dimension │ dynamic │ CSG │
208 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
209 │XmNx │ XmCPosition │ Position │ 0 │ CSG │
210 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
211 │XmNy │ XmCPosition │ Position │ 0 │ CSG │
212 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
213 └──────────────────────────────┴───────────────────────────────┴────────────────┴──────────────────────┴────────┘
214 Geometry Management
215 The preferred size of the entire outline will be just large enough to
216 contain all nodes in the hierarchy. As the node state changes the out‐
217 line will attempt to resize itself to just contain its currently visi‐
218 ble children. If the outline is forced away from its desired size the
219 children will not be moved and will either be clipped, or appear in the
220 upper left hand corner of the window. For this reason it is usually
221 desirable to put the outline into a Scrolled Window widget.
222
224 Composite(3), Constraint(3), Core(3), XmCreateHierarchy(3), XmHierar‐
225 chy(3), XmManager(3).
226
227
228
229 XmOutline(library call)