X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/296ec7d3ac9047b1655b789506c02b2f5f13cabf..96db102a93ed103a1c757c4445dd71789c2d0054:/docs/latex/wx/treectrl.tex?ds=sidebyside diff --git a/docs/latex/wx/treectrl.tex b/docs/latex/wx/treectrl.tex index 1a5057f0d9..67e6009640 100644 --- a/docs/latex/wx/treectrl.tex +++ b/docs/latex/wx/treectrl.tex @@ -21,9 +21,12 @@ To intercept events from a tree control, use the event table macros described in \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\_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}. @@ -37,15 +40,15 @@ 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\_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.} -\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}% @@ -149,20 +152,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} @@ -200,6 +203,10 @@ 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}.} + \membersection{wxTreeCtrl::GetChildrenCount}\label{wxtreectrlgetchildrencount} \constfunc{size\_t}{GetChildrenCount}{\param{const wxTreeItemId\&}{ item}, \param{bool}{ recursively = TRUE}} @@ -237,6 +244,9 @@ Returns an invalid tree item if there are no further children. \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.} + \membersection{wxTreeCtrl::GetFirstVisibleItem}\label{wxtreectrlgetfirstvisibleitem} \constfunc{wxTreeItemId}{GetFirstVisibleItem}{\void} @@ -272,11 +282,29 @@ Returns the tree item data associated with the item. \helpref{wxTreeItemData}{wxtreeitemdata} -\membersection{wxTreeCtrl::GetItemImage}\label{wxtreectrlgetitemimage} +\pythonnote{wxPython provides the following shortcut method:\par +\indented{2cm}{\begin{twocollist} +\twocolitem{\bf{GetPyData(item)}}{Returns the Python Object +associated with the wxTreeItemData for the given item Id.} +\end{twocollist}} +} -\constfunc{int}{GetItemImage}{\param{const wxTreeItemId\& }{item}} +\membersection{wxTreeCtrl::GetItemImage}\label{wxtreectrlgetitemimage} -Gets the normal item image. +\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} @@ -292,7 +320,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} @@ -313,6 +341,9 @@ Returns an invalid tree item if there are no further children. \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.} + \membersection{wxTreeCtrl::GetNextSibling}\label{wxtreectrlgetnextsibling} \constfunc{wxTreeItemId}{GetNextSibling}{\param{const wxTreeItemId\&}{ item}} @@ -365,13 +396,29 @@ Returns the root item for the tree control. \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 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.} \membersection{wxTreeCtrl::HitTest}\label{wxtreectrlhittest} @@ -500,6 +547,13 @@ See also: \helpref{IsBold}{wxtreectrlisbold} 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 +Object with the wxTreeItemData for the given item Id.} +\end{twocollist}} +} + \membersection{wxTreeCtrl::SetItemHasChildren}\label{wxtreectrlsetitemhaschildren} \func{void}{SetItemHasChildren}{\param{const wxTreeItemId\&}{ item}, \param{bool }{hasChildren = TRUE}} @@ -511,15 +565,19 @@ 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 {\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} @@ -531,7 +589,7 @@ Sets the item label. \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 (default is ascending alphabetical order). @@ -552,6 +610,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 @@ -586,6 +652,21 @@ 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:\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 +wxTreeItemData} +\end{twocollist}} +} + + \membersection{wxTreeItemData::\destruct{wxTreeItemData}} \func{void}{\destruct{wxTreeItemData}}{\void}