]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/treectrl.tex
wxFTP docs update and a small fix to wxString overview (Unicode *is* supported
[wxWidgets.git] / docs / latex / wx / treectrl.tex
index a2c0feaf3d7381abb4567afce4f662a23f0b6520..e71fd44f33b9b620e74bfd60c9b591d8e7c26366 100644 (file)
@@ -22,6 +22,10 @@ To intercept events from a tree control, use the event table macros described in
 \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
@@ -60,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}
@@ -121,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}}
@@ -167,7 +201,7 @@ 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}
@@ -318,7 +352,7 @@ Returns the last child of the item (or an invalid tree item if this item has no
 
 \wxheading{See also}
 
-\helpref{GetFirstChild}{wxtreectrlgetfirstchild}, 
+\helpref{GetFirstChild}{wxtreectrlgetfirstchild},
 \helpref{GetLastChild}{wxtreectrlgetlastchild}
 
 \membersection{wxTreeCtrl::GetNextChild}\label{wxtreectrlgetnextchild}
@@ -397,7 +431,7 @@ Returns the root item for the tree control.
 
 \constfunc{int}{GetItemSelectedImage}{\param{const wxTreeItemId\& }{item}}
 
-Gets the selected item image (this function is obsolete, use 
+Gets the selected item image (this function is obsolete, use
 {\tt GetItemImage(item, wxTreeItemIcon\_Selected}) instead).
 
 \membersection{wxTreeCtrl::GetSelection}\label{wxtreectrlgetselection}
@@ -405,7 +439,7 @@ Gets the selected item image (this function is obsolete, use
 \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 
+This function only works with the controls without wxTR\_MULTIPLE style, use
 \helpref{GetSelections}{wxtreectrlgetselections} for the controls which do have
 this style.
 
@@ -429,10 +463,10 @@ Returns the state image list (from which application-defined state images are ta
 
 \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
@@ -449,6 +483,9 @@ 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.}
+
 \membersection{wxTreeCtrl::InsertItem}\label{wxtreectrlinsertitem}
 
 \func{wxTreeItemId}{InsertItem}{\param{const wxTreeItemId\& }{parent}, \param{const wxTreeItemId\& }{previous}, \param{const wxString\&}{ text},
@@ -462,6 +499,9 @@ Inserts an item after a given one ({\it previous}) or before one identified by i
 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}}
@@ -539,7 +579,11 @@ Sets the indentation for the tree control.
 
 \func{void}{SetImageList}{\param{wxImageList*}{ imageList}}
 
-Sets the normal image list.
+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}
 
@@ -595,7 +639,7 @@ usage and loading time.
 \func{void}{SetItemImage}{\param{const wxTreeItemId\&}{ item},
  \param{int }{image}, \param{wxTreeItemIcon }{which = wxTreeItemIcon\_Normal}}
 
-Sets the specified item image. See \helpref{GetItemImage}{wxtreectrlgetitemimage} 
+Sets the specified item image. See \helpref{GetItemImage}{wxtreectrlgetitemimage}
 for the description of the {\it which} parameter.
 
 \membersection{wxTreeCtrl::SetItemSelectedImage}\label{wxtreectrlsetitemselectedimage}
@@ -621,12 +665,16 @@ Sets the colour of the items text.
 \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 
+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).
@@ -651,7 +699,7 @@ Removes the selection from the currently selected item (if any).
 
 \func{void}{UnselectAll}{\void}
 
-This function either behaves the same as \helpref{Unselect}{wxtreectrlunselect} 
+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.