1XmHierarchy(library call) XmHierarchy(library call)
2
3
4
6 XmHierarchy — The Hierarchy widget class
7
9 #include <Xm/Hierarchy.h>
10
12 The Hierarchy widget is not intended to be instantiated itself, but
13 rather should be used as the base class for any widget that would like
14 to present a hierarchy of information to the user that is different for
15 the actual widget instance hierarchy of the application. This base
16 class is currently used for two widgets in the Motif widget set, Tree
17 and Outline, giving those two widgets a very similar API.
18
19 Note: The Hierarchy widget assumes that it will be totally responsible
20 for mapping and unmapping its children. Therefore no child of this wid‐
21 get should ever modify its mappedWhenManaged resource. If a child does
22 modify this resource the behavior is undefined.
23
24 Classes
25 Hierarchy inherits behaviour, resources, and traits from Core, Compos‐
26 ite, Composite, Constraint, and XmManager classes.
27
28 The class pointer is xmHierarchyWidgetClass.
29
30 The class name is XmHierarchy.
31
32 New Resources
33 ┌─────────────────────────────────────────────────────────────────────────────────────────────┐
34 │ │ XmHierarch│y Resource Set │ │ │
35 │Name │ Class │ Type │ Default │ Access │
36 ├─────────────────────┼──────────────────────┼────────────────┼──────────────────────┼────────┤
37 │XmNautoClose │ XmCAutoClose │ Boolean │ True │ CSG │
38 ├─────────────────────┼──────────────────────┼────────────────┼──────────────────────┼────────┤
39 │XmNcloseFolderPixmap │ XmCPixmap │ Pixmap │ XmUNSPECIFIED_PIXMAP │ CSG │
40 ├─────────────────────┼──────────────────────┼────────────────┼──────────────────────┼────────┤
41 │XmNhorizontalMargin │ XmCDimension │ Dimension │ 2 │ CSG │
42 ├─────────────────────┼──────────────────────┼────────────────┼──────────────────────┼────────┤
43 │XmNnodeStateCallback │ XmCNodeStateCallback │ XtCallbackList │ NULL │ C │
44 ├─────────────────────┼──────────────────────┼────────────────┼──────────────────────┼────────┤
45 │XmNopenFolderPixmap │ XmCPixmap │ Pixmap │ XmUNSPECIFIED_PIXMAP │ CSG │
46 ├─────────────────────┼──────────────────────┼────────────────┼──────────────────────┼────────┤
47 │XmNrefigureMode │ XmCBoolean │ Boolean │ True │ CSG │
48 ├─────────────────────┼──────────────────────┼────────────────┼──────────────────────┼────────┤
49 │XmNverticalMargin │ XmCDimension │ Dimension │ 2 │ CSG │
50 ├─────────────────────┼──────────────────────┼────────────────┼──────────────────────┼────────┤
51 └─────────────────────┴──────────────────────┴────────────────┴──────────────────────┴────────┘
52 XmNautoClose
53 This resource determines if the hierarchy should automati‐
54 cally restore a parent node's children when the parent node
55 is reopened. If autoClose is False, and the hierarchy is
56 fully expanded when the root node is closed, then the entire
57 hierarchy will be displayed as expanded when the root node is
58 reopened. If autoClose is True, then the root node's children
59 are closed when the root node is reopened.
60
61 XmNcloseFolderPixmap
62 This resource defines a pixmap for the closed representation
63 of the folder pixmap to be used throughout the tree. It can
64 be a color pixmap or bitmap. If the user does not specify a
65 pixmap the default bitmap will be used.
66
67 XmNhorizontalMargin
68
69 XmNverticalMargin
70 The exact definition of these resources are left to the sub‐
71 class of the hierarchy widget that does the geometry layout.
72 They are intended to be used as the amount of space between
73 the object and the edges of the window it is displayed in.
74 They are included here for consistency.
75
76 XmNopenFolderPixmap
77 This resource defines a pixmap for the open representation of
78 the folder pixmap to be used throughout the tree . It can be
79 a color pixmap or bitmap. If the user does not specify a
80 pixmap the default opened folder bitmap.
81
82 XmNnodeStateCallback
83 The list of callback routines called when a folder button is
84 clicked. See "Callback Routine" for more details.
85
86 XmNrefigureMode
87 This resource determines whether the Hierarchy should adjust
88 the sizes of the children after a geometry or resize request,
89 or simply ignore the request. This resource is very useful in
90 improving the performance of an application that is making a
91 large number of geometry changes all at once.
92
93 ┌────────────────────────────────────────────────────────────────────────────┐
94 │ │ XmHierarchy Co│nstraint Resource Set │ │ │
95 │Name │ Class │ Type │ Default │ Access │
96 ├────────────────┼─────────────────┼──────────────────────┼─────────┼────────┤
97 │XmNinsertBefore │ XmCInsertbefore │ Widget │ NULL │ CSG │
98 ├────────────────┼─────────────────┼──────────────────────┼─────────┼────────┤
99 │XmNnodeState │ XmCNodeState │ XMHierarchyNodeState │ XmOpen │ CSG │
100 ├────────────────┼─────────────────┼──────────────────────┼─────────┼────────┤
101 │XmNparentNode │ XmCParentNode │ Widget │ NULL │ CSG │
102 ├────────────────┼─────────────────┼──────────────────────┼─────────┼────────┤
103 └────────────────┴─────────────────┴──────────────────────┴─────────┴────────┘
104 XmNinsertBefore
105 Specifies another node that has the same parentNode. This
106 node will then be placed immediately before that node in the
107 hierarchy. If this value is NULL then the node will be
108 inserted at the end of the list. This resource allows the
109 hierarchy's children to be reordered.
110
111 XmNnodeState
112 The state of this node. Acceptable values are: XmOpen,
113 XmClosed, XmAlwaysOpen, and XmHidden. A type converter has
114 been registered that can convert the following strings:
115 "open", "close", "alwaysOpen", and "hidden".
116
117 XmNparentNode
118 The hierarchy parent of this node. The parent node MUST be a
119 widget sibling of the current node.
120
121 Inherited Resources
122 Hierarchy inherits behavior and resources from the superclasses
123 described in the following tables. For a complete description of each
124 resource, refer to the reference page for that superclass.
125
126 ┌────────────────────────────────────────────────────────────────────────────────────────────────────┐
127 │ │ XmManager │Resource Set │ │ │
128 │Name │ Class │ Type │ Default │ Access │
129 ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
130 │XmNbottomShadowColor │ XmCBottomShadowColor │ Pixel │ dynamic │ CSG │
131 ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
132 │XmNbottomShadowPixmap │ XmCBottomShadowPixmap │ Pixmap │ XmUNSPECIFIED_PIXMAP │ CSG │
133 ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
134 │XmNforeground │ XmCForeground │ Pixel │ dynamic │ CSG │
135 ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
136 │XmNhelpCallback │ XmCCallback │ XtCallbackList │ NULL │ C │
137 ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
138 │XmNhighlightColor │ XmCHighlightColor │ Pixel │ dynamic │ CSG │
139 ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
140 │XmNhighlightPixmap │ XmCHighlightPixmap │ Pixmap │ dynamic │ CSG │
141 ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
142 │XmNinitialFocus │ XmCInitialFocus │ Widget │ dynamic │ CSG │
143 ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
144 │XmNlayoutDirection │ XmCLayoutDirection │ XmDirection │ dynamic │ CG │
145 ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
146 │XmNnavigationType │ XmCNavigationType │ XmNavigationType │ XmTAB_GROUP │ CSG │
147 ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
148 │XmNpopupHandlerCallback │ XmCCallback │ XtCallbackList │ NULL │ C │
149 ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
150 │XmNshadowThickness │ XmCShadowThickness │ Dimension │ dynamic │ CSG │
151 ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
152 │XmNstringDirection │ XmCStringDirection │ XmStringDirection │ dynamic │ CG │
153 ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
154 │XmNtopShadowColor │ XmCTopShadowColor │ Pixel │ dynamic │ CSG │
155 ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
156 │XmNtopShadowPixmap │ XmCTopShadowPixmap │ Pixmap │ dynamic │ CSG │
157 ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
158 │XmNtraversalOn │ XmCTraversalOn │ Boolean │ True │ CSG │
159 ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
160 │XmNunitType │ XmCUnitType │ unsigned char │ dynamic │ CSG │
161 ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
162 │XmNuserData │ XmCUserData │ XtPointer │ NULL │ CSG │
163 ├────────────────────────┼───────────────────────┼───────────────────┼──────────────────────┼────────┤
164 └────────────────────────┴───────────────────────┴───────────────────┴──────────────────────┴────────┘
165 ┌───────────────────────────────────────────────────────────────────────┐
166 │ │ Composite Reso│urce Set │ │ │
167 │Name │ Class │ Type │ Default │ Access │
168 ├──────────────────┼───────────────────┼─────────────┼─────────┼────────┤
169 │XmNchildren │ XmCReadOnly │ WidgetList │ NULL │ G │
170 ├──────────────────┼───────────────────┼─────────────┼─────────┼────────┤
171 │XmNinsertPosition │ XmCInsertPosition │ XtOrderProc │ NULL │ CSG │
172 ├──────────────────┼───────────────────┼─────────────┼─────────┼────────┤
173 │XmNnumChildren │ XmCReadOnly │ Cardinal │ 0 │ G │
174 ├──────────────────┼───────────────────┼─────────────┼─────────┼────────┤
175 └──────────────────┴───────────────────┴─────────────┴─────────┴────────┘
176 ┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
177 │ │ Core Resource Se│t │ │ │
178 │Name │ Class │ Type │ Default │ Access │
179 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
180 │XmNaccelerators │ XmCAccelerators │ XtAccelerators │ dynamic │ N/A │
181 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
182 │XmNancestorSensitive │ XmCSensitive │ Boolean │ dynamic │ G │
183 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
184 │XmNbackground │ XmCBackground │ Pixel │ dynamic │ CSG │
185 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
186 │XmNbackgroundPixmap │ XmCPixmap │ Pixmap │ XmUNSPECIFIED_PIXMAP │ CSG │
187 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
188 │XmNborderColor │ XmCBorderColor │ Pixel │ XtDefaultForeground │ CSG │
189 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
190 │XmNborderPixmap │ XmCPixmap │ Pixmap │ XmUNSPECIFIED_PIXMAP │ CSG │
191 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
192 │XmNborderWidth │ XmCBorderWidth │ Dimension │ 0 │ CSG │
193 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
194 │XmNcolormap │ XmCColormap │ Colormap │ dynamic │ CG │
195 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
196 │XmNdepth │ XmCDepth │ int │ dynamic │ CG │
197 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
198 │XmNdestroyCallback │ XmCCallback │ XtCallbackList │ NULL │ C │
199 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
200 │XmNheight │ XmCHeight │ Dimension │ dynamic │ CSG │
201 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
202 │XmNinitialResourcesPersistent │ XmCInitialResourcesPersistent │ Boolean │ True │ C │
203 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
204 │XmNmappedWhenManaged │ XmCMappedWhenManaged │ Boolean │ True │ CSG │
205 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
206 │XmNscreen │ XmCScreen │ Screen * │ dynamic │ CG │
207 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
208 │XmNsensitive │ XmCSensitive │ Boolean │ True │ CSG │
209 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
210 │XmNtranslations │ XmCTranslations │ XtTranslations │ dynamic │ CSG │
211 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
212 │XmNwidth │ XmCWidth │ Dimension │ dynamic │ CSG │
213 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
214 │XmNx │ XmCPosition │ Position │ 0 │ CSG │
215 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
216 │XmNy │ XmCPosition │ Position │ 0 │ CSG │
217 ├──────────────────────────────┼───────────────────────────────┼────────────────┼──────────────────────┼────────┤
218 └──────────────────────────────┴───────────────────────────────┴────────────────┴──────────────────────┴────────┘
219 Callback Information
220 When a folder is clicked, the routines registered on the XmNnodeState‐
221 Callback list are passed a pointer to the following structure as client
222 data:
223 typedef struct _XmHierarchyNodeStateData {
224 Widget widget;
225 XmHierarchyNodeState state;
226 } XmHierarchyNodeStateData;
227
228 widget the child node of Hierarchy being opened or closed.
229
230 state the current XmNnodeState (after the click) of the
231 node. Legal values are XmOpen, XmClosed, XmAlwaysOpen,
232 and XmHidden.
233
234 Children
235 The hierarchy maintains IconButtons for each node in the hierarchy.
236 Setting openFolderPixmap or closeFolderPixmap is done through XtSetVal‐
237 ues. IconButtons may only be manipulated by the Hierarchy.
238
240 Composite(3), Constraint(3), Core(3), XmCreateHierarchy(3), XmHierar‐
241 chyGetChildNodes(3), XmHierarchyOpenAllAncestors(3), XmManager(3).
242
243
244
245 XmHierarchy(library call)