X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/978f38c238bb83dbb5a73104e4e6870d984dd058..3a994742ab93d8cf6033f19dd7370553efb64a0f:/docs/latex/wx/treectrl.tex diff --git a/docs/latex/wx/treectrl.tex b/docs/latex/wx/treectrl.tex index 70578d0cf0..fc720bd220 100644 --- a/docs/latex/wx/treectrl.tex +++ b/docs/latex/wx/treectrl.tex @@ -12,14 +12,25 @@ To intercept events from a tree control, use the event table macros described in \helpref{wxEvtHandler}{wxevthandler}\\ \helpref{wxObject}{wxobject} +\wxheading{Include files} + + + \wxheading{Window styles} \twocolwidtha{5cm} \begin{twocollist}\itemsep=0pt \twocolitem{\windowstyle{wxTR\_HAS\_BUTTONS}}{Use this style to show + and - buttons to the -left of parent items.} +left of parent items. Win32 only. } +\twocolitem{\windowstyle{wxTR\_NO\_LINES}}{Use this style to hide vertical lines. +Win32 only. } +\twocolitem{\windowstyle{wxTR\_LINES\_AT\_ROOT}}{Use this style to show lines at the +tree root. Win32 only.} \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\_MULTIPLE}}{Use this style to allow the user to +select more than one item in the control - by default, only one item may be +selected.} \end{twocollist} See also \helpref{window styles overview}{windowstyles}. @@ -33,15 +44,18 @@ functions that take a \helpref{wxTreeEvent}{wxtreeevent} argument. \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.} -\twocolitem{{\bf EVT\_TREE\_END\_LABEL\_EDIT(id, func)}}{Finish editing a label.} +\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\_EXPANDED(id, func)}}{Parent has been expanded.} -\twocolitem{{\bf EVT\_TREE\_ITEM\_EXPANDING(id, func)}}{Parent is being expanded.} +\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.} +\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}% @@ -50,6 +64,17 @@ functions that take a \helpref{wxTreeEvent}{wxtreeevent} argument. \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} @@ -111,6 +136,25 @@ Appends an item to the end of the branch identified by {\it parent}, return a ne If {\it image} > -1 and {\it selImage} is -1, the same image is used for both selected and unselected items. +\membersection{wxTreeCtrl::AssignImageList}\label{wxtreectrlassignimagelist} + +\func{void}{AssignImageList}{\param{wxImageList*}{ imageList}} + +Sets the normal image list. Image list assigned with this method will +be deleted by wxTreeCtrl's destructor (i.e. it takes ownership of it). + +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 deleted by wxTreeCtrl's destructor (i.e. it takes ownership of it). + +See also \helpref{SetStateImageList}{wxtreectrlsetstateimagelist}. + + \membersection{wxTreeCtrl::Collapse}\label{wxtreectrlcollapse} \func{void}{Collapse}{\param{const wxTreeItemId\&}{ item}} @@ -145,20 +189,20 @@ Deletes all the items in the control. \membersection{wxTreeCtrl::EditLabel}\label{wxtreectrleditlabel} -\func{wxTextCtrl*}{EditLabel}{\param{const wxTreeItemId\&}{ item}, \param{wxClassInfo*}{ textControlClass = CLASSINFO(wxTextCtrl)}} +\func{void}{EditLabel}{\param{const wxTreeItemId\&}{ item}} -Starts editing the label of the given item, returning the text control that the tree control uses for editing. +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. -Pass another {\it textControlClass} if a derived class is required. It usually will be, in order for -the application to detect when editing has finished and to call \helpref{wxTreeCtrl::EndEditLabel}{wxtreectrlendeditlabel}. - -Do not delete the text control yourself. - -This function is currently supported under Windows only. +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{wxTreeCtrl::EndEditLabel}{wxtreectrlendeditlabel}, +\helpref{wxTreeEvent}{wxtreeevent} \membersection{wxTreeCtrl::EndEditLabel}\label{wxtreectrlendeditlabel} @@ -186,9 +230,22 @@ Expands the given item. \membersection{wxTreeCtrl::GetBoundingRect}\label{wxtreectrlgetitemrect} -\constfunc{void}{GetBoundingRect}{\param{const wxTreeItemId\&}{ item}, \param{wxRect\& }{rect}, \param{bool }{textOnly = FALSE}} +\constfunc{bool}{GetBoundingRect}{\param{const wxTreeItemId\&}{ item}, \param{wxRect\& }{rect}, \param{bool }{textOnly = FALSE}} + +Retrieves the rectangle bounding the {\it item}. If {\it textOnly} is TRUE, +only the rectangle around the items label will be returned, otherwise the +items image is also taken into account. + +The return value is TRUE if the rectangle was successfully retrieved or 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}.} -Returns the position and size of the rectangle bounding the item. +\perlnote{In wxPerl this method only takes the parameters {\tt item} and + {\tt textOnly}, and returns a Wx::Rect ( or undef ).} \membersection{wxTreeCtrl::GetChildrenCount}\label{wxtreectrlgetchildrencount} @@ -221,12 +278,18 @@ 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 0 if there are no further children. +Returns an invalid tree item if there are no further children. \wxheading{See also} \helpref{wxTreeCtrl::GetNextChild}{wxtreectrlgetnextchild} +\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 ( item, cookie ).} + \membersection{wxTreeCtrl::GetFirstVisibleItem}\label{wxtreectrlgetfirstvisibleitem} \constfunc{wxTreeItemId}{GetFirstVisibleItem}{\void} @@ -235,16 +298,9 @@ Returns the first visible item. \membersection{wxTreeCtrl::GetImageList}\label{wxtreectrlgetimagelist} -\constfunc{wxImageList*}{GetImageList}{\param{int }{which = wxIMAGE\_LIST\_NORMAL}} - -Returns the specified image list. {\it which} may be one of: +\constfunc{wxImageList*}{GetImageList}{\void} -\twocolwidtha{5cm} -\begin{twocollist}\itemsep=0pt -\twocolitem{\windowstyle{wxIMAGE\_LIST\_NORMAL}}{The normal (large icon) image list.} -\twocolitem{\windowstyle{wxIMAGE\_LIST\_SMALL}}{The small icon image list.} -\twocolitem{\windowstyle{wxIMAGE\_LIST\_STATE}}{The user-defined state image list (unimplemented).} -\end{twocollist} +Returns the normal image list. \membersection{wxTreeCtrl::GetIndent}\label{wxtreectrlgetindent} @@ -262,11 +318,40 @@ Returns the tree item data associated with the item. \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::GetItemImage}\label{wxtreectrlgetitemimage} -\constfunc{int}{GetItemImage}{\param{const wxTreeItemId\& }{item}} +\constfunc{int}{GetItemImage}{\param{const wxTreeItemId\& }{item}, + \param{wxTreeItemIcon }{which = wxTreeItemIcon\_Normal}} + +Gets the specified item image. The value of {\it which} may be: -Gets the normal item image. +\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} @@ -278,11 +363,11 @@ Returns the item label. \constfunc{wxTreeItemId}{GetLastChild}{\param{const wxTreeItemId\&}{ item}} -Returns the last child of the item (or 0 if this item has no children). +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{GetFirstChild}{wxtreectrlgetfirstchild}, \helpref{GetLastChild}{wxtreectrlgetlastchild} \membersection{wxTreeCtrl::GetNextChild}\label{wxtreectrlgetnextchild} @@ -297,19 +382,25 @@ 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 0 if there are no further children. +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 + ( 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 0 if there are no further siblings. +Returns an invalid tree item if there are no further siblings. \wxheading{See also} @@ -327,13 +418,16 @@ Returns the next visible item. 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 0 if there are no further children. +Returns an invalid tree item if there are no further children. \wxheading{See also} @@ -351,24 +445,49 @@ Returns the previous visible item. Returns the root item for the tree control. -\membersection{wxTreeCtrl::GetSelectedItemImage}\label{wxtreectrlgetselecteditemimage} +\membersection{wxTreeCtrl::GetItemSelectedImage}\label{wxtreectrlgetitemselectedimage} -\constfunc{int}{GetSelectedItemImage}{\param{const wxTreeItemId\& }{item}} +\constfunc{int}{GetItemSelectedImage}{\param{const wxTreeItemId\& }{item}} -Gets the selected item image. +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 0 if there is no selection. +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{long}{HitTest}{\param{const wxPoint\& }{point}, \param{int\& }{flags}} +\func{wxTreeItemId}{HitTest}{\param{const wxPoint\& }{point}, \param{int\& }{flags}} -Calculates which (if any) item is under the given point, returning extra information -in {\it flags}. {\it flags} is a bitlist of the following: +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 @@ -385,16 +504,36 @@ in {\it flags}. {\it flags} is a bitlist of the following: \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 ( 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 = NULL}} -Inserts an item after a given one. +\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 = NULL}} + +Inserts an item after a given one ({\it previous}) or before one identified by its position ({\it before}). 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 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}} @@ -419,6 +558,19 @@ Returns TRUE if the item is visible (it might be outside the view, or not expand Returns 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}, @@ -449,10 +601,28 @@ Sets the indentation for the tree control. \membersection{wxTreeCtrl::SetImageList}\label{wxtreectrlsetimagelist} -\func{void}{SetImageList}{\param{wxImageList*}{ imageList}, \param{int }{which = wxIMAGE\_LIST\_NORMAL}} +\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 image list. {\it which} should be one of wxIMAGE\_LIST\_NORMAL, wxIMAGE\_LIST\_SMALL and -wxIMAGE\_LIST\_STATE. +Sets the colour of the items background. + +\membersection{wxTreeCtrl::SetItemBold}\label{wxtreectrlsetitembold} + +\func{void}{SetItemBold}{\param{const wxTreeItemId\& }{item}, \param{bool}{ bold = TRUE}} + +Makes item appear in bold font if {\it bold} parameter is TRUE or resets it to +the normal state. + +See also: \helpref{IsBold}{wxtreectrlisbold} \membersection{wxTreeCtrl::SetItemData}\label{wxtreectrlsetitemdata} @@ -460,6 +630,34 @@ wxIMAGE\_LIST\_STATE. 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 items 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 = TRUE}} @@ -471,15 +669,17 @@ usage and loading time. \membersection{wxTreeCtrl::SetItemImage}\label{wxtreectrlsetitemimage} -\func{void}{SetItemImage}{\param{const wxTreeItemId\&}{ item}, \param{int }{image}} +\func{void}{SetItemImage}{\param{const wxTreeItemId\&}{ item}, + \param{int }{image}, \param{wxTreeItemIcon }{which = wxTreeItemIcon\_Normal}} -Sets the normal item image. This is an index into the assciated image list. +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 item selected image. This is an index into the assciated image list. +Sets the selected item image (this function is obsolete, use {\tt SetItemImage(item, wxTreeItemIcon\_Selected}) instead). \membersection{wxTreeCtrl::SetItemText}\label{wxtreectrlsetitemtext} @@ -487,26 +687,34 @@ Sets the item selected image. This is an index into the assciated image list. Sets the item label. -\membersection{wxTreeCtrl::SortChildren}\label{wxtreectrlsortchildren} +\membersection{wxTreeCtrl::SetItemTextColour}\label{wxtreectrlsetitemtextcolour} -\func{void}{SortChildren}{\param{const wxTreeItemId\&}{ item}, \param{wxTreeItemCmpFunc*}{ cmpFunction = NULL}} +\func{void}{SetItemTextColour}{\param{const wxTreeItemId\&}{ item}, \param{const wxColour\& }{col}} -Sorts the children of the given item. If {\it cmpFunction} is NULL, sorts in ascending alphabetical order; -otherwise the custom sort function is used, as follows: +Sets the colour of the items text. -{\small -\begin{verbatim} -// a callback function used for sorting tree items, it should return -1 if the -// first item precedes the second, +1 if the second precedes the first or 0 if -// they're equivalent -class wxTreeItemData; -typedef int (*wxTreeItemCmpFunc)(wxTreeItemData *item1, wxTreeItemData *item2); -\end{verbatim} -} +\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}. + +\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{wxTreeItemData}{wxtreeitemdata}, \helpref{OnCompareItems}{wxtreectrloncompareitems} \membersection{wxTreeCtrl::Toggle}\label{wxtreectrltoggle} @@ -520,6 +728,14 @@ Toggles the given item between collapsed and expanded states. 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. + \section{\class{wxTreeItemData}}\label{wxtreeitemdata} wxTreeItemData is some (arbitrary) user class associated with some item. The @@ -538,6 +754,10 @@ always be allocated on the heap. wxTreeItemId +\wxheading{Include files} + + + \wxheading{See also} \helpref{wxTreeCtrl}{wxtreectrl} @@ -550,6 +770,26 @@ wxTreeItemId Default constructor. +\pythonnote{The wxPython version of this constructor optionally +accepts any Python object as a parameter. This object is then +associated with the tree item using the wxTreeItemData as a +container. + +In addition, the following methods are added in wxPython for accessing +the object: + +\indented{2cm}{\begin{twocollist}\itemsep=0pt +\twocolitem{{\bf GetData()}}{Returns a reference to the Python Object} +\twocolitem{{\bf SetData(obj)}}{Associates a new Python Object with the +wxTreeItemData} +\end{twocollist}} +} + +\perlnote{In wxPerl the constructor accepts as parameter an optional scalar, + and stores it as client data. You may retrieve this data by calling + {\bf GetData()}, and set it by callling {\bf SetData( data ).} +} + \membersection{wxTreeItemData::\destruct{wxTreeItemData}} \func{void}{\destruct{wxTreeItemData}}{\void}