]> git.saurik.com Git - wxWidgets.git/blame - docs/latex/wx/treectrl.tex
Some doc corrections; removed wxDocument arg from wxView constructor;
[wxWidgets.git] / docs / latex / wx / treectrl.tex
CommitLineData
a660d684
KB
1\section{\class{wxTreeCtrl}}\label{wxtreectrl}
2
3A tree control presents information as a hierarchy, with items that may be expanded
4fabb575 4to show further items. Items in a tree control are referenced by wxTreeItemId handles.
a660d684
KB
5
6To intercept events from a tree control, use the event table macros described in \helpref{wxTreeEvent}{wxtreeevent}.
7
8\wxheading{Derived from}
9
10\helpref{wxControl}{wxcontrol}\\
11\helpref{wxWindow}{wxwindow}\\
12\helpref{wxEvtHandler}{wxevthandler}\\
13\helpref{wxObject}{wxobject}
14
954b8ae6
JS
15\wxheading{Include files}
16
17<wx/treectrl.h>
18
a660d684
KB
19\wxheading{Window styles}
20
21\twocolwidtha{5cm}
22\begin{twocollist}\itemsep=0pt
23\twocolitem{\windowstyle{wxTR\_HAS\_BUTTONS}}{Use this style to show + and - buttons to the
24left of parent items.}
25\twocolitem{\windowstyle{wxTR\_EDIT\_LABELS}}{Use this style if you wish the user to be
26able to edit labels in the tree control.}
27\end{twocollist}
28
29See also \helpref{window styles overview}{windowstyles}.
30
5de76427
JS
31\wxheading{Event handling}
32
33To process input from a tree control, use these event handler macros to direct input to member
34functions that take a \helpref{wxTreeEvent}{wxtreeevent} argument.
35
36\twocolwidtha{7cm}
37\begin{twocollist}\itemsep=0pt
38\twocolitem{{\bf EVT\_TREE\_BEGIN\_DRAG(id, func)}}{Begin dragging with the left mouse button.}
39\twocolitem{{\bf EVT\_TREE\_BEGIN\_RDRAG(id, func)}}{Begin dragging with the right mouse button.}
40\twocolitem{{\bf EVT\_TREE\_BEGIN\_LABEL\_EDIT(id, func)}}{Begin editing a label.}
41\twocolitem{{\bf EVT\_TREE\_END\_LABEL\_EDIT(id, func)}}{Finish editing a label.}
42\twocolitem{{\bf EVT\_TREE\_DELETE\_ITEM(id, func)}}{Delete an item.}
43\twocolitem{{\bf EVT\_TREE\_GET\_INFO(id, func)}}{Request information from the application.}
44\twocolitem{{\bf EVT\_TREE\_SET\_INFO(id, func)}}{Information is being supplied.}
45\twocolitem{{\bf EVT\_TREE\_ITEM\_EXPANDED(id, func)}}{Parent has been expanded.}
46\twocolitem{{\bf EVT\_TREE\_ITEM\_EXPANDING(id, func)}}{Parent is being expanded.}
47\twocolitem{{\bf EVT\_TREE\_SEL\_CHANGED(id, func)}}{Selection has changed.}
48\twocolitem{{\bf EVT\_TREE\_SEL\_CHANGING(id, func)}}{Selection is changing.}
49\twocolitem{{\bf EVT\_TREE\_KEY\_DOWN(id, func)}}{A key has been pressed.}
50\end{twocollist}%
51
a660d684
KB
52\wxheading{See also}
53
4fabb575 54\helpref{wxTreeItemData}{wxtreeitemdata}, \helpref{wxTreeCtrl overview}{wxtreectrloverview}, \helpref{wxListBox}{wxlistbox}, \helpref{wxListCtrl}{wxlistctrl},\rtfsp
a660d684
KB
55\helpref{wxImageList}{wximagelist}, \helpref{wxTreeEvent}{wxtreeevent}
56
57\latexignore{\rtfignore{\wxheading{Members}}}
58
59\membersection{wxTreeCtrl::wxTreeCtrl}\label{wxtreectrlconstr}
60
61\func{}{wxTreeCtrl}{\void}
62
63Default constructor.
64
eaaa6a06 65\func{}{wxTreeCtrl}{\param{wxWindow*}{ parent}, \param{wxWindowID}{ id},\rtfsp
a660d684 66\param{const wxPoint\&}{ pos = wxDefaultPosition}, \param{const wxSize\&}{ size = wxDefaultSize},\rtfsp
eaaa6a06 67\param{long}{ style = wxTR\_HAS\_BUTTONS}, \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = ``listCtrl"}}
a660d684
KB
68
69Constructor, creating and showing a tree control.
70
71\wxheading{Parameters}
72
73\docparam{parent}{Parent window. Must not be NULL.}
74
75\docparam{id}{Window identifier. A value of -1 indicates a default value.}
76
77\docparam{pos}{Window position.}
78
79\docparam{size}{Window size. If the default size (-1, -1) is specified then the window is sized
80appropriately.}
81
82\docparam{style}{Window style. See \helpref{wxTreeCtrl}{wxtreectrl}.}
83
84\docparam{validator}{Window validator.}
85
86\docparam{name}{Window name.}
87
88\wxheading{See also}
89
90\helpref{wxTreeCtrl::Create}{wxtreectrlcreate}, \helpref{wxValidator}{wxvalidator}
91
92\membersection{wxTreeCtrl::\destruct{wxTreeCtrl}}
93
94\func{void}{\destruct{wxTreeCtrl}}{\void}
95
96Destructor, destroying the list control.
97
4fabb575
JS
98\membersection{wxTreeCtrl::AddRoot}\label{wxtreectrladdroot}
99
100\func{wxTreeItemId}{AddRoot}{\param{const wxString\&}{ text},
101 \param{int}{ image = -1}, \param{int}{ selImage = -1}, \param{wxTreeItemData*}{ data = NULL}}
102
103Adds the root node to the tree, returning the new item.
104
105If {\it image} > -1 and {\it selImage} is -1, the same image is used for
106both selected and unselected items.
107
108\membersection{wxTreeCtrl::AppendItem}\label{wxtreectrlappenditem}
109
110\func{wxTreeItemId}{AppendItem}{\param{const wxTreeItemId\& }{parent}, \param{const wxString\&}{ text},
111 \param{int}{ image = -1}, \param{int}{ selImage = -1}, \param{wxTreeItemData*}{ data = NULL}}
112
113Appends an item to the end of the branch identified by {\it parent}, return a new item id.
114
115If {\it image} > -1 and {\it selImage} is -1, the same image is used for
116both selected and unselected items.
117
118\membersection{wxTreeCtrl::Collapse}\label{wxtreectrlcollapse}
119
120\func{void}{Collapse}{\param{const wxTreeItemId\&}{ item}}
121
122Collapses the given item.
123
124\membersection{wxTreeCtrl::CollapseAndReset}\label{wxtreectrlcollapseandreset}
125
126\func{void}{CollapseAndReset}{\param{const wxTreeItemId\&}{ item}}
127
128Collapses the given item and removes all children.
129
a660d684
KB
130\membersection{wxTreeCtrl::Create}\label{wxtreectrlcreate}
131
eaaa6a06 132\func{bool}{wxTreeCtrl}{\param{wxWindow*}{ parent}, \param{wxWindowID}{ id},\rtfsp
a660d684 133\param{const wxPoint\&}{ pos = wxDefaultPosition}, \param{const wxSize\&}{ size = wxDefaultSize},\rtfsp
eaaa6a06 134\param{long}{ style = wxTR\_HAS\_BUTTONS}, \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = ``listCtrl"}}
a660d684
KB
135
136Creates the tree control. See \helpref{wxTreeCtrl::wxTreeCtrl}{wxtreectrlconstr} for further details.
137
4fabb575 138\membersection{wxTreeCtrl::Delete}\label{wxtreectrldelete}
a660d684 139
4fabb575 140\func{void}{Delete}{\param{const wxTreeItemId\&}{ item}}
a660d684 141
4fabb575 142Deletes the specified item.
a660d684 143
4fabb575 144\membersection{wxTreeCtrl::DeleteAllItems}\label{wxtreectrldeleteallitems}
a660d684 145
4fabb575 146\func{void}{DeleteAllItems}{\void}
a660d684 147
4fabb575 148Deletes all the items in the control.
a660d684 149
bbcdf8bc 150\membersection{wxTreeCtrl::EditLabel}\label{wxtreectrleditlabel}
a660d684 151
4fabb575 152\func{wxTextCtrl*}{EditLabel}{\param{const wxTreeItemId\&}{ item}, \param{wxClassInfo*}{ textControlClass = CLASSINFO(wxTextCtrl)}}
a660d684
KB
153
154Starts editing the label of the given item, returning the text control that the tree control uses for editing.
155
bbcdf8bc
JS
156Pass another {\it textControlClass} if a derived class is required. It usually will be, in order for
157the application to detect when editing has finished and to call \helpref{wxTreeCtrl::EndEditLabel}{wxtreectrlendeditlabel}.
158
159Do not delete the text control yourself.
160
161This function is currently supported under Windows only.
162
163\wxheading{See also}
164
165\helpref{wxTreeCtrl::EndEditLabel}{wxtreectrlendeditlabel}
166
167\membersection{wxTreeCtrl::EndEditLabel}\label{wxtreectrlendeditlabel}
168
4fabb575 169\func{void}{EndEditLabel}{\param{bool }{cancelEdit}}
bbcdf8bc
JS
170
171Ends label editing. If {\it cancelEdit} is TRUE, the edit will be cancelled.
172
173This function is currently supported under Windows only.
174
175\wxheading{See also}
176
177\helpref{wxTreeCtrl::EditLabel}{wxtreectrleditlabel}
178
a660d684
KB
179\membersection{wxTreeCtrl::EnsureVisible}\label{wxtreectrlensurevisible}
180
4fabb575 181\func{void}{EnsureVisible}{\param{const wxTreeItemId\&}{ item}}
a660d684
KB
182
183Scrolls and/or expands items to ensure that the given item is visible.
184
4fabb575 185\membersection{wxTreeCtrl::Expand}\label{wxtreectrlexpand}
a660d684 186
4fabb575 187\func{void}{Expand}{\param{const wxTreeItemId\&}{ item}}
a660d684
KB
188
189Expands the given item.
190
4fabb575 191\membersection{wxTreeCtrl::GetBoundingRect}\label{wxtreectrlgetitemrect}
a660d684 192
4fabb575
JS
193\constfunc{void}{GetBoundingRect}{\param{const wxTreeItemId\&}{ item}, \param{wxRect\& }{rect}, \param{bool }{textOnly = FALSE}}
194
195Returns the position and size of the rectangle bounding the item.
a660d684 196
4fabb575 197\membersection{wxTreeCtrl::GetChildrenCount}\label{wxtreectrlgetchildrencount}
a660d684 198
4fabb575 199\constfunc{size\_t}{GetChildrenCount}{\param{const wxTreeItemId\&}{ item}, \param{bool}{ recursively = TRUE}}
a660d684 200
4fabb575
JS
201Returns the number of items in the branch. If {\it recursively} is TRUE, returns the total number
202of descendants, otherwise only one level of children is counted.
a660d684
KB
203
204\membersection{wxTreeCtrl::GetCount}\label{wxtreectrlgetcount}
205
206\constfunc{int}{GetCount}{\void}
207
208Returns the number of items in the control.
209
210\membersection{wxTreeCtrl::GetEditControl}\label{wxtreectrlgeteditcontrol}
211
212\constfunc{wxTextCtrl\&}{GetEditControl}{\void}
213
214Returns the edit control used to edit a label.
215
4fabb575
JS
216\membersection{wxTreeCtrl::GetFirstChild}\label{wxtreectrlgetfirstchild}
217
218\constfunc{wxTreeItemId}{GetFirstChild}{\param{const wxTreeItemId\&}{ item}, \param{long\& }{cookie}}
219
220Returns the first child; call \helpref{wxTreeCtrl::GetNextChild}{wxtreectrlgetnextchild} for the next child.
221
222For this enumeration function you must pass in a `cookie' parameter
223which is opaque for the application but is necessary for the library
224to make these functions reentrant (i.e. allow more than one
225enumeration on one and the same object simultaneously). The cookie passed to
226GetFirstChild and GetNextChild should be the same.
227
228Returns 0 if there are no further children.
229
230\wxheading{See also}
231
232\helpref{wxTreeCtrl::GetNextChild}{wxtreectrlgetnextchild}
233
a660d684
KB
234\membersection{wxTreeCtrl::GetFirstVisibleItem}\label{wxtreectrlgetfirstvisibleitem}
235
4fabb575 236\constfunc{wxTreeItemId}{GetFirstVisibleItem}{\void}
a660d684
KB
237
238Returns the first visible item.
239
240\membersection{wxTreeCtrl::GetImageList}\label{wxtreectrlgetimagelist}
241
eaaa6a06 242\constfunc{wxImageList*}{GetImageList}{\param{int }{which = wxIMAGE\_LIST\_NORMAL}}
a660d684
KB
243
244Returns the specified image list. {\it which} may be one of:
245
246\twocolwidtha{5cm}
247\begin{twocollist}\itemsep=0pt
248\twocolitem{\windowstyle{wxIMAGE\_LIST\_NORMAL}}{The normal (large icon) image list.}
249\twocolitem{\windowstyle{wxIMAGE\_LIST\_SMALL}}{The small icon image list.}
250\twocolitem{\windowstyle{wxIMAGE\_LIST\_STATE}}{The user-defined state image list (unimplemented).}
251\end{twocollist}
252
253\membersection{wxTreeCtrl::GetIndent}\label{wxtreectrlgetindent}
254
255\constfunc{int}{GetIndent}{\void}
256
257Returns the current tree control indentation.
258
4fabb575 259\membersection{wxTreeCtrl::GetItemData}\label{wxtreectrlgetitemdata}
a660d684 260
4fabb575 261\constfunc{wxTreeItemData*}{GetItemData}{\param{const wxTreeItemId\&}{ item}}
a660d684 262
4fabb575 263Returns the tree item data associated with the item.
a660d684 264
4fabb575 265\wxheading{See also}
a660d684 266
4fabb575 267\helpref{wxTreeItemData}{wxtreeitemdata}
a660d684 268
4fabb575 269\membersection{wxTreeCtrl::GetItemImage}\label{wxtreectrlgetitemimage}
a660d684 270
4fabb575 271\constfunc{int}{GetItemImage}{\param{const wxTreeItemId\& }{item}}
a660d684 272
4fabb575 273Gets the normal item image.
a660d684 274
4fabb575 275\membersection{wxTreeCtrl::GetItemText}\label{wxtreectrlgetitemtext}
a660d684 276
4fabb575 277\constfunc{wxString}{GetItemText}{\param{const wxTreeItemId\&}{ item}}
a660d684 278
4fabb575 279Returns the item label.
a660d684 280
978f38c2
VZ
281\membersection{wxTreeCtrl::GetLastChild}\label{wxtreectrlgetlastchild}
282
283\constfunc{wxTreeItemId}{GetLastChild}{\param{const wxTreeItemId\&}{ item}}
284
285Returns the last child of the item (or 0 if this item has no children).
286
287\wxheading{See also}
288
289\helpref{GetFirstChild}{wxtreectrlgetfirstchild},
290\helpref{GetLastChild}{wxtreectrlgetlastchild}
291
4fabb575 292\membersection{wxTreeCtrl::GetNextChild}\label{wxtreectrlgetnextchild}
a660d684 293
4fabb575 294\constfunc{wxTreeItemId}{GetNextChild}{\param{const wxTreeItemId\&}{ item}, \param{long\& }{cookie}}
a660d684 295
4fabb575 296Returns the next child; call \helpref{wxTreeCtrl::GetFirstChild}{wxtreectrlgetfirstchild} for the first child.
a660d684 297
4fabb575
JS
298For this enumeration function you must pass in a `cookie' parameter
299which is opaque for the application but is necessary for the library
300to make these functions reentrant (i.e. allow more than one
301enumeration on one and the same object simultaneously). The cookie passed to
302GetFirstChild and GetNextChild should be the same.
a660d684 303
4fabb575 304Returns 0 if there are no further children.
a660d684 305
4fabb575 306\wxheading{See also}
a660d684 307
4fabb575 308\helpref{wxTreeCtrl::GetFirstChild}{wxtreectrlgetfirstchild}
a660d684 309
4fabb575 310\membersection{wxTreeCtrl::GetNextSibling}\label{wxtreectrlgetnextsibling}
a660d684 311
4fabb575 312\constfunc{wxTreeItemId}{GetNextSibling}{\param{const wxTreeItemId\&}{ item}}
a660d684 313
4fabb575 314Returns the next sibling of the specified item; call \helpref{wxTreeCtrl::GetPrevSibling}{wxtreectrlgetprevsibling} for the previous sibling.
a660d684 315
4fabb575 316Returns 0 if there are no further siblings.
a660d684 317
4fabb575
JS
318\wxheading{See also}
319
320\helpref{wxTreeCtrl::GetPrevSibling}{wxtreectrlgetprevsibling}
321
322\membersection{wxTreeCtrl::GetNextVisible}\label{wxtreectrlgetnextvisible}
323
324\constfunc{wxTreeItemId}{GetNextVisible}{\param{const wxTreeItemId\&}{ item}}
a660d684
KB
325
326Returns the next visible item.
327
328\membersection{wxTreeCtrl::GetParent}\label{wxtreectrlgetparent}
329
4fabb575 330\constfunc{wxTreeItemId}{GetParent}{\param{const wxTreeItemId\&}{ item}}
a660d684
KB
331
332Returns the item's parent.
333
4fabb575
JS
334\membersection{wxTreeCtrl::GetPrevSibling}\label{wxtreectrlgetprevsibling}
335
336\constfunc{wxTreeItemId}{GetPrevSibling}{\param{const wxTreeItemId\&}{ item}}
337
338Returns the previous sibling of the specified item; call \helpref{wxTreeCtrl::GetNextSibling}{wxtreectrlgetnextsibling} for the next sibling.
339
340Returns 0 if there are no further children.
341
342\wxheading{See also}
343
344\helpref{wxTreeCtrl::GetNextSibling}{wxtreectrlgetnextsibling}
345
346\membersection{wxTreeCtrl::GetPrevVisible}\label{wxtreectrlgetprevvisible}
347
348\constfunc{wxTreeItemId}{GetPrevVisible}{\param{const wxTreeItemId\&}{ item}}
349
350Returns the previous visible item.
351
a660d684
KB
352\membersection{wxTreeCtrl::GetRootItem}\label{wxtreectrlgetrootitem}
353
4fabb575 354\constfunc{wxTreeItemId}{GetRootItem}{\void}
a660d684
KB
355
356Returns the root item for the tree control.
357
4fabb575
JS
358\membersection{wxTreeCtrl::GetSelectedItemImage}\label{wxtreectrlgetselecteditemimage}
359
360\constfunc{int}{GetSelectedItemImage}{\param{const wxTreeItemId\& }{item}}
361
362Gets the selected item image.
363
a660d684
KB
364\membersection{wxTreeCtrl::GetSelection}\label{wxtreectrlgetselection}
365
4fabb575 366\constfunc{wxTreeItemId}{GetSelection}{\void}
a660d684
KB
367
368Returns the selection, or 0 if there is no selection.
369
370\membersection{wxTreeCtrl::HitTest}\label{wxtreectrlhittest}
371
372\func{long}{HitTest}{\param{const wxPoint\& }{point}, \param{int\& }{flags}}
373
374Calculates which (if any) item is under the given point, returning extra information
375in {\it flags}. {\it flags} is a bitlist of the following:
376
377\twocolwidtha{5cm}
378\begin{twocollist}\itemsep=0pt
379\twocolitem{wxTREE\_HITTEST\_ABOVE}{Above the client area.}
380\twocolitem{wxTREE\_HITTEST\_BELOW}{Below the client area.}
381\twocolitem{wxTREE\_HITTEST\_NOWHERE}{In the client area but below the last item.}
382\twocolitem{wxTREE\_HITTEST\_ONITEMBUTTON}{On the button associated with an item.}
383\twocolitem{wxTREE\_HITTEST\_ONITEMICON}{On the bitmap associated with an item.}
384\twocolitem{wxTREE\_HITTEST\_ONITEMINDENT}{In the indentation associated with an item.}
385\twocolitem{wxTREE\_HITTEST\_ONITEMLABEL}{On the label (string) associated with an item.}
386\twocolitem{wxTREE\_HITTEST\_ONITEMRIGHT}{In the area to the right of an item.}
387\twocolitem{wxTREE\_HITTEST\_ONITEMSTATEICON}{On the state icon for a tree view item that is in a user-defined state.}
388\twocolitem{wxTREE\_HITTEST\_TOLEFT}{To the right of the client area.}
389\twocolitem{wxTREE\_HITTEST\_TORIGHT}{To the left of the client area.}
390\end{twocollist}
391
392\membersection{wxTreeCtrl::InsertItem}\label{wxtreectrlinsertitem}
393
4fabb575
JS
394\func{wxTreeItemId}{InsertItem}{\param{const wxTreeItemId\& }{parent}, \param{const wxTreeItemId\& }{previous}, \param{const wxString\&}{ text},
395 \param{int}{ image = -1}, \param{int}{ selImage = -1}, \param{wxTreeItemData*}{ data = NULL}}
a660d684 396
4fabb575 397Inserts an item after a given one.
a660d684
KB
398
399If {\it image} > -1 and {\it selImage} is -1, the same image is used for
400both selected and unselected items.
401
4fabb575
JS
402\membersection{wxTreeCtrl::IsExpanded}\label{wxtreectrlisexpanded}
403
404\constfunc{bool}{IsExpanded}{\param{const wxTreeItemId\&}{ item}}
405
406Returns TRUE if the item is expanded (only makes sense if it has children).
407
408\membersection{wxTreeCtrl::IsSelected}\label{wxtreectrlisselected}
409
410\constfunc{bool}{IsSelected}{\param{const wxTreeItemId\&}{ item}}
411
412Returns TRUE if the item is selected.
413
414\membersection{wxTreeCtrl::IsVisible}\label{wxtreectrlisvisible}
415
416\constfunc{bool}{IsVisible}{\param{const wxTreeItemId\&}{ item}}
417
418Returns TRUE if the item is visible (it might be outside the view, or not expanded).
419
a660d684
KB
420\membersection{wxTreeCtrl::ItemHasChildren}\label{wxtreectrlitemhaschildren}
421
4fabb575 422\constfunc{bool}{ItemHasChildren}{\param{const wxTreeItemId\&}{ item}}
a660d684
KB
423
424Returns TRUE if the item has children.
425
4fabb575
JS
426\membersection{wxTreeCtrl::PrependItem}\label{wxtreectrlprependitem}
427
428\func{wxTreeItemId}{PrependItem}{\param{const wxTreeItemId\& }{parent}, \param{const wxString\&}{ text},
429 \param{int}{ image = -1}, \param{int}{ selImage = -1}, \param{wxTreeItemData*}{ data = NULL}}
430
431Appends an item as the first child of {\it parent}, return a new item id.
432
433If {\it image} > -1 and {\it selImage} is -1, the same image is used for
434both selected and unselected items.
435
a660d684
KB
436\membersection{wxTreeCtrl::ScrollTo}\label{wxtreectrlscrollto}
437
4fabb575 438\func{void}{ScrollTo}{\param{const wxTreeItemId\&}{ item}}
a660d684 439
4fabb575 440Scrolls the specified item into view.
a660d684
KB
441
442\membersection{wxTreeCtrl::SelectItem}\label{wxtreectrlselectitem}
443
4fabb575 444\func{bool}{SelectItem}{\param{const wxTreeItemId\&}{ item}}
a660d684
KB
445
446Selects the given item.
447
448\membersection{wxTreeCtrl::SetIndent}\label{wxtreectrlsetindent}
449
450\func{void}{SetIndent}{\param{int }{indent}}
451
452Sets the indentation for the tree control.
453
454\membersection{wxTreeCtrl::SetImageList}\label{wxtreectrlsetimagelist}
455
eaaa6a06 456\func{void}{SetImageList}{\param{wxImageList*}{ imageList}, \param{int }{which = wxIMAGE\_LIST\_NORMAL}}
a660d684
KB
457
458Sets the image list. {\it which} should be one of wxIMAGE\_LIST\_NORMAL, wxIMAGE\_LIST\_SMALL and
459wxIMAGE\_LIST\_STATE.
460
4fabb575 461\membersection{wxTreeCtrl::SetItemData}\label{wxtreectrlsetitemdata}
a660d684 462
4fabb575 463\func{void}{SetItemData}{\param{const wxTreeItemId\&}{ item}, \param{wxTreeItemData* }{data}}
a660d684 464
4fabb575 465Sets the item client data.
a660d684 466
4fabb575 467\membersection{wxTreeCtrl::SetItemHasChildren}\label{wxtreectrlsetitemhaschildren}
a660d684 468
4fabb575 469\func{void}{SetItemHasChildren}{\param{const wxTreeItemId\&}{ item}, \param{bool }{hasChildren = TRUE}}
a660d684 470
4fabb575
JS
471Force appearance of the button next to the item. This is useful to
472allow the user to expand the items which don't have any children now,
473but instead adding them only when needed, thus minimizing memory
474usage and loading time.
a660d684
KB
475
476\membersection{wxTreeCtrl::SetItemImage}\label{wxtreectrlsetitemimage}
477
4fabb575 478\func{void}{SetItemImage}{\param{const wxTreeItemId\&}{ item}, \param{int }{image}}
a660d684 479
4fabb575 480Sets the normal item image. This is an index into the assciated image list.
a660d684 481
4fabb575 482\membersection{wxTreeCtrl::SetItemSelectedImage}\label{wxtreectrlsetitemselectedimage}
a660d684 483
4fabb575 484\func{void}{SetItemSelectedImage}{\param{const wxTreeItemId\&}{ item}, \param{int }{selImage}}
a660d684 485
4fabb575 486Sets the item selected image. This is an index into the assciated image list.
a660d684
KB
487
488\membersection{wxTreeCtrl::SetItemText}\label{wxtreectrlsetitemtext}
489
4fabb575 490\func{void}{SetItemText}{\param{const wxTreeItemId\&}{ item}, \param{const wxString\& }{text}}
a660d684
KB
491
492Sets the item label.
493
4fabb575 494\membersection{wxTreeCtrl::SortChildren}\label{wxtreectrlsortchildren}
a660d684 495
4fabb575 496\func{void}{SortChildren}{\param{const wxTreeItemId\&}{ item}, \param{wxTreeItemCmpFunc*}{ cmpFunction = NULL}}
a660d684 497
4fabb575
JS
498Sorts the children of the given item. If {\it cmpFunction} is NULL, sorts in ascending alphabetical order;
499otherwise the custom sort function is used, as follows:
a660d684 500
4fabb575
JS
501{\small
502\begin{verbatim}
503// a callback function used for sorting tree items, it should return -1 if the
504// first item precedes the second, +1 if the second precedes the first or 0 if
505// they're equivalent
506class wxTreeItemData;
507typedef int (*wxTreeItemCmpFunc)(wxTreeItemData *item1, wxTreeItemData *item2);
508\end{verbatim}
509}
510
511\wxheading{See also}
512
513\helpref{wxTreeItemData}{wxtreeitemdata}
514
515\membersection{wxTreeCtrl::Toggle}\label{wxtreectrltoggle}
516
517\func{void}{Toggle}{\param{const wxTreeItemId\&}{ item}}
518
519Toggles the given item between collapsed and expanded states.
520
521\membersection{wxTreeCtrl::Unselect}\label{wxtreectrlunselect}
522
523\func{void}{Unselect}{\void}
524
525Removes the selection from the currently selected item (if any).
526
527\section{\class{wxTreeItemData}}\label{wxtreeitemdata}
528
529wxTreeItemData is some (arbitrary) user class associated with some item. The
530main advantage of having this class (compared to the old untyped interface) is
531that wxTreeItemData's are destroyed automatically by the tree and, as this
532class has virtual dtor, it means that the memory will be automatically
533freed. We don't just use wxObject instead of wxTreeItemData because
534the size of this class is critical: in any real application, each tree leaf
535will have wxTreeItemData associated with it and number of leaves may be
536quite big.
537
538Because the objects of this class are deleted by the tree, they should
539always be allocated on the heap.
540
541\wxheading{Derived from}
542
543wxTreeItemId
544
954b8ae6
JS
545\wxheading{Include files}
546
547<wx/treectrl.h>
548
4fabb575
JS
549\wxheading{See also}
550
551\helpref{wxTreeCtrl}{wxtreectrl}
552
553\latexignore{\rtfignore{\wxheading{Members}}}
554
555\membersection{wxTreeItemData::wxTreeItemData}\label{wxtreeitemdataconstr}
556
557\func{}{wxTreeItemData}{\void}
558
559Default constructor.
560
561\membersection{wxTreeItemData::\destruct{wxTreeItemData}}
562
563\func{void}{\destruct{wxTreeItemData}}{\void}
564
565Virtual destructor.
566
567\membersection{wxTreeItemData::GetId}\label{wxtreeitemdatagetid}
568
569\func{const wxTreeItem\&}{GetId}{\void}
570
571Returns the item associated with this node.
572
573\membersection{wxTreeItemData::SetId}\label{wxtreeitemdatasetid}
a660d684 574
4fabb575 575\func{void}{SetId}{\param{const wxTreeItemId\&}{ id}}
a660d684 576
4fabb575 577Sets the item associated with this node.
a660d684 578