64f590eaa1
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18705 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
873 lines
34 KiB
TeX
873 lines
34 KiB
TeX
\section{\class{wxTreeCtrl}}\label{wxtreectrl}
|
|
|
|
A tree control presents information as a hierarchy, with items that may be expanded
|
|
to show further items. Items in a tree control are referenced by wxTreeItemId handles,
|
|
which may be tested for validity by calling wxTreeItemId::IsOk.
|
|
|
|
To intercept events from a tree control, use the event table macros described in \helpref{wxTreeEvent}{wxtreeevent}.
|
|
|
|
\wxheading{Derived from}
|
|
|
|
\helpref{wxControl}{wxcontrol}\\
|
|
\helpref{wxWindow}{wxwindow}\\
|
|
\helpref{wxEvtHandler}{wxevthandler}\\
|
|
\helpref{wxObject}{wxobject}
|
|
|
|
\wxheading{Include files}
|
|
|
|
<wx/treectrl.h>
|
|
|
|
\wxheading{Window styles}
|
|
|
|
\twocolwidtha{5cm}
|
|
\begin{twocollist}\itemsep=0pt
|
|
\twocolitem{\windowstyle{wxTR\_EDIT\_LABELS}}{Use this style
|
|
if you wish the user to be able to edit labels in the tree control.}
|
|
\twocolitem{\windowstyle{wxTR\_NO\_BUTTONS}}{For convenience
|
|
to document that no buttons are to be drawn.}
|
|
\twocolitem{\windowstyle{wxTR\_HAS\_BUTTONS}}{Use this style
|
|
to show + and - buttons to the left of parent items.}
|
|
\twocolitem{\windowstyle{wxTR\_TWIST\_BUTTONS}}{Use this style
|
|
to show Mac-style twister buttons to the left of parent items.
|
|
If both wxTR\_HAS\_BUTTONS and wxTR\_TWIST\_BUTTONS are given,
|
|
twister buttons are generated. Generic only.}
|
|
\twocolitem{\windowstyle{wxTR\_NO\_LINES}}{Use this style
|
|
to hide vertical level connectors.}
|
|
\twocolitem{\windowstyle{wxTR\_FULL\_ROW\_HIGHLIGHT}}{Use this style to have the background
|
|
colour and the selection highlight extend over the entire horizontal
|
|
row of the tree control window. (This flag is ignored under Windows unless you
|
|
specify wxTR\_NO\_LINES as well.) }
|
|
\twocolitem{\windowstyle{wxTR\_LINES\_AT\_ROOT}}{Use this style
|
|
to show lines between root nodes.
|
|
Only applicable if wxTR\_HIDE\_ROOT is set and wxTR\_NO\_LINES is not set.}
|
|
\twocolitem{\windowstyle{wxTR\_HIDE\_ROOT}}{Use this style
|
|
to suppress the display of the root node,
|
|
effectively causing the first-level nodes
|
|
to appear as a series of root nodes.}
|
|
\twocolitem{\windowstyle{wxTR\_ROW\_LINES}}{Use this style
|
|
to draw a contrasting border between displayed rows.}
|
|
\twocolitem{\windowstyle{wxTR\_HAS\_VARIABLE\_ROW\_HEIGHT}}{Use this style
|
|
to cause row heights to be just big enough to fit the content.
|
|
If not set, all rows use the largest row height.
|
|
The default is that this flag is unset.
|
|
Generic only.}
|
|
\twocolitem{\windowstyle{wxTR\_SINGLE}}{For convenience
|
|
to document that only one item may be selected at a time.
|
|
Selecting another item causes the current selection, if any,
|
|
to be deselected. This is the default.}
|
|
\twocolitem{\windowstyle{wxTR\_MULTIPLE}}{Use this style
|
|
to allow a range of items to be selected.
|
|
If a second range is selected, the current range, if any, is deselected.}
|
|
\twocolitem{\windowstyle{wxTR\_EXTENDED}}{Use this style
|
|
to allow disjoint items to be selected. (Only partially implemented; may not work in all cases.)}
|
|
\twocolitem{\windowstyle{wxTR\_DEFAULT\_STYLE}}{The set of flags that are
|
|
closest to the defaults for the native control for a particular toolkit.}
|
|
\end{twocollist}
|
|
|
|
See also \helpref{window styles overview}{windowstyles}.
|
|
|
|
\wxheading{Event handling}
|
|
|
|
To process input from a tree control, use these event handler macros to direct input to member
|
|
functions that take a \helpref{wxTreeEvent}{wxtreeevent} argument.
|
|
|
|
\twocolwidtha{7cm}
|
|
\begin{twocollist}\itemsep=0pt
|
|
\twocolitem{{\bf EVT\_TREE\_BEGIN\_DRAG(id, func)}}{Begin dragging with the left mouse button.}
|
|
\twocolitem{{\bf EVT\_TREE\_BEGIN\_RDRAG(id, func)}}{Begin dragging with the right mouse button.}
|
|
\twocolitem{{\bf EVT\_TREE\_BEGIN\_LABEL\_EDIT(id, func)}}{Begin editing a label. This can be prevented by calling \helpref{Veto()}{wxnotifyeventveto}.}
|
|
\twocolitem{{\bf EVT\_TREE\_END\_LABEL\_EDIT(id, func)}}{Finish editing a label. This can be prevented by calling \helpref{Veto()}{wxnotifyeventveto}.}
|
|
\twocolitem{{\bf EVT\_TREE\_DELETE\_ITEM(id, func)}}{Delete an item.}
|
|
\twocolitem{{\bf EVT\_TREE\_GET\_INFO(id, func)}}{Request information from the application.}
|
|
\twocolitem{{\bf EVT\_TREE\_SET\_INFO(id, func)}}{Information is being supplied.}
|
|
\twocolitem{{\bf EVT\_TREE\_ITEM\_ACTIVATED(id, func)}}{The item has been activated, i.e. chosen by double clicking it with mouse or from keyboard}
|
|
\twocolitem{{\bf EVT\_TREE\_ITEM\_COLLAPSED(id, func)}}{The item has been collapsed.}
|
|
\twocolitem{{\bf EVT\_TREE\_ITEM\_COLLAPSING(id, func)}}{The item is being collapsed. This can be prevented by calling \helpref{Veto()}{wxnotifyeventveto}.}
|
|
\twocolitem{{\bf EVT\_TREE\_ITEM\_EXPANDED(id, func)}}{The item has been expanded.}
|
|
\twocolitem{{\bf EVT\_TREE\_ITEM\_EXPANDING(id, func)}}{The item is being expanded. This can be prevented by calling \helpref{Veto()}{wxnotifyeventveto}.}
|
|
\twocolitem{{\bf EVT\_TREE\_SEL\_CHANGED(id, func)}}{Selection has changed.}
|
|
\twocolitem{{\bf EVT\_TREE\_SEL\_CHANGING(id, func)}}{Selection is changing. This can be prevented by calling \helpref{Veto()}{wxnotifyeventveto}.}
|
|
\twocolitem{{\bf EVT\_TREE\_KEY\_DOWN(id, func)}}{A key has been pressed.}
|
|
\end{twocollist}
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxTreeItemData}{wxtreeitemdata}, \helpref{wxTreeCtrl overview}{wxtreectrloverview}, \helpref{wxListBox}{wxlistbox}, \helpref{wxListCtrl}{wxlistctrl},\rtfsp
|
|
\helpref{wxImageList}{wximagelist}, \helpref{wxTreeEvent}{wxtreeevent}
|
|
|
|
\wxheading{Win32 notes}
|
|
|
|
wxTreeCtrl class uses the standard common treeview control under Win32
|
|
implemented in the system library {\tt comctl32.dll}. Some versions of this
|
|
library are known to have bugs with handling the tree control colours: the
|
|
usual symptom is that the expanded items leave black (or otherwise incorrectly
|
|
coloured) background behind them, especially for the controls using non
|
|
default background colour. The recommended solution is to upgrade the {\tt comctl32.dll}
|
|
to a newer version: see
|
|
\urlref{http://www.microsoft.com/msdownload/ieplatform/ie/comctrlx86.asp}{http://www.microsoft.com/msdownload/ieplatform/ie/comctrlx86.asp}.
|
|
|
|
\latexignore{\rtfignore{\wxheading{Members}}}
|
|
|
|
\membersection{wxTreeCtrl::wxTreeCtrl}\label{wxtreectrlconstr}
|
|
|
|
\func{}{wxTreeCtrl}{\void}
|
|
|
|
Default constructor.
|
|
|
|
\func{}{wxTreeCtrl}{\param{wxWindow*}{ parent}, \param{wxWindowID}{ id},\rtfsp
|
|
\param{const wxPoint\&}{ pos = wxDefaultPosition}, \param{const wxSize\&}{ size = wxDefaultSize},\rtfsp
|
|
\param{long}{ style = wxTR\_HAS\_BUTTONS}, \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = ``listCtrl"}}
|
|
|
|
Constructor, creating and showing a tree control.
|
|
|
|
\wxheading{Parameters}
|
|
|
|
\docparam{parent}{Parent window. Must not be {\tt NULL}.}
|
|
|
|
\docparam{id}{Window identifier. A value of -1 indicates a default value.}
|
|
|
|
\docparam{pos}{Window position.}
|
|
|
|
\docparam{size}{Window size. If the default size (-1, -1) is specified then the window is sized
|
|
appropriately.}
|
|
|
|
\docparam{style}{Window style. See \helpref{wxTreeCtrl}{wxtreectrl}.}
|
|
|
|
\docparam{validator}{Window validator.}
|
|
|
|
\docparam{name}{Window name.}
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxTreeCtrl::Create}{wxtreectrlcreate}, \helpref{wxValidator}{wxvalidator}
|
|
|
|
\membersection{wxTreeCtrl::\destruct{wxTreeCtrl}}
|
|
|
|
\func{void}{\destruct{wxTreeCtrl}}{\void}
|
|
|
|
Destructor, destroying the list control.
|
|
|
|
\membersection{wxTreeCtrl::AddRoot}\label{wxtreectrladdroot}
|
|
|
|
\func{wxTreeItemId}{AddRoot}{\param{const wxString\&}{ text},
|
|
\param{int}{ image = -1}, \param{int}{ selImage = -1}, \param{wxTreeItemData*}{ data = {\tt NULL}}}
|
|
|
|
Adds the root node to the tree, returning the new item.
|
|
|
|
The {\it image} and {\it selImage} parameters are an index within
|
|
the normal image list specifying the image to use for unselected and
|
|
selected items, respectively.
|
|
If {\it image} > -1 and {\it selImage} is -1, the same image is used for
|
|
both selected and unselected items.
|
|
|
|
\membersection{wxTreeCtrl::AppendItem}\label{wxtreectrlappenditem}
|
|
|
|
\func{wxTreeItemId}{AppendItem}{\param{const wxTreeItemId\& }{parent}, \param{const wxString\&}{ text},
|
|
\param{int}{ image = -1}, \param{int}{ selImage = -1}, \param{wxTreeItemData*}{ data = {\tt NULL}}}
|
|
|
|
Appends an item to the end of the branch identified by {\it parent}, return a new item id.
|
|
|
|
The {\it image} and {\it selImage} parameters are an index within
|
|
the normal image list specifying the image to use for unselected and
|
|
selected items, respectively.
|
|
If {\it image} > -1 and {\it selImage} is -1, the same image is used for
|
|
both selected and unselected items.
|
|
|
|
\membersection{wxTreeCtrl::AssignButtonsImageList}\label{wxtreectrlassignbuttonsimagelist}
|
|
|
|
\func{void}{AssignButtonsImageList}{\param{wxImageList*}{ imageList}}
|
|
|
|
Sets the buttons image list. The button images assigned with this method will
|
|
be automatically deleted by wxTreeCtrl as appropriate
|
|
(i.e. it takes ownership of the list).
|
|
|
|
Setting or assigning the button image list enables the display of image buttons.
|
|
Once enabled, the only way to disable the display of button images is to set
|
|
the button image list to {\tt NULL}.
|
|
|
|
This function is only available in the generic version.
|
|
|
|
See also \helpref{SetButtonsImageList}{wxtreectrlsetbuttonsimagelist}.
|
|
|
|
\membersection{wxTreeCtrl::AssignImageList}\label{wxtreectrlassignimagelist}
|
|
|
|
\func{void}{AssignImageList}{\param{wxImageList*}{ imageList}}
|
|
|
|
Sets the normal image list. Image list assigned with this method will
|
|
be automatically deleted by wxTreeCtrl as appropriate
|
|
(i.e. it takes ownership of the list).
|
|
|
|
See also \helpref{SetImageList}{wxtreectrlsetimagelist}.
|
|
|
|
\membersection{wxTreeCtrl::AssignStateImageList}\label{wxtreectrlassignstateimagelist}
|
|
|
|
\func{void}{AssignStateImageList}{\param{wxImageList*}{ imageList}}
|
|
|
|
Sets the state image list. Image list assigned with this method will
|
|
be automatically deleted by wxTreeCtrl as appropriate
|
|
(i.e. it takes ownership of the list).
|
|
|
|
See also \helpref{SetStateImageList}{wxtreectrlsetstateimagelist}.
|
|
|
|
|
|
\membersection{wxTreeCtrl::Collapse}\label{wxtreectrlcollapse}
|
|
|
|
\func{void}{Collapse}{\param{const wxTreeItemId\&}{ item}}
|
|
|
|
Collapses the given item.
|
|
|
|
\membersection{wxTreeCtrl::CollapseAndReset}\label{wxtreectrlcollapseandreset}
|
|
|
|
\func{void}{CollapseAndReset}{\param{const wxTreeItemId\&}{ item}}
|
|
|
|
Collapses the given item and removes all children.
|
|
|
|
\membersection{wxTreeCtrl::Create}\label{wxtreectrlcreate}
|
|
|
|
\func{bool}{wxTreeCtrl}{\param{wxWindow*}{ parent}, \param{wxWindowID}{ id},\rtfsp
|
|
\param{const wxPoint\&}{ pos = wxDefaultPosition}, \param{const wxSize\&}{ size = wxDefaultSize},\rtfsp
|
|
\param{long}{ style = wxTR\_HAS\_BUTTONS}, \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = ``listCtrl"}}
|
|
|
|
Creates the tree control. See \helpref{wxTreeCtrl::wxTreeCtrl}{wxtreectrlconstr} for further details.
|
|
|
|
\membersection{wxTreeCtrl::Delete}\label{wxtreectrldelete}
|
|
|
|
\func{void}{Delete}{\param{const wxTreeItemId\&}{ item}}
|
|
|
|
Deletes the specified item. A {\tt EVT\_TREE\_DELETE\_ITEM} event will be
|
|
generated.
|
|
|
|
\membersection{wxTreeCtrl::DeleteAllItems}\label{wxtreectrldeleteallitems}
|
|
|
|
\func{void}{DeleteAllItems}{\void}
|
|
|
|
Deletes all the items in the control. Note that this may not generate
|
|
{\tt EVT\_TREE\_DELETE\_ITEM} events under some Windows versions although
|
|
normally such event is generated for each removed item.
|
|
|
|
\membersection{wxTreeCtrl::DeleteChildren}\label{wxtreectrldeletechildren}
|
|
|
|
\func{void}{DeleteChildren}{\param{const wxTreeItemId\& }{item}}
|
|
|
|
Deletes all children of the given item (but not the item itself). Note that
|
|
this will {\bf not} generate any events unlike
|
|
\helpref{Delete}{wxtreectrldelete} method.
|
|
|
|
\membersection{wxTreeCtrl::EditLabel}\label{wxtreectrleditlabel}
|
|
|
|
\func{void}{EditLabel}{\param{const wxTreeItemId\&}{ item}}
|
|
|
|
Starts editing the label of the given item. This function generates a
|
|
EVT\_TREE\_BEGIN\_LABEL\_EDIT event which can be vetoed so that no
|
|
text control will appear for in-place editing.
|
|
|
|
If the user changed the label (i.e. s/he does not press ESC or leave
|
|
the text control without changes, a EVT\_TREE\_END\_LABEL\_EDIT event
|
|
will be sent which can be vetoed as well.
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxTreeCtrl::EndEditLabel}{wxtreectrlendeditlabel},
|
|
\helpref{wxTreeEvent}{wxtreeevent}
|
|
|
|
\membersection{wxTreeCtrl::EndEditLabel}\label{wxtreectrlendeditlabel}
|
|
|
|
\func{void}{EndEditLabel}{\param{bool }{cancelEdit}}
|
|
|
|
Ends label editing. If {\it cancelEdit} is {\tt TRUE}, the edit will be cancelled.
|
|
|
|
This function is currently supported under Windows only.
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxTreeCtrl::EditLabel}{wxtreectrleditlabel}
|
|
|
|
\membersection{wxTreeCtrl::EnsureVisible}\label{wxtreectrlensurevisible}
|
|
|
|
\func{void}{EnsureVisible}{\param{const wxTreeItemId\&}{ item}}
|
|
|
|
Scrolls and/or expands items to ensure that the given item is visible.
|
|
|
|
\membersection{wxTreeCtrl::Expand}\label{wxtreectrlexpand}
|
|
|
|
\func{void}{Expand}{\param{const wxTreeItemId\&}{ item}}
|
|
|
|
Expands the given item.
|
|
|
|
\membersection{wxTreeCtrl::GetBoundingRect}\label{wxtreectrlgetitemrect}
|
|
|
|
\constfunc{bool}{GetBoundingRect}{\param{const wxTreeItemId\&}{ item}, \param{wxRect\& }{rect}, \param{bool }{textOnly = {\tt FALSE}}}
|
|
|
|
Retrieves the rectangle bounding the {\it item}. If {\it textOnly} is {\tt TRUE},
|
|
only the rectangle around the item's label will be returned, otherwise the
|
|
item's image is also taken into account.
|
|
|
|
The return value is {\tt TRUE} if the rectangle was successfully retrieved or {\tt FALSE}
|
|
if it was not (in this case {\it rect} is not changed) - for example, if the
|
|
item is currently invisible.
|
|
|
|
\pythonnote{The wxPython version of this method requires only the
|
|
{\tt item} and {\tt textOnly} parameters. The return value is either a
|
|
{\tt wxRect} object or {\tt None}.}
|
|
|
|
\perlnote{In wxPerl this method only takes the parameters {\tt item} and
|
|
{\tt textOnly}, and returns a Wx::Rect ( or undef ).}
|
|
|
|
\membersection{wxTreeCtrl::GetButtonsImageList}\label{wxtreectrlgetbuttonsimagelist}
|
|
|
|
\constfunc{wxImageList*}{GetButtonsImageList}{\void}
|
|
|
|
Returns the buttons image list (from which application-defined button images are taken).
|
|
|
|
This function is only available in the generic version.
|
|
|
|
\membersection{wxTreeCtrl::GetChildrenCount}\label{wxtreectrlgetchildrencount}
|
|
|
|
\constfunc{size\_t}{GetChildrenCount}{\param{const wxTreeItemId\&}{ item}, \param{bool}{ recursively = {\tt TRUE}}}
|
|
|
|
Returns the number of items in the branch. If {\it recursively} is {\tt TRUE}, returns the total number
|
|
of descendants, otherwise only one level of children is counted.
|
|
|
|
\membersection{wxTreeCtrl::GetCount}\label{wxtreectrlgetcount}
|
|
|
|
\constfunc{int}{GetCount}{\void}
|
|
|
|
Returns the number of items in the control.
|
|
|
|
\membersection{wxTreeCtrl::GetEditControl}\label{wxtreectrlgeteditcontrol}
|
|
|
|
\constfunc{wxTextCtrl *}{GetEditControl}{\void}
|
|
|
|
Returns the edit control being currently used to edit a label. Returns {\tt NULL}
|
|
if no label is being edited.
|
|
|
|
{\bf NB:} It is currently only implemented for wxMSW.
|
|
|
|
\membersection{wxTreeCtrl::GetFirstChild}\label{wxtreectrlgetfirstchild}
|
|
|
|
\constfunc{wxTreeItemId}{GetFirstChild}{\param{const wxTreeItemId\&}{ item}, \param{long\& }{cookie}}
|
|
|
|
Returns the first child; call \helpref{wxTreeCtrl::GetNextChild}{wxtreectrlgetnextchild} for the next child.
|
|
|
|
For this enumeration function you must pass in a `cookie' parameter
|
|
which is opaque for the application but is necessary for the library
|
|
to make these functions reentrant (i.e. allow more than one
|
|
enumeration on one and the same object simultaneously). The cookie passed to
|
|
GetFirstChild and GetNextChild should be the same variable.
|
|
|
|
Returns an invalid tree item if there are no further children.
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxTreeCtrl::GetNextChild}{wxtreectrlgetnextchild},
|
|
\helpref{wxTreeCtrl::GetNextSibling}{wxtreectrlgetnextsibling}
|
|
|
|
\pythonnote{In wxPython the returned wxTreeItemId and the new cookie
|
|
value are both returned as a tuple containing the two values.}
|
|
|
|
\perlnote{In wxPerl this method only takes the {\tt item} parameter, and
|
|
returns a 2-element list {\tt ( item, cookie )}.}
|
|
|
|
\membersection{wxTreeCtrl::GetFirstVisibleItem}\label{wxtreectrlgetfirstvisibleitem}
|
|
|
|
\constfunc{wxTreeItemId}{GetFirstVisibleItem}{\void}
|
|
|
|
Returns the first visible item.
|
|
|
|
\membersection{wxTreeCtrl::GetImageList}\label{wxtreectrlgetimagelist}
|
|
|
|
\constfunc{wxImageList*}{GetImageList}{\void}
|
|
|
|
Returns the normal image list.
|
|
|
|
\membersection{wxTreeCtrl::GetIndent}\label{wxtreectrlgetindent}
|
|
|
|
\constfunc{int}{GetIndent}{\void}
|
|
|
|
Returns the current tree control indentation.
|
|
|
|
\membersection{wxTreeCtrl::GetItemBackgroundColour}\label{wxtreectrlgetitembackgroundcolour}
|
|
|
|
\constfunc{wxColour}{GetItemBackgroundColour}{\param{const wxTreeItemId\&}{ item}}
|
|
|
|
Returns the background colour of the item.
|
|
|
|
\membersection{wxTreeCtrl::GetItemData}\label{wxtreectrlgetitemdata}
|
|
|
|
\constfunc{wxTreeItemData*}{GetItemData}{\param{const wxTreeItemId\&}{ item}}
|
|
|
|
Returns the tree item data associated with the item.
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxTreeItemData}{wxtreeitemdata}
|
|
|
|
\pythonnote{wxPython provides the following shortcut method:
|
|
|
|
\indented{2cm}{\begin{twocollist}\itemsep=0pt
|
|
\twocolitem{{\bf GetPyData(item)}}{Returns the Python Object
|
|
associated with the wxTreeItemData for the given item Id.}
|
|
\end{twocollist}}
|
|
}
|
|
|
|
\perlnote{wxPerl provides the following shortcut method:
|
|
\indented{2cm}{
|
|
\begin{twocollist}\itemsep=0pt
|
|
\twocolitem{{\bf GetPlData( item )}}{Returns the Perl data
|
|
associated with the Wx::TreeItemData ( it is just the same as
|
|
tree->GetItemData( item )->GetData(); ).}
|
|
\end{twocollist}}
|
|
}
|
|
|
|
\membersection{wxTreeCtrl::GetItemFont}\label{wxtreectrlgetitemfont}
|
|
|
|
\constfunc{wxFont}{GetItemFont}{\param{const wxTreeItemId\&}{ item}}
|
|
|
|
Returns the font of the item label.
|
|
|
|
\membersection{wxTreeCtrl::GetItemImage}\label{wxtreectrlgetitemimage}
|
|
|
|
\constfunc{int}{GetItemImage}{\param{const wxTreeItemId\& }{item},
|
|
\param{wxTreeItemIcon }{which = wxTreeItemIcon\_Normal}}
|
|
|
|
Gets the specified item image. The value of {\it which} may be:
|
|
|
|
\begin{itemize}\itemsep=0pt
|
|
\item{wxTreeItemIcon\_Normal} to get the normal item image
|
|
\item{wxTreeItemIcon\_Selected} to get the selected item image (i.e. the image
|
|
which is shown when the item is currently selected)
|
|
\item{wxTreeItemIcon\_Expanded} to get the expanded image (this only
|
|
makes sense for items which have children - then this image is shown when the
|
|
item is expanded and the normal image is shown when it is collapsed)
|
|
\item{wxTreeItemIcon\_SelectedExpanded} to get the selected expanded image
|
|
(which is shown when an expanded item is currently selected)
|
|
\end{itemize}
|
|
|
|
\membersection{wxTreeCtrl::GetItemText}\label{wxtreectrlgetitemtext}
|
|
|
|
\constfunc{wxString}{GetItemText}{\param{const wxTreeItemId\&}{ item}}
|
|
|
|
Returns the item label.
|
|
|
|
\membersection{wxTreeCtrl::GetItemTextColour}\label{wxtreectrlgetitemtextcolour}
|
|
|
|
\constfunc{wxColour}{GetItemTextColour}{\param{const wxTreeItemId\&}{ item}}
|
|
|
|
Returns the colour of the item label.
|
|
|
|
\membersection{wxTreeCtrl::GetLastChild}\label{wxtreectrlgetlastchild}
|
|
|
|
\constfunc{wxTreeItemId}{GetLastChild}{\param{const wxTreeItemId\&}{ item}}
|
|
|
|
Returns the last child of the item (or an invalid tree item if this item has no children).
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{GetFirstChild}{wxtreectrlgetfirstchild},
|
|
\helpref{wxTreeCtrl::GetNextSibling}{wxtreectrlgetnextsibling},
|
|
\helpref{GetLastChild}{wxtreectrlgetlastchild}
|
|
|
|
\membersection{wxTreeCtrl::GetNextChild}\label{wxtreectrlgetnextchild}
|
|
|
|
\constfunc{wxTreeItemId}{GetNextChild}{\param{const wxTreeItemId\&}{ item}, \param{long\& }{cookie}}
|
|
|
|
Returns the next child; call \helpref{wxTreeCtrl::GetFirstChild}{wxtreectrlgetfirstchild} for the first child.
|
|
|
|
For this enumeration function you must pass in a `cookie' parameter
|
|
which is opaque for the application but is necessary for the library
|
|
to make these functions reentrant (i.e. allow more than one
|
|
enumeration on one and the same object simultaneously). The cookie passed to
|
|
GetFirstChild and GetNextChild should be the same.
|
|
|
|
Returns an invalid tree item if there are no further children.
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxTreeCtrl::GetFirstChild}{wxtreectrlgetfirstchild}
|
|
|
|
\pythonnote{In wxPython the returned wxTreeItemId and the new cookie
|
|
value are both returned as a tuple containing the two values.}
|
|
|
|
\perlnote{In wxPerl this method returns a 2-element list
|
|
{\tt ( item, cookie )}, instead of modifying its parameters.}
|
|
|
|
\membersection{wxTreeCtrl::GetNextSibling}\label{wxtreectrlgetnextsibling}
|
|
|
|
\constfunc{wxTreeItemId}{GetNextSibling}{\param{const wxTreeItemId\&}{ item}}
|
|
|
|
Returns the next sibling of the specified item; call \helpref{wxTreeCtrl::GetPrevSibling}{wxtreectrlgetprevsibling} for the previous sibling.
|
|
|
|
Returns an invalid tree item if there are no further siblings.
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxTreeCtrl::GetPrevSibling}{wxtreectrlgetprevsibling}
|
|
|
|
\membersection{wxTreeCtrl::GetNextVisible}\label{wxtreectrlgetnextvisible}
|
|
|
|
\constfunc{wxTreeItemId}{GetNextVisible}{\param{const wxTreeItemId\&}{ item}}
|
|
|
|
Returns the next visible item.
|
|
|
|
\membersection{wxTreeCtrl::GetItemParent}\label{wxtreectrlgetitemparent}
|
|
|
|
\constfunc{wxTreeItemId}{GetItemParent}{\param{const wxTreeItemId\&}{ item}}
|
|
|
|
Returns the item's parent.
|
|
|
|
\membersection{wxTreeCtrl::GetParent}\label{wxtreectrlgetparent}
|
|
|
|
\constfunc{wxTreeItemId}{GetParent}{\param{const wxTreeItemId\&}{ item}}
|
|
|
|
{\bf NOTE:} This function is deprecated and will only work if {\tt WXWIN\_COMPATIBILITY\_2\_2}
|
|
is defined. Use \helpref{wxTreeCtrl::GetItemParent}{wxtreectrlgetitemparent} instead.
|
|
|
|
Returns the item's parent.
|
|
|
|
\pythonnote{This method is named {\tt GetItemParent} to avoid a name
|
|
clash with wxWindow::GetParent.}
|
|
|
|
\membersection{wxTreeCtrl::GetPrevSibling}\label{wxtreectrlgetprevsibling}
|
|
|
|
\constfunc{wxTreeItemId}{GetPrevSibling}{\param{const wxTreeItemId\&}{ item}}
|
|
|
|
Returns the previous sibling of the specified item; call \helpref{wxTreeCtrl::GetNextSibling}{wxtreectrlgetnextsibling} for the next sibling.
|
|
|
|
Returns an invalid tree item if there are no further children.
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxTreeCtrl::GetNextSibling}{wxtreectrlgetnextsibling}
|
|
|
|
\membersection{wxTreeCtrl::GetPrevVisible}\label{wxtreectrlgetprevvisible}
|
|
|
|
\constfunc{wxTreeItemId}{GetPrevVisible}{\param{const wxTreeItemId\&}{ item}}
|
|
|
|
Returns the previous visible item.
|
|
|
|
\membersection{wxTreeCtrl::GetRootItem}\label{wxtreectrlgetrootitem}
|
|
|
|
\constfunc{wxTreeItemId}{GetRootItem}{\void}
|
|
|
|
Returns the root item for the tree control.
|
|
|
|
\membersection{wxTreeCtrl::GetItemSelectedImage}\label{wxtreectrlgetitemselectedimage}
|
|
|
|
\constfunc{int}{GetItemSelectedImage}{\param{const wxTreeItemId\& }{item}}
|
|
|
|
Gets the selected item image (this function is obsolete, use
|
|
{\tt GetItemImage(item, wxTreeItemIcon\_Selected}) instead).
|
|
|
|
\membersection{wxTreeCtrl::GetSelection}\label{wxtreectrlgetselection}
|
|
|
|
\constfunc{wxTreeItemId}{GetSelection}{\void}
|
|
|
|
Returns the selection, or an invalid item if there is no selection.
|
|
This function only works with the controls without wxTR\_MULTIPLE style, use
|
|
\helpref{GetSelections}{wxtreectrlgetselections} for the controls which do have
|
|
this style.
|
|
|
|
\membersection{wxTreeCtrl::GetSelections}\label{wxtreectrlgetselections}
|
|
|
|
\constfunc{size\_t}{GetSelections}{\param{wxArrayTreeItemIds\& }{selection}}
|
|
|
|
Fills the array of tree items passed in with the currently selected items. This
|
|
function can be called only if the control has the wxTR\_MULTIPLE style.
|
|
|
|
Returns the number of selected items.
|
|
|
|
\pythonnote{The wxPython version of this method accepts no parameters
|
|
and returns a Python list of {\tt wxTreeItemId}s.}
|
|
|
|
\perlnote{In wxPerl this method takes no parameters and returns a list of
|
|
{\tt Wx::TreeItemId}s.}
|
|
|
|
\membersection{wxTreeCtrl::GetStateImageList}\label{wxtreectrlgetstateimagelist}
|
|
|
|
\constfunc{wxImageList*}{GetStateImageList}{\void}
|
|
|
|
Returns the state image list (from which application-defined state images are taken).
|
|
|
|
\membersection{wxTreeCtrl::HitTest}\label{wxtreectrlhittest}
|
|
|
|
\func{wxTreeItemId}{HitTest}{\param{const wxPoint\& }{point}, \param{int\& }{flags}}
|
|
|
|
Calculates which (if any) item is under the given point, returning the tree item
|
|
id at this point plus extra information {\it flags}. {\it flags} is a bitlist of the following:
|
|
|
|
\twocolwidtha{5cm}
|
|
\begin{twocollist}\itemsep=0pt
|
|
\twocolitem{wxTREE\_HITTEST\_ABOVE}{Above the client area.}
|
|
\twocolitem{wxTREE\_HITTEST\_BELOW}{Below the client area.}
|
|
\twocolitem{wxTREE\_HITTEST\_NOWHERE}{In the client area but below the last item.}
|
|
\twocolitem{wxTREE\_HITTEST\_ONITEMBUTTON}{On the button associated with an item.}
|
|
\twocolitem{wxTREE\_HITTEST\_ONITEMICON}{On the bitmap associated with an item.}
|
|
\twocolitem{wxTREE\_HITTEST\_ONITEMINDENT}{In the indentation associated with an item.}
|
|
\twocolitem{wxTREE\_HITTEST\_ONITEMLABEL}{On the label (string) associated with an item.}
|
|
\twocolitem{wxTREE\_HITTEST\_ONITEMRIGHT}{In the area to the right of an item.}
|
|
\twocolitem{wxTREE\_HITTEST\_ONITEMSTATEICON}{On the state icon for a tree view item that is in a user-defined state.}
|
|
\twocolitem{wxTREE\_HITTEST\_TOLEFT}{To the right of the client area.}
|
|
\twocolitem{wxTREE\_HITTEST\_TORIGHT}{To the left of the client area.}
|
|
\end{twocollist}
|
|
|
|
\pythonnote{in wxPython both the wxTreeItemId and the flags are
|
|
returned as a tuple.}
|
|
|
|
\perlnote{In wxPerl this method only takes the {\tt point} parameter
|
|
and returns a 2-element list {\tt ( item, flags )}.}
|
|
|
|
\membersection{wxTreeCtrl::InsertItem}\label{wxtreectrlinsertitem}
|
|
|
|
\func{wxTreeItemId}{InsertItem}{\param{const wxTreeItemId\& }{parent}, \param{const wxTreeItemId\& }{previous}, \param{const wxString\&}{ text},
|
|
\param{int}{ image = -1}, \param{int}{ selImage = -1}, \param{wxTreeItemData*}{ data = {\tt NULL}}}
|
|
|
|
\func{wxTreeItemId}{InsertItem}{\param{const wxTreeItemId\& }{parent}, \param{size\_t}{ before}, \param{const wxString\&}{ text},
|
|
\param{int}{ image = -1}, \param{int}{ selImage = -1}, \param{wxTreeItemData*}{ data = {\tt NULL}}}
|
|
|
|
Inserts an item after a given one ({\it previous}) or before one identified by its position ({\it before}).
|
|
|
|
The {\it image} and {\it selImage} parameters are an index within
|
|
the normal image list specifying the image to use for unselected and
|
|
selected items, respectively.
|
|
If {\it image} > -1 and {\it selImage} is -1, the same image is used for
|
|
both selected and unselected items.
|
|
|
|
\pythonnote{The second form of this method is called
|
|
{\tt InsertItemBefore} in wxPython.}
|
|
|
|
\membersection{wxTreeCtrl::IsBold}\label{wxtreectrlisbold}
|
|
|
|
\constfunc{bool}{IsBold}{\param{const wxTreeItemId\& }{item}}
|
|
|
|
Returns {\tt TRUE} if the given item is in bold state.
|
|
|
|
See also: \helpref{SetItemBold}{wxtreectrlsetitembold}
|
|
|
|
\membersection{wxTreeCtrl::IsExpanded}\label{wxtreectrlisexpanded}
|
|
|
|
\constfunc{bool}{IsExpanded}{\param{const wxTreeItemId\&}{ item}}
|
|
|
|
Returns {\tt TRUE} if the item is expanded (only makes sense if it has children).
|
|
|
|
\membersection{wxTreeCtrl::IsSelected}\label{wxtreectrlisselected}
|
|
|
|
\constfunc{bool}{IsSelected}{\param{const wxTreeItemId\&}{ item}}
|
|
|
|
Returns {\tt TRUE} if the item is selected.
|
|
|
|
\membersection{wxTreeCtrl::IsVisible}\label{wxtreectrlisvisible}
|
|
|
|
\constfunc{bool}{IsVisible}{\param{const wxTreeItemId\&}{ item}}
|
|
|
|
Returns {\tt TRUE} if the item is visible (it might be outside the view, or not expanded).
|
|
|
|
\membersection{wxTreeCtrl::ItemHasChildren}\label{wxtreectrlitemhaschildren}
|
|
|
|
\constfunc{bool}{ItemHasChildren}{\param{const wxTreeItemId\&}{ item}}
|
|
|
|
Returns {\tt TRUE} if the item has children.
|
|
|
|
\membersection{wxTreeCtrl::OnCompareItems}\label{wxtreectrloncompareitems}
|
|
|
|
\func{int}{OnCompareItems}{\param{const wxTreeItemId\& }{item1}, \param{const wxTreeItemId\& }{item2}}
|
|
|
|
Override this function in the derived class to change the sort order of the
|
|
items in the tree control. The function should return a negative, zero or
|
|
positive value if the first item is less than, equal to or greater than the
|
|
second one.
|
|
|
|
The base class version compares items alphabetically.
|
|
|
|
See also: \helpref{SortChildren}{wxtreectrlsortchildren}
|
|
|
|
\membersection{wxTreeCtrl::PrependItem}\label{wxtreectrlprependitem}
|
|
|
|
\func{wxTreeItemId}{PrependItem}{\param{const wxTreeItemId\& }{parent}, \param{const wxString\&}{ text},
|
|
\param{int}{ image = -1}, \param{int}{ selImage = -1}, \param{wxTreeItemData*}{ data = {\tt NULL}}}
|
|
|
|
Appends an item as the first child of {\it parent}, return a new item id.
|
|
|
|
The {\it image} and {\it selImage} parameters are an index within
|
|
the normal image list specifying the image to use for unselected and
|
|
selected items, respectively.
|
|
If {\it image} > -1 and {\it selImage} is -1, the same image is used for
|
|
both selected and unselected items.
|
|
|
|
\membersection{wxTreeCtrl::ScrollTo}\label{wxtreectrlscrollto}
|
|
|
|
\func{void}{ScrollTo}{\param{const wxTreeItemId\&}{ item}}
|
|
|
|
Scrolls the specified item into view.
|
|
|
|
\membersection{wxTreeCtrl::SelectItem}\label{wxtreectrlselectitem}
|
|
|
|
\func{bool}{SelectItem}{\param{const wxTreeItemId\&}{ item}}
|
|
|
|
Selects the given item.
|
|
|
|
\membersection{wxTreeCtrl::SetButtonsImageList}\label{wxtreectrlsetbuttonsimagelist}
|
|
|
|
\func{void}{SetButtonsImageList}{\param{wxImageList*}{ imageList}}
|
|
|
|
Sets the buttons image list (from which application-defined button images are taken).
|
|
The button images assigned with this method will
|
|
{\bf not} be deleted by wxTreeCtrl's destructor, you must delete it yourself.
|
|
|
|
Setting or assigning the button image list enables the display of image buttons.
|
|
Once enabled, the only way to disable the display of button images is to set
|
|
the button image list to {\tt NULL}.
|
|
|
|
This function is only available in the generic version.
|
|
|
|
See also \helpref{AssignButtonsImageList}{wxtreectrlassignbuttonsimagelist}.
|
|
|
|
\membersection{wxTreeCtrl::SetIndent}\label{wxtreectrlsetindent}
|
|
|
|
\func{void}{SetIndent}{\param{int }{indent}}
|
|
|
|
Sets the indentation for the tree control.
|
|
|
|
\membersection{wxTreeCtrl::SetImageList}\label{wxtreectrlsetimagelist}
|
|
|
|
\func{void}{SetImageList}{\param{wxImageList*}{ imageList}}
|
|
|
|
Sets the normal image list. Image list assigned with this method will
|
|
{\bf not} be deleted by wxTreeCtrl's destructor, you must delete it yourself.
|
|
|
|
See also \helpref{AssignImageList}{wxtreectrlassignimagelist}.
|
|
|
|
|
|
\membersection{wxTreeCtrl::SetItemBackgroundColour}\label{wxtreectrlsetitembackgroundcolour}
|
|
|
|
\func{void}{SetItemBackgroundColour}{\param{const wxTreeItemId\&}{ item}, \param{const wxColour\& }{col}}
|
|
|
|
Sets the colour of the item's background.
|
|
|
|
\membersection{wxTreeCtrl::SetItemBold}\label{wxtreectrlsetitembold}
|
|
|
|
\func{void}{SetItemBold}{\param{const wxTreeItemId\& }{item}, \param{bool}{ bold = {\tt TRUE}}}
|
|
|
|
Makes item appear in bold font if {\it bold} parameter is {\tt TRUE} or resets it to
|
|
the normal state.
|
|
|
|
See also: \helpref{IsBold}{wxtreectrlisbold}
|
|
|
|
\membersection{wxTreeCtrl::SetItemData}\label{wxtreectrlsetitemdata}
|
|
|
|
\func{void}{SetItemData}{\param{const wxTreeItemId\&}{ item}, \param{wxTreeItemData* }{data}}
|
|
|
|
Sets the item client data.
|
|
|
|
\pythonnote{wxPython provides the following shortcut method:\par
|
|
\indented{2cm}{\begin{twocollist}\itemsep=0pt
|
|
\twocolitem{{\bf SetPyData(item, obj)}}{Associate the given Python
|
|
Object with the wxTreeItemData for the given item Id.}
|
|
\end{twocollist}}
|
|
}
|
|
|
|
\perlnote{wxPerl provides the following shortcut method:
|
|
\indented{2cm}{
|
|
\begin{twocollist}\itemsep=0pt
|
|
\twocolitem{{\bf SetPlData( item, data )}}{Sets the Perl data
|
|
associated with the Wx::TreeItemData ( it is just the same as
|
|
tree->GetItemData( item )->SetData( data ); ).}
|
|
\end{twocollist}}
|
|
}
|
|
|
|
\membersection{wxTreeCtrl::SetItemFont}\label{wxtreectrlsetitemfont}
|
|
|
|
\func{void}{SetItemFont}{\param{const wxTreeItemId\&}{ item}, \param{const wxFont\& }{font}}
|
|
|
|
Sets the item's font. All items in the tree should have the same height to avoid
|
|
text clipping, so the fonts height should be the same for all of them,
|
|
although font attributes may vary.
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{SetItemBold}{wxtreectrlsetitembold}
|
|
|
|
\membersection{wxTreeCtrl::SetItemHasChildren}\label{wxtreectrlsetitemhaschildren}
|
|
|
|
\func{void}{SetItemHasChildren}{\param{const wxTreeItemId\&}{ item}, \param{bool }{hasChildren = {\tt TRUE}}}
|
|
|
|
Force appearance of the button next to the item. This is useful to
|
|
allow the user to expand the items which don't have any children now,
|
|
but instead adding them only when needed, thus minimizing memory
|
|
usage and loading time.
|
|
|
|
\membersection{wxTreeCtrl::SetItemImage}\label{wxtreectrlsetitemimage}
|
|
|
|
\func{void}{SetItemImage}{\param{const wxTreeItemId\&}{ item},
|
|
\param{int }{image}, \param{wxTreeItemIcon }{which = wxTreeItemIcon\_Normal}}
|
|
|
|
Sets the specified item image. See \helpref{GetItemImage}{wxtreectrlgetitemimage}
|
|
for the description of the {\it which} parameter.
|
|
|
|
\membersection{wxTreeCtrl::SetItemSelectedImage}\label{wxtreectrlsetitemselectedimage}
|
|
|
|
\func{void}{SetItemSelectedImage}{\param{const wxTreeItemId\&}{ item}, \param{int }{selImage}}
|
|
|
|
Sets the selected item image (this function is obsolete, use {\tt SetItemImage(item, wxTreeItemIcon\_Selected}) instead).
|
|
|
|
\membersection{wxTreeCtrl::SetItemText}\label{wxtreectrlsetitemtext}
|
|
|
|
\func{void}{SetItemText}{\param{const wxTreeItemId\&}{ item}, \param{const wxString\& }{text}}
|
|
|
|
Sets the item label.
|
|
|
|
\membersection{wxTreeCtrl::SetItemTextColour}\label{wxtreectrlsetitemtextcolour}
|
|
|
|
\func{void}{SetItemTextColour}{\param{const wxTreeItemId\&}{ item}, \param{const wxColour\& }{col}}
|
|
|
|
Sets the colour of the item's text.
|
|
|
|
\membersection{wxTreeCtrl::SetStateImageList}\label{wxtreectrlsetstateimagelist}
|
|
|
|
\func{void}{SetStateImageList}{\param{wxImageList*}{ imageList}}
|
|
|
|
Sets the state image list (from which application-defined state images are taken).
|
|
Image list assigned with this method will
|
|
{\bf not} be deleted by wxTreeCtrl's destructor, you must delete it yourself.
|
|
|
|
See also \helpref{AssignStateImageList}{wxtreectrlassignstateimagelist}.
|
|
|
|
\func{void}{SetWindowStyle}{\param{long}{styles}}
|
|
|
|
Sets the mode flags associated with the display of the tree control.
|
|
The new mode takes effect immediately.
|
|
(Generic only; MSW ignores changes.)
|
|
|
|
\membersection{wxTreeCtrl::SortChildren}\label{wxtreectrlsortchildren}
|
|
|
|
\func{void}{SortChildren}{\param{const wxTreeItemId\&}{ item}}
|
|
|
|
Sorts the children of the given item using
|
|
\helpref{OnCompareItems}{wxtreectrloncompareitems} method of wxTreeCtrl. You
|
|
should override that method to change the sort order (the default is ascending
|
|
alphabetical order).
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxTreeItemData}{wxtreeitemdata}, \helpref{OnCompareItems}{wxtreectrloncompareitems}
|
|
|
|
\membersection{wxTreeCtrl::Toggle}\label{wxtreectrltoggle}
|
|
|
|
\func{void}{Toggle}{\param{const wxTreeItemId\&}{ item}}
|
|
|
|
Toggles the given item between collapsed and expanded states.
|
|
|
|
\membersection{wxTreeCtrl::Unselect}\label{wxtreectrlunselect}
|
|
|
|
\func{void}{Unselect}{\void}
|
|
|
|
Removes the selection from the currently selected item (if any).
|
|
|
|
\membersection{wxTreeCtrl::UnselectAll}\label{wxtreectrlunselectall}
|
|
|
|
\func{void}{UnselectAll}{\void}
|
|
|
|
This function either behaves the same as \helpref{Unselect}{wxtreectrlunselect}
|
|
if the control doesn't have wxTR\_MULTIPLE style, or removes the selection from
|
|
all items if it does have this style.
|
|
|