X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/cc81d32f2bf8c159f3b1bf6ddaf62e6d77720209..2706e543a6923d8e743c6ec21fcfe898a52aec88:/docs/latex/wx/treectrl.tex diff --git a/docs/latex/wx/treectrl.tex b/docs/latex/wx/treectrl.tex index 9d102d9419..26118922e6 100644 --- a/docs/latex/wx/treectrl.tex +++ b/docs/latex/wx/treectrl.tex @@ -1,8 +1,19 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% Name: treectrl.tex +%% Purpose: wxTreeCtrl documentation +%% Author: wxWidgets Team +%% Modified by: +%% Created: +%% RCS-ID: $Id$ +%% Copyright: (c) wxWidgets Team +%% License: wxWindows license +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \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. +which may be tested for validity by calling \helpref{wxTreeItemId::IsOk}{wxtreeitemidisok}. To intercept events from a tree control, use the event table macros described in \helpref{wxTreeEvent}{wxtreeevent}. @@ -17,6 +28,10 @@ To intercept events from a tree control, use the event table macros described in +\wxheading{Library} + +\helpref{wxCore}{librarieslist} + \wxheading{Window styles} \twocolwidtha{5cm} @@ -27,15 +42,11 @@ if you wish the user to be able to edit labels in the tree control.} 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 +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. @@ -58,8 +69,6 @@ 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} @@ -75,6 +84,7 @@ 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\_END\_DRAG(id, func)}}{End dragging with the left or 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.} @@ -85,9 +95,15 @@ functions that take a \helpref{wxTreeEvent}{wxtreeevent} argument. \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\_ITEM\_RIGHT\_CLICK(id, func)}}{The user has clicked the item with the right mouse button.} +\twocolitem{{\bf EVT\_TREE\_ITEM\_MIDDLE\_CLICK(id, func)}}{The user has clicked the item with the middle mouse button.} \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.} +\twocolitem{{\bf EVT\_TREE\_ITEM\_GETTOOLTIP(id, func)}}{The opportunity to set the item tooltip +is being given to the application (call wxTreeEvent::SetToolTip). Windows only.} +\twocolitem{{\bf EVT\_TREE\_ITEM\_MENU(id, func)}}{The context menu for the selected item has been requested, either by a right click or by using the menu key.} +\twocolitem{{\bf EVT\_TREE\_STATE\_IMAGE\_CLICK(id, func)}}{The state image has been clicked. Windows only.} \end{twocollist} \wxheading{See also} @@ -101,13 +117,13 @@ 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} +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}. +\urlref{http://www.microsoft.com/downloads/release.asp?ReleaseID=11916}{http://www.microsoft.com/downloads/release.asp?ReleaseID=11916}. \latexignore{\rtfignore{\wxheading{Members}}} + \membersection{wxTreeCtrl::wxTreeCtrl}\label{wxtreectrlconstr} \func{}{wxTreeCtrl}{\void} @@ -116,7 +132,7 @@ 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"}} +\param{long}{ style = wxTR\_HAS\_BUTTONS}, \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = ``treeCtrl"}} Constructor, creating and showing a tree control. @@ -141,11 +157,13 @@ appropriately.} \helpref{wxTreeCtrl::Create}{wxtreectrlcreate}, \helpref{wxValidator}{wxvalidator} -\membersection{wxTreeCtrl::\destruct{wxTreeCtrl}} + +\membersection{wxTreeCtrl::\destruct{wxTreeCtrl}}\label{wxtreectrldtor} \func{void}{\destruct{wxTreeCtrl}}{\void} -Destructor, destroying the list control. +Destructor, destroying the tree control. + \membersection{wxTreeCtrl::AddRoot}\label{wxtreectrladdroot} @@ -160,6 +178,7 @@ 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}, @@ -173,6 +192,7 @@ 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}} @@ -189,6 +209,7 @@ 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}} @@ -199,6 +220,7 @@ be automatically deleted by wxTreeCtrl as appropriate See also \helpref{SetImageList}{wxtreectrlsetimagelist}. + \membersection{wxTreeCtrl::AssignStateImageList}\label{wxtreectrlassignstateimagelist} \func{void}{AssignStateImageList}{\param{wxImageList*}{ imageList}} @@ -210,26 +232,52 @@ be automatically deleted by wxTreeCtrl as appropriate See also \helpref{SetStateImageList}{wxtreectrlsetstateimagelist}. + \membersection{wxTreeCtrl::Collapse}\label{wxtreectrlcollapse} \func{void}{Collapse}{\param{const wxTreeItemId\&}{ item}} Collapses the given item. + +\membersection{wxTreeCtrl::CollapseAll}\label{wxtreectrlcollapseall} + +\func{void}{CollapseAll}{\void} + +Collapses the root item. + +\wxheading{See also} + +\helpref{ExpandAll}{wxtreectrlexpandall} + + +\membersection{wxTreeCtrl::CollapseAllChildren}\label{wxtreectrlcollapseallchildren} + +\func{void}{CollapseAllChildren}{\param{const wxTreeItemId\&}{ item}} + +Collapses this item and all of its children, recursively. + +\wxheading{See also} + +\helpref{ExpandAllChildren}{wxtreectrlexpandallchildren} + + \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"}} +\param{long}{ style = wxTR\_HAS\_BUTTONS}, \param{const wxValidator\& }{validator = wxDefaultValidator}, \param{const wxString\& }{name = ``treeCtrl"}} Creates the tree control. See \helpref{wxTreeCtrl::wxTreeCtrl}{wxtreectrlconstr} for further details. + \membersection{wxTreeCtrl::Delete}\label{wxtreectrldelete} \func{void}{Delete}{\param{const wxTreeItemId\&}{ item}} @@ -237,22 +285,31 @@ Creates the tree control. See \helpref{wxTreeCtrl::wxTreeCtrl}{wxtreectrlconstr} Deletes the specified item. A {\tt EVT\_TREE\_DELETE\_ITEM} event will be generated. +This function may cause a subsequent call to GetNextChild to fail. + + \membersection{wxTreeCtrl::DeleteAllItems}\label{wxtreectrldeleteallitems} \func{void}{DeleteAllItems}{\void} -Deletes all the items in the control. Note that this may not generate +Deletes all 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 +this will {\bf not} generate any events unlike \helpref{Delete}{wxtreectrldelete} method. +If you have called \helpref{wxTreeCtrl::SetItemHasChildren}{wxtreectrlsetitemhaschildren}, you +may need to call it again since {\it DeleteChildren} does not automatically +clear the setting. + + \membersection{wxTreeCtrl::EditLabel}\label{wxtreectrleditlabel} \func{void}{EditLabel}{\param{const wxTreeItemId\&}{ item}} @@ -270,6 +327,7 @@ will be sent which can be vetoed as well. \helpref{wxTreeCtrl::EndEditLabel}{wxtreectrlendeditlabel}, \helpref{wxTreeEvent}{wxtreeevent} + \membersection{wxTreeCtrl::EndEditLabel}\label{wxtreectrlendeditlabel} \func{void}{EndEditLabel}{\param{bool }{cancelEdit}} @@ -282,18 +340,35 @@ This function is currently supported under Windows only. \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::ExpandAll}\label{wxtreectrlexpandall} + +\func{void}{ExpandAll}{\void} + +Expands all items in the tree. + + +\membersection{wxTreeCtrl::ExpandAllChildren}\label{wxtreectrlexpandallchildren} + +\func{void}{ExpandAllChildren}{\param{const wxTreeItemId\&}{ item}} + +Expands the given item and all its children recursively. + + \membersection{wxTreeCtrl::GetBoundingRect}\label{wxtreectrlgetitemrect} \constfunc{bool}{GetBoundingRect}{\param{const wxTreeItemId\&}{ item}, \param{wxRect\& }{rect}, \param{bool }{textOnly = {\tt false}}} @@ -303,16 +378,21 @@ 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 +if it was not (in this case {\it rect} is not changed) -- for example, if the item is currently invisible. +Notice that the rectangle coordinates are logical, not physical ones. So, for +example, the x coordinate may be negative if the tree has a horizontal +scrollbar and its position is not $0$. + \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 +\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} @@ -321,19 +401,22 @@ Returns the buttons image list (from which application-defined button images are 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}}} +\constfunc{unsigned int}{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} +\constfunc{unsigned int}{GetCount}{\void} Returns the number of items in the control. + \membersection{wxTreeCtrl::GetEditControl}\label{wxtreectrlgeteditcontrol} \constfunc{wxTextCtrl *}{GetEditControl}{\void} @@ -343,9 +426,10 @@ 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}} +\constfunc{wxTreeItemId}{GetFirstChild}{\param{const wxTreeItemId\&}{ item}, \param{wxTreeItemIdValue \& }{cookie}} Returns the first child; call \helpref{wxTreeCtrl::GetNextChild}{wxtreectrlgetnextchild} for the next child. @@ -355,7 +439,7 @@ 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. +Returns an invalid tree item (i.e. IsOk() returns {\tt false}) if there are no further children. \wxheading{See also} @@ -368,30 +452,35 @@ 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}} @@ -408,16 +497,16 @@ Returns the tree item data associated with the item. \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(); ).} +associated with the Wx::TreeItemData. It is just the same as +tree->GetItemData(item)->GetData().} \end{twocollist}} -} +}% \membersection{wxTreeCtrl::GetItemFont}\label{wxtreectrlgetitemfont} @@ -425,6 +514,7 @@ tree->GetItemData( item )->GetData(); ).} Returns the font of the item label. + \membersection{wxTreeCtrl::GetItemImage}\label{wxtreectrlgetitemimage} \constfunc{int}{GetItemImage}{\param{const wxTreeItemId\& }{item}, @@ -443,18 +533,21 @@ item is expanded and the normal image is shown when it is collapsed) (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}} @@ -467,9 +560,10 @@ Returns the last child of the item (or an invalid tree item if this item has no \helpref{wxTreeCtrl::GetNextSibling}{wxtreectrlgetnextsibling}, \helpref{GetLastChild}{wxtreectrlgetlastchild} + \membersection{wxTreeCtrl::GetNextChild}\label{wxtreectrlgetnextchild} -\constfunc{wxTreeItemId}{GetNextChild}{\param{const wxTreeItemId\&}{ item}, \param{long\& }{cookie}} +\constfunc{wxTreeItemId}{GetNextChild}{\param{const wxTreeItemId\&}{ item}, \param{wxTreeItemIdValue \& }{cookie}} Returns the next child; call \helpref{wxTreeCtrl::GetFirstChild}{wxtreectrlgetfirstchild} for the first child. @@ -491,6 +585,7 @@ 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}} @@ -503,29 +598,20 @@ Returns an invalid tree item if there are no further siblings. \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} @@ -539,18 +625,33 @@ Returns an invalid tree item if there are no further children. \helpref{wxTreeCtrl::GetNextSibling}{wxtreectrlgetnextsibling} + \membersection{wxTreeCtrl::GetPrevVisible}\label{wxtreectrlgetprevvisible} \constfunc{wxTreeItemId}{GetPrevVisible}{\param{const wxTreeItemId\&}{ item}} Returns the previous visible item. + +\membersection{wxTreeCtrl::GetQuickBestSize}\label{wxtreectrlgetquickbestsize} + +\constfunc{bool}{GetQuickBestSize}{\void} + +Returns true if the control will use a quick calculation for the best size, +looking only at the first and last items. The default is false. + +\wxheading{See also} + +\helpref{wxTreeCtrl::SetQuickBestSize}{wxtreectrlsetquickbestsize} + + \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}} @@ -558,6 +659,7 @@ Returns the root item for the tree control. 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} @@ -567,9 +669,10 @@ 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}} +\constfunc{unsigned int}{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. @@ -582,15 +685,17 @@ 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}} +\constfunc{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: @@ -616,6 +721,7 @@ 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}, @@ -625,6 +731,7 @@ returned as a tuple.} \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}). +{\it before} must be less than the number of children. The {\it image} and {\it selImage} parameters are an index within the normal image list specifying the image to use for unselected and @@ -635,6 +742,7 @@ 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}} @@ -643,30 +751,42 @@ Returns {\tt true} if the given item is in bold state. See also: \helpref{SetItemBold}{wxtreectrlsetitembold} + +\membersection{wxTreeCtrl::IsEmpty}\label{wxtreectrlisempty} + +\constfunc{bool}{IsEmpty}{} + +Returns \true if the control is empty (i.e. has no items, even no root one). + + \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}} @@ -676,10 +796,16 @@ 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. +Please note that you \textbf{must} use wxRTTI macros +\helpref{DECLARE\_DYNAMIC\_CLASS}{declaredynamicclass} and +\helpref{IMPLEMENT\_DYNAMIC\_CLASS}{implementdynamicclass} if you override this +function because otherwise the base class considers that it is not overridden +and uses the default comparison, i.e. sorts the items alphabetically, which +allows it optimize away the calls to the virtual function completely. See also: \helpref{SortChildren}{wxtreectrlsortchildren} + \membersection{wxTreeCtrl::PrependItem}\label{wxtreectrlprependitem} \func{wxTreeItemId}{PrependItem}{\param{const wxTreeItemId\& }{parent}, \param{const wxString\&}{ text}, @@ -693,17 +819,21 @@ 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}} +\func{void}{SelectItem}{\param{const wxTreeItemId\&}{ item}, \param{bool }{select = \true}} + +Selects the given item. In multiple selection controls, can be also used to +deselect a currently selected item if the value of \arg{select} is false. -Selects the given item. \membersection{wxTreeCtrl::SetButtonsImageList}\label{wxtreectrlsetbuttonsimagelist} @@ -721,12 +851,14 @@ 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}} @@ -737,12 +869,14 @@ Sets the normal image list. Image list assigned with this method will 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}}} @@ -752,6 +886,7 @@ the normal state. See also: \helpref{IsBold}{wxtreectrlisbold} + \membersection{wxTreeCtrl::SetItemData}\label{wxtreectrlsetitemdata} \func{void}{SetItemData}{\param{const wxTreeItemId\&}{ item}, \param{wxTreeItemData* }{data}} @@ -763,16 +898,25 @@ Sets the item client data. \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 ); ).} +associated with the Wx::TreeItemData. It is just the same as +tree->GetItemData(item)->SetData(data).} \end{twocollist}} -} +}% + +\membersection{wxTreeCtrl::SetItemDropHighlight}\label{wxtreectrlsetitemdrophighlight} + +\func{void}{SetItemDropHighlight}{\param{const wxTreeItemId\&}{ item}, \param{bool}{highlight = {\tt true}}} + +Gives the item the visual feedback for Drag'n'Drop actions, which is +useful if something is dragged from the outside onto the tree control +(as opposed to a DnD operation within the tree control, which already +is implemented internally). \membersection{wxTreeCtrl::SetItemFont}\label{wxtreectrlsetitemfont} @@ -786,6 +930,7 @@ although font attributes may vary. \helpref{SetItemBold}{wxtreectrlsetitembold} + \membersection{wxTreeCtrl::SetItemHasChildren}\label{wxtreectrlsetitemhaschildren} \func{void}{SetItemHasChildren}{\param{const wxTreeItemId\&}{ item}, \param{bool }{hasChildren = {\tt true}}} @@ -795,6 +940,7 @@ 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}, @@ -803,24 +949,41 @@ usage and loading time. 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::SetQuickBestSize}\label{wxtreectrlsetquickbestsize} + +\func{void}{SetQuickBestSize}{\param{bool}{ quickBestSize}} + +If true is passed, specifies that the control will use a quick calculation for the best size, +looking only at the first and last items. Otherwise, it will look at all items. +The default is false. + +\wxheading{See also} + +\helpref{wxTreeCtrl::GetQuickBestSize}{wxtreectrlgetquickbestsize} + + \membersection{wxTreeCtrl::SetStateImageList}\label{wxtreectrlsetstateimagelist} \func{void}{SetStateImageList}{\param{wxImageList*}{ imageList}} @@ -831,12 +994,15 @@ Image list assigned with this method will See also \helpref{AssignStateImageList}{wxtreectrlassignstateimagelist}. +\membersection{wxTreeCtrl::SetWindowStyle}\label{wxtreectrlsetwindowstyle} + \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}} @@ -844,24 +1010,35 @@ The new mode takes effect immediately. 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). +case-sensitive 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::ToggleItemSelection}\label{wxtreectrltoggleitemselection} + +\func{void}{ToggleItemSelection}{\param{const wxTreeItemId\&}{ item}} + +Toggles the given item between selected and unselected states. For +multiselection controls only. + + \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} @@ -870,3 +1047,70 @@ 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. + +\membersection{wxTreeCtrl::UnselectItem}\label{wxtreectrlunselectitem} + +\func{void}{UnselectItem}{\param{const wxTreeItemId\& }{item}} + +Unselects the given item. This works in multiselection controls only. + + + + + +%% the wxTreeItemId opaque class + + +\section{\class{wxTreeItemId}}\label{wxtreeitemid} + +An opaque reference to a tree item. + + +\wxheading{Derived from} + +None + +\wxheading{Include files} + + + +\wxheading{Library} + +\helpref{wxCore}{librarieslist} + +\wxheading{See also} + +\helpref{wxTreeCtrl}{wxtreectrl}, \helpref{wxTreeItemData}{wxtreeitemdata},\\ +\helpref{wxTreeCtrl overview}{wxtreectrloverview} + + +\latexignore{\rtfignore{\wxheading{Members}}} + +\membersection{wxTreeItemId::wxTreeItemId}\label{wxtreeitemidconstr} + +\func{}{wxTreeItemId}{\void} + +Default constructor. wxTreemItemIds are not meant to be constructed explicitly by +the user; they are returned by the \helpref{wxTreeCtrl}{wxtreectrl} functions instead. + + +\membersection{wxTreeItemId::IsOk}\label{wxtreeitemidisok} + +\constfunc{bool}{IsOk}{} + +Returns \true if this instance is referencing a valid tree item. + + +\membersection{Operators}\label{wxtreeitemidoperators} + +\constfunc{void}{operator $!$}{} + +Synonim for \helpref{IsOk}{wxtreeitemidisok} + + +\constfunc{bool}{operator $==$}{\param{const wxTreeItemId\& }{item}} + +\constfunc{bool}{operator $!=$}{\param{const wxTreeItemId\& }{item}} + +Operators for comparison between \helpref{wxTreeItemId}{wxtreeitemid} objects. +