\begin{twocollist}\itemsep=0pt
\twocolitem{\windowstyle{wxTR\_HAS\_BUTTONS}}{Use this style to show + and - buttons to the
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
\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)}}{Parent has been collapsed.}
+\twocolitem{{\bf EVT\_TREE\_ITEM\_COLLAPSING(id, func)}}{Parent is being collapsed. This can be prevented by calling \helpref{Veto()}{wxnotifyeventveto}.}
\twocolitem{{\bf EVT\_TREE\_ITEM\_EXPANDED(id, func)}}{Parent has been expanded.}
\twocolitem{{\bf EVT\_TREE\_ITEM\_EXPANDING(id, func)}}{Parent is being expanded. This can be prevented by calling \helpref{Veto()}{wxnotifyeventveto}.}
\twocolitem{{\bf EVT\_TREE\_SEL\_CHANGED(id, func)}}{Selection has changed.}
\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}
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}.}
+{\tt item} and {\tt textOnly} parameters. The return value is either a
+{\tt wxRect} object or {\tt None}.}
\membersection{wxTreeCtrl::GetChildrenCount}\label{wxtreectrlgetchildrencount}
\helpref{wxTreeItemData}{wxtreeitemdata}
-\pythonnote{wxPython provides the following shortcut method:\par
-\indented{2cm}{\begin{twocollist}
-\twocolitem{\bf{GetPyData(item)}}{Returns the Python Object
+\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}}
}
\membersection{wxTreeCtrl::GetItemImage}\label{wxtreectrlgetitemimage}
\constfunc{int}{GetItemImage}{\param{const wxTreeItemId\& }{item},
-\param{wxTreeItemIcon }{which = wxTreeItemIcon\_Normal}}
+ \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
Returns the item's parent.
-\pythonnote{This method is named \tt{GetItemParent} to avoid a name
+\pythonnote{This method is named {\tt GetItemParent} to avoid a name
clash with wxWindow::GetParent.}
\membersection{wxTreeCtrl::GetPrevSibling}\label{wxtreectrlgetprevsibling}
\constfunc{int}{GetItemSelectedImage}{\param{const wxTreeItemId\& }{item}}
Gets the selected item image (this function is obsolete, use
-{\tt GetItemImage(item, wxTreeItemIcon\_Selected} instead).
+{\tt GetItemImage(item, wxTreeItemIcon\_Selected}) instead).
\membersection{wxTreeCtrl::GetSelection}\label{wxtreectrlgetselection}
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.}
+and returns a Python list of {\tt wxTreeItemId}s.}
\membersection{wxTreeCtrl::GetStateImageList}\label{wxtreectrlgetstateimagelist}
\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
\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.}
+
\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}}
Sets the item client data.
\pythonnote{wxPython provides the following shortcut method:\par
-\indented{2cm}{\begin{twocollist}
-\twocolitem{\bf{SetPyData(item, obj)}}{Associate the given Python
+\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}}
}
\membersection{wxTreeCtrl::SetItemImage}\label{wxtreectrlsetitemimage}
\func{void}{SetItemImage}{\param{const wxTreeItemId\&}{ item},
-\param{int }{image},
-\param{wxTreeItemIcon }{which = wxTreeItemIcon\_Normal}}
+ \param{int }{image}, \param{wxTreeItemIcon }{which = wxTreeItemIcon\_Normal}}
Sets the specified item image. See \helpref{GetItemImage}{wxtreectrlgetitemimage}
-for the description of {\it which} parameter.
+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).
+Sets the selected item image (this function is obsolete, use {\tt SetItemImage(item, wxTreeItemIcon\_Selected}) instead).
\membersection{wxTreeCtrl::SetItemText}\label{wxtreectrlsetitemtext}
Sorts the children of the given item using
\helpref{OnCompareItems}{wxtreectrloncompareitems} method of wxTreeCtrl. You
-should override that method to change the sort order (default is ascending
+should override that method to change the sort order (the default is ascending
alphabetical order).
\wxheading{See also}
container.
In addition, the following methods are added in wxPython for accessing
-the object:\par
-\indented{2cm}{\begin{twocollist}
-\twocolitem{\bf{GetData()}}{Returns a reference to the Python Object}
-\twocolitem{\bf{SetData(obj)}}{Associates a new Python Object with the
+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}}
}