added wxTreeCtrl::UnselectItem() and ToggleItemSelection() (includes patch 832281)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25714 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2004-02-10 18:58:27 +00:00
parent 6bba111cc6
commit 3e9af289ed
3 changed files with 121 additions and 14 deletions

View File

@@ -110,6 +110,7 @@ to a newer version: see
\latexignore{\rtfignore{\wxheading{Members}}} \latexignore{\rtfignore{\wxheading{Members}}}
\membersection{wxTreeCtrl::wxTreeCtrl}\label{wxtreectrlconstr} \membersection{wxTreeCtrl::wxTreeCtrl}\label{wxtreectrlconstr}
\func{}{wxTreeCtrl}{\void} \func{}{wxTreeCtrl}{\void}
@@ -143,12 +144,14 @@ appropriately.}
\helpref{wxTreeCtrl::Create}{wxtreectrlcreate}, \helpref{wxValidator}{wxvalidator} \helpref{wxTreeCtrl::Create}{wxtreectrlcreate}, \helpref{wxValidator}{wxvalidator}
\membersection{wxTreeCtrl::\destruct{wxTreeCtrl}} \membersection{wxTreeCtrl::\destruct{wxTreeCtrl}}
\func{void}{\destruct{wxTreeCtrl}}{\void} \func{void}{\destruct{wxTreeCtrl}}{\void}
Destructor, destroying the list control. Destructor, destroying the list control.
\membersection{wxTreeCtrl::AddRoot}\label{wxtreectrladdroot} \membersection{wxTreeCtrl::AddRoot}\label{wxtreectrladdroot}
\func{wxTreeItemId}{AddRoot}{\param{const wxString\&}{ text}, \func{wxTreeItemId}{AddRoot}{\param{const wxString\&}{ text},
@@ -162,6 +165,7 @@ selected items, respectively.
If {\it image} > -1 and {\it selImage} is -1, the same image is used for If {\it image} > -1 and {\it selImage} is -1, the same image is used for
both selected and unselected items. both selected and unselected items.
\membersection{wxTreeCtrl::AppendItem}\label{wxtreectrlappenditem} \membersection{wxTreeCtrl::AppendItem}\label{wxtreectrlappenditem}
\func{wxTreeItemId}{AppendItem}{\param{const wxTreeItemId\& }{parent}, \param{const wxString\&}{ text}, \func{wxTreeItemId}{AppendItem}{\param{const wxTreeItemId\& }{parent}, \param{const wxString\&}{ text},
@@ -175,6 +179,7 @@ selected items, respectively.
If {\it image} > -1 and {\it selImage} is -1, the same image is used for If {\it image} > -1 and {\it selImage} is -1, the same image is used for
both selected and unselected items. both selected and unselected items.
\membersection{wxTreeCtrl::AssignButtonsImageList}\label{wxtreectrlassignbuttonsimagelist} \membersection{wxTreeCtrl::AssignButtonsImageList}\label{wxtreectrlassignbuttonsimagelist}
\func{void}{AssignButtonsImageList}{\param{wxImageList*}{ imageList}} \func{void}{AssignButtonsImageList}{\param{wxImageList*}{ imageList}}
@@ -191,6 +196,7 @@ This function is only available in the generic version.
See also \helpref{SetButtonsImageList}{wxtreectrlsetbuttonsimagelist}. See also \helpref{SetButtonsImageList}{wxtreectrlsetbuttonsimagelist}.
\membersection{wxTreeCtrl::AssignImageList}\label{wxtreectrlassignimagelist} \membersection{wxTreeCtrl::AssignImageList}\label{wxtreectrlassignimagelist}
\func{void}{AssignImageList}{\param{wxImageList*}{ imageList}} \func{void}{AssignImageList}{\param{wxImageList*}{ imageList}}
@@ -201,6 +207,7 @@ be automatically deleted by wxTreeCtrl as appropriate
See also \helpref{SetImageList}{wxtreectrlsetimagelist}. See also \helpref{SetImageList}{wxtreectrlsetimagelist}.
\membersection{wxTreeCtrl::AssignStateImageList}\label{wxtreectrlassignstateimagelist} \membersection{wxTreeCtrl::AssignStateImageList}\label{wxtreectrlassignstateimagelist}
\func{void}{AssignStateImageList}{\param{wxImageList*}{ imageList}} \func{void}{AssignStateImageList}{\param{wxImageList*}{ imageList}}
@@ -212,18 +219,21 @@ be automatically deleted by wxTreeCtrl as appropriate
See also \helpref{SetStateImageList}{wxtreectrlsetstateimagelist}. See also \helpref{SetStateImageList}{wxtreectrlsetstateimagelist}.
\membersection{wxTreeCtrl::Collapse}\label{wxtreectrlcollapse} \membersection{wxTreeCtrl::Collapse}\label{wxtreectrlcollapse}
\func{void}{Collapse}{\param{const wxTreeItemId\&}{ item}} \func{void}{Collapse}{\param{const wxTreeItemId\&}{ item}}
Collapses the given item. Collapses the given item.
\membersection{wxTreeCtrl::CollapseAndReset}\label{wxtreectrlcollapseandreset} \membersection{wxTreeCtrl::CollapseAndReset}\label{wxtreectrlcollapseandreset}
\func{void}{CollapseAndReset}{\param{const wxTreeItemId\&}{ item}} \func{void}{CollapseAndReset}{\param{const wxTreeItemId\&}{ item}}
Collapses the given item and removes all children. Collapses the given item and removes all children.
\membersection{wxTreeCtrl::Create}\label{wxtreectrlcreate} \membersection{wxTreeCtrl::Create}\label{wxtreectrlcreate}
\func{bool}{wxTreeCtrl}{\param{wxWindow*}{ parent}, \param{wxWindowID}{ id},\rtfsp \func{bool}{wxTreeCtrl}{\param{wxWindow*}{ parent}, \param{wxWindowID}{ id},\rtfsp
@@ -232,6 +242,7 @@ Collapses the given item and removes all children.
Creates the tree control. See \helpref{wxTreeCtrl::wxTreeCtrl}{wxtreectrlconstr} for further details. Creates the tree control. See \helpref{wxTreeCtrl::wxTreeCtrl}{wxtreectrlconstr} for further details.
\membersection{wxTreeCtrl::Delete}\label{wxtreectrldelete} \membersection{wxTreeCtrl::Delete}\label{wxtreectrldelete}
\func{void}{Delete}{\param{const wxTreeItemId\&}{ item}} \func{void}{Delete}{\param{const wxTreeItemId\&}{ item}}
@@ -241,6 +252,7 @@ generated.
This function may cause a subsequent call to GetNextChild to fail. This function may cause a subsequent call to GetNextChild to fail.
\membersection{wxTreeCtrl::DeleteAllItems}\label{wxtreectrldeleteallitems} \membersection{wxTreeCtrl::DeleteAllItems}\label{wxtreectrldeleteallitems}
\func{void}{DeleteAllItems}{\void} \func{void}{DeleteAllItems}{\void}
@@ -249,6 +261,7 @@ Deletes all the items in the control. Note that this may not generate
{\tt EVT\_TREE\_DELETE\_ITEM} events under some Windows versions although {\tt EVT\_TREE\_DELETE\_ITEM} events under some Windows versions although
normally such event is generated for each removed item. normally such event is generated for each removed item.
\membersection{wxTreeCtrl::DeleteChildren}\label{wxtreectrldeletechildren} \membersection{wxTreeCtrl::DeleteChildren}\label{wxtreectrldeletechildren}
\func{void}{DeleteChildren}{\param{const wxTreeItemId\& }{item}} \func{void}{DeleteChildren}{\param{const wxTreeItemId\& }{item}}
@@ -261,6 +274,7 @@ If you have called \helpref{wxTreeCtrl::SetItemHasChildren}{wxtreectrlsetitemhas
may need to call it again since {\it DeleteChildren} does not automatically may need to call it again since {\it DeleteChildren} does not automatically
clear the setting. clear the setting.
\membersection{wxTreeCtrl::EditLabel}\label{wxtreectrleditlabel} \membersection{wxTreeCtrl::EditLabel}\label{wxtreectrleditlabel}
\func{void}{EditLabel}{\param{const wxTreeItemId\&}{ item}} \func{void}{EditLabel}{\param{const wxTreeItemId\&}{ item}}
@@ -278,6 +292,7 @@ will be sent which can be vetoed as well.
\helpref{wxTreeCtrl::EndEditLabel}{wxtreectrlendeditlabel}, \helpref{wxTreeCtrl::EndEditLabel}{wxtreectrlendeditlabel},
\helpref{wxTreeEvent}{wxtreeevent} \helpref{wxTreeEvent}{wxtreeevent}
\membersection{wxTreeCtrl::EndEditLabel}\label{wxtreectrlendeditlabel} \membersection{wxTreeCtrl::EndEditLabel}\label{wxtreectrlendeditlabel}
\func{void}{EndEditLabel}{\param{bool }{cancelEdit}} \func{void}{EndEditLabel}{\param{bool }{cancelEdit}}
@@ -290,18 +305,21 @@ This function is currently supported under Windows only.
\helpref{wxTreeCtrl::EditLabel}{wxtreectrleditlabel} \helpref{wxTreeCtrl::EditLabel}{wxtreectrleditlabel}
\membersection{wxTreeCtrl::EnsureVisible}\label{wxtreectrlensurevisible} \membersection{wxTreeCtrl::EnsureVisible}\label{wxtreectrlensurevisible}
\func{void}{EnsureVisible}{\param{const wxTreeItemId\&}{ item}} \func{void}{EnsureVisible}{\param{const wxTreeItemId\&}{ item}}
Scrolls and/or expands items to ensure that the given item is visible. Scrolls and/or expands items to ensure that the given item is visible.
\membersection{wxTreeCtrl::Expand}\label{wxtreectrlexpand} \membersection{wxTreeCtrl::Expand}\label{wxtreectrlexpand}
\func{void}{Expand}{\param{const wxTreeItemId\&}{ item}} \func{void}{Expand}{\param{const wxTreeItemId\&}{ item}}
Expands the given item. Expands the given item.
\membersection{wxTreeCtrl::GetBoundingRect}\label{wxtreectrlgetitemrect} \membersection{wxTreeCtrl::GetBoundingRect}\label{wxtreectrlgetitemrect}
\constfunc{bool}{GetBoundingRect}{\param{const wxTreeItemId\&}{ item}, \param{wxRect\& }{rect}, \param{bool }{textOnly = {\tt false}}} \constfunc{bool}{GetBoundingRect}{\param{const wxTreeItemId\&}{ item}, \param{wxRect\& }{rect}, \param{bool }{textOnly = {\tt false}}}
@@ -321,6 +339,7 @@ item is currently invisible.
\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 ).} {\tt textOnly}, and returns a Wx::Rect ( or undef ).}
\membersection{wxTreeCtrl::GetButtonsImageList}\label{wxtreectrlgetbuttonsimagelist} \membersection{wxTreeCtrl::GetButtonsImageList}\label{wxtreectrlgetbuttonsimagelist}
\constfunc{wxImageList*}{GetButtonsImageList}{\void} \constfunc{wxImageList*}{GetButtonsImageList}{\void}
@@ -329,6 +348,7 @@ Returns the buttons image list (from which application-defined button images are
This function is only available in the generic version. This function is only available in the generic version.
\membersection{wxTreeCtrl::GetChildrenCount}\label{wxtreectrlgetchildrencount} \membersection{wxTreeCtrl::GetChildrenCount}\label{wxtreectrlgetchildrencount}
\constfunc{size\_t}{GetChildrenCount}{\param{const wxTreeItemId\&}{ item}, \param{bool}{ recursively = {\tt true}}} \constfunc{size\_t}{GetChildrenCount}{\param{const wxTreeItemId\&}{ item}, \param{bool}{ recursively = {\tt true}}}
@@ -336,12 +356,14 @@ This function is only available in the generic version.
Returns the number of items in the branch. If {\it recursively} is {\tt true}, returns the total number 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. of descendants, otherwise only one level of children is counted.
\membersection{wxTreeCtrl::GetCount}\label{wxtreectrlgetcount} \membersection{wxTreeCtrl::GetCount}\label{wxtreectrlgetcount}
\constfunc{int}{GetCount}{\void} \constfunc{int}{GetCount}{\void}
Returns the number of items in the control. Returns the number of items in the control.
\membersection{wxTreeCtrl::GetEditControl}\label{wxtreectrlgeteditcontrol} \membersection{wxTreeCtrl::GetEditControl}\label{wxtreectrlgeteditcontrol}
\constfunc{wxTextCtrl *}{GetEditControl}{\void} \constfunc{wxTextCtrl *}{GetEditControl}{\void}
@@ -351,6 +373,7 @@ if no label is being edited.
{\bf NB:} It is currently only implemented for wxMSW. {\bf NB:} It is currently only implemented for wxMSW.
\membersection{wxTreeCtrl::GetFirstChild}\label{wxtreectrlgetfirstchild} \membersection{wxTreeCtrl::GetFirstChild}\label{wxtreectrlgetfirstchild}
\constfunc{wxTreeItemId}{GetFirstChild}{\param{const wxTreeItemId\&}{ item}, \param{wxTreeItemIdValue \& }{cookie}} \constfunc{wxTreeItemId}{GetFirstChild}{\param{const wxTreeItemId\&}{ item}, \param{wxTreeItemIdValue \& }{cookie}}
@@ -376,30 +399,35 @@ value are both returned as a tuple containing the two values.}
\perlnote{In wxPerl this method only takes the {\tt item} parameter, and \perlnote{In wxPerl this method only takes the {\tt item} parameter, and
returns a 2-element list {\tt ( item, cookie )}.} returns a 2-element list {\tt ( item, cookie )}.}
\membersection{wxTreeCtrl::GetFirstVisibleItem}\label{wxtreectrlgetfirstvisibleitem} \membersection{wxTreeCtrl::GetFirstVisibleItem}\label{wxtreectrlgetfirstvisibleitem}
\constfunc{wxTreeItemId}{GetFirstVisibleItem}{\void} \constfunc{wxTreeItemId}{GetFirstVisibleItem}{\void}
Returns the first visible item. Returns the first visible item.
\membersection{wxTreeCtrl::GetImageList}\label{wxtreectrlgetimagelist} \membersection{wxTreeCtrl::GetImageList}\label{wxtreectrlgetimagelist}
\constfunc{wxImageList*}{GetImageList}{\void} \constfunc{wxImageList*}{GetImageList}{\void}
Returns the normal image list. Returns the normal image list.
\membersection{wxTreeCtrl::GetIndent}\label{wxtreectrlgetindent} \membersection{wxTreeCtrl::GetIndent}\label{wxtreectrlgetindent}
\constfunc{int}{GetIndent}{\void} \constfunc{int}{GetIndent}{\void}
Returns the current tree control indentation. Returns the current tree control indentation.
\membersection{wxTreeCtrl::GetItemBackgroundColour}\label{wxtreectrlgetitembackgroundcolour} \membersection{wxTreeCtrl::GetItemBackgroundColour}\label{wxtreectrlgetitembackgroundcolour}
\constfunc{wxColour}{GetItemBackgroundColour}{\param{const wxTreeItemId\&}{ item}} \constfunc{wxColour}{GetItemBackgroundColour}{\param{const wxTreeItemId\&}{ item}}
Returns the background colour of the item. Returns the background colour of the item.
\membersection{wxTreeCtrl::GetItemData}\label{wxtreectrlgetitemdata} \membersection{wxTreeCtrl::GetItemData}\label{wxtreectrlgetitemdata}
\constfunc{wxTreeItemData*}{GetItemData}{\param{const wxTreeItemId\&}{ item}} \constfunc{wxTreeItemData*}{GetItemData}{\param{const wxTreeItemId\&}{ item}}
@@ -427,12 +455,14 @@ tree->GetItemData( item )->GetData(); ).}
\end{twocollist}} \end{twocollist}}
} }
\membersection{wxTreeCtrl::GetItemFont}\label{wxtreectrlgetitemfont} \membersection{wxTreeCtrl::GetItemFont}\label{wxtreectrlgetitemfont}
\constfunc{wxFont}{GetItemFont}{\param{const wxTreeItemId\&}{ item}} \constfunc{wxFont}{GetItemFont}{\param{const wxTreeItemId\&}{ item}}
Returns the font of the item label. Returns the font of the item label.
\membersection{wxTreeCtrl::GetItemImage}\label{wxtreectrlgetitemimage} \membersection{wxTreeCtrl::GetItemImage}\label{wxtreectrlgetitemimage}
\constfunc{int}{GetItemImage}{\param{const wxTreeItemId\& }{item}, \constfunc{int}{GetItemImage}{\param{const wxTreeItemId\& }{item},
@@ -451,18 +481,21 @@ item is expanded and the normal image is shown when it is collapsed)
(which is shown when an expanded item is currently selected) (which is shown when an expanded item is currently selected)
\end{itemize} \end{itemize}
\membersection{wxTreeCtrl::GetItemText}\label{wxtreectrlgetitemtext} \membersection{wxTreeCtrl::GetItemText}\label{wxtreectrlgetitemtext}
\constfunc{wxString}{GetItemText}{\param{const wxTreeItemId\&}{ item}} \constfunc{wxString}{GetItemText}{\param{const wxTreeItemId\&}{ item}}
Returns the item label. Returns the item label.
\membersection{wxTreeCtrl::GetItemTextColour}\label{wxtreectrlgetitemtextcolour} \membersection{wxTreeCtrl::GetItemTextColour}\label{wxtreectrlgetitemtextcolour}
\constfunc{wxColour}{GetItemTextColour}{\param{const wxTreeItemId\&}{ item}} \constfunc{wxColour}{GetItemTextColour}{\param{const wxTreeItemId\&}{ item}}
Returns the colour of the item label. Returns the colour of the item label.
\membersection{wxTreeCtrl::GetLastChild}\label{wxtreectrlgetlastchild} \membersection{wxTreeCtrl::GetLastChild}\label{wxtreectrlgetlastchild}
\constfunc{wxTreeItemId}{GetLastChild}{\param{const wxTreeItemId\&}{ item}} \constfunc{wxTreeItemId}{GetLastChild}{\param{const wxTreeItemId\&}{ item}}
@@ -475,6 +508,7 @@ Returns the last child of the item (or an invalid tree item if this item has no
\helpref{wxTreeCtrl::GetNextSibling}{wxtreectrlgetnextsibling}, \helpref{wxTreeCtrl::GetNextSibling}{wxtreectrlgetnextsibling},
\helpref{GetLastChild}{wxtreectrlgetlastchild} \helpref{GetLastChild}{wxtreectrlgetlastchild}
\membersection{wxTreeCtrl::GetNextChild}\label{wxtreectrlgetnextchild} \membersection{wxTreeCtrl::GetNextChild}\label{wxtreectrlgetnextchild}
\constfunc{wxTreeItemId}{GetNextChild}{\param{const wxTreeItemId\&}{ item}, \param{wxTreeItemIdValue \& }{cookie}} \constfunc{wxTreeItemId}{GetNextChild}{\param{const wxTreeItemId\&}{ item}, \param{wxTreeItemIdValue \& }{cookie}}
@@ -499,6 +533,7 @@ value are both returned as a tuple containing the two values.}
\perlnote{In wxPerl this method returns a 2-element list \perlnote{In wxPerl this method returns a 2-element list
{\tt ( item, cookie )}, instead of modifying its parameters.} {\tt ( item, cookie )}, instead of modifying its parameters.}
\membersection{wxTreeCtrl::GetNextSibling}\label{wxtreectrlgetnextsibling} \membersection{wxTreeCtrl::GetNextSibling}\label{wxtreectrlgetnextsibling}
\constfunc{wxTreeItemId}{GetNextSibling}{\param{const wxTreeItemId\&}{ item}} \constfunc{wxTreeItemId}{GetNextSibling}{\param{const wxTreeItemId\&}{ item}}
@@ -511,18 +546,21 @@ Returns an invalid tree item if there are no further siblings.
\helpref{wxTreeCtrl::GetPrevSibling}{wxtreectrlgetprevsibling} \helpref{wxTreeCtrl::GetPrevSibling}{wxtreectrlgetprevsibling}
\membersection{wxTreeCtrl::GetNextVisible}\label{wxtreectrlgetnextvisible} \membersection{wxTreeCtrl::GetNextVisible}\label{wxtreectrlgetnextvisible}
\constfunc{wxTreeItemId}{GetNextVisible}{\param{const wxTreeItemId\&}{ item}} \constfunc{wxTreeItemId}{GetNextVisible}{\param{const wxTreeItemId\&}{ item}}
Returns the next visible item. Returns the next visible item.
\membersection{wxTreeCtrl::GetItemParent}\label{wxtreectrlgetitemparent} \membersection{wxTreeCtrl::GetItemParent}\label{wxtreectrlgetitemparent}
\constfunc{wxTreeItemId}{GetItemParent}{\param{const wxTreeItemId\&}{ item}} \constfunc{wxTreeItemId}{GetItemParent}{\param{const wxTreeItemId\&}{ item}}
Returns the item's parent. Returns the item's parent.
\membersection{wxTreeCtrl::GetParent}\label{wxtreectrlgetparent} \membersection{wxTreeCtrl::GetParent}\label{wxtreectrlgetparent}
\constfunc{wxTreeItemId}{GetParent}{\param{const wxTreeItemId\&}{ item}} \constfunc{wxTreeItemId}{GetParent}{\param{const wxTreeItemId\&}{ item}}
@@ -535,6 +573,7 @@ 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.} clash with wxWindow::GetParent.}
\membersection{wxTreeCtrl::GetPrevSibling}\label{wxtreectrlgetprevsibling} \membersection{wxTreeCtrl::GetPrevSibling}\label{wxtreectrlgetprevsibling}
\constfunc{wxTreeItemId}{GetPrevSibling}{\param{const wxTreeItemId\&}{ item}} \constfunc{wxTreeItemId}{GetPrevSibling}{\param{const wxTreeItemId\&}{ item}}
@@ -547,18 +586,21 @@ Returns an invalid tree item if there are no further children.
\helpref{wxTreeCtrl::GetNextSibling}{wxtreectrlgetnextsibling} \helpref{wxTreeCtrl::GetNextSibling}{wxtreectrlgetnextsibling}
\membersection{wxTreeCtrl::GetPrevVisible}\label{wxtreectrlgetprevvisible} \membersection{wxTreeCtrl::GetPrevVisible}\label{wxtreectrlgetprevvisible}
\constfunc{wxTreeItemId}{GetPrevVisible}{\param{const wxTreeItemId\&}{ item}} \constfunc{wxTreeItemId}{GetPrevVisible}{\param{const wxTreeItemId\&}{ item}}
Returns the previous visible item. Returns the previous visible item.
\membersection{wxTreeCtrl::GetRootItem}\label{wxtreectrlgetrootitem} \membersection{wxTreeCtrl::GetRootItem}\label{wxtreectrlgetrootitem}
\constfunc{wxTreeItemId}{GetRootItem}{\void} \constfunc{wxTreeItemId}{GetRootItem}{\void}
Returns the root item for the tree control. Returns the root item for the tree control.
\membersection{wxTreeCtrl::GetItemSelectedImage}\label{wxtreectrlgetitemselectedimage} \membersection{wxTreeCtrl::GetItemSelectedImage}\label{wxtreectrlgetitemselectedimage}
\constfunc{int}{GetItemSelectedImage}{\param{const wxTreeItemId\& }{item}} \constfunc{int}{GetItemSelectedImage}{\param{const wxTreeItemId\& }{item}}
@@ -566,6 +608,7 @@ Returns the root item for the tree control.
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). {\tt GetItemImage(item, wxTreeItemIcon\_Selected}) instead).
\membersection{wxTreeCtrl::GetSelection}\label{wxtreectrlgetselection} \membersection{wxTreeCtrl::GetSelection}\label{wxtreectrlgetselection}
\constfunc{wxTreeItemId}{GetSelection}{\void} \constfunc{wxTreeItemId}{GetSelection}{\void}
@@ -575,6 +618,7 @@ This function only works with the controls without wxTR\_MULTIPLE style, use
\helpref{GetSelections}{wxtreectrlgetselections} for the controls which do have \helpref{GetSelections}{wxtreectrlgetselections} for the controls which do have
this style. this style.
\membersection{wxTreeCtrl::GetSelections}\label{wxtreectrlgetselections} \membersection{wxTreeCtrl::GetSelections}\label{wxtreectrlgetselections}
\constfunc{size\_t}{GetSelections}{\param{wxArrayTreeItemIds\& }{selection}} \constfunc{size\_t}{GetSelections}{\param{wxArrayTreeItemIds\& }{selection}}
@@ -590,12 +634,14 @@ and returns a Python list of {\tt wxTreeItemId}s.}
\perlnote{In wxPerl this method takes no parameters and returns a list of \perlnote{In wxPerl this method takes no parameters and returns a list of
{\tt Wx::TreeItemId}s.} {\tt Wx::TreeItemId}s.}
\membersection{wxTreeCtrl::GetStateImageList}\label{wxtreectrlgetstateimagelist} \membersection{wxTreeCtrl::GetStateImageList}\label{wxtreectrlgetstateimagelist}
\constfunc{wxImageList*}{GetStateImageList}{\void} \constfunc{wxImageList*}{GetStateImageList}{\void}
Returns the state image list (from which application-defined state images are taken). Returns the state image list (from which application-defined state images are taken).
\membersection{wxTreeCtrl::HitTest}\label{wxtreectrlhittest} \membersection{wxTreeCtrl::HitTest}\label{wxtreectrlhittest}
\func{wxTreeItemId}{HitTest}{\param{const wxPoint\& }{point}, \param{int\& }{flags}} \func{wxTreeItemId}{HitTest}{\param{const wxPoint\& }{point}, \param{int\& }{flags}}
@@ -624,6 +670,7 @@ returned as a tuple.}
\perlnote{In wxPerl this method only takes the {\tt point} parameter \perlnote{In wxPerl this method only takes the {\tt point} parameter
and returns a 2-element list {\tt ( item, flags )}.} and returns a 2-element list {\tt ( item, flags )}.}
\membersection{wxTreeCtrl::InsertItem}\label{wxtreectrlinsertitem} \membersection{wxTreeCtrl::InsertItem}\label{wxtreectrlinsertitem}
\func{wxTreeItemId}{InsertItem}{\param{const wxTreeItemId\& }{parent}, \param{const wxTreeItemId\& }{previous}, \param{const wxString\&}{ text}, \func{wxTreeItemId}{InsertItem}{\param{const wxTreeItemId\& }{parent}, \param{const wxTreeItemId\& }{previous}, \param{const wxString\&}{ text},
@@ -644,6 +691,7 @@ both selected and unselected items.
\pythonnote{The second form of this method is called \pythonnote{The second form of this method is called
{\tt InsertItemBefore} in wxPython.} {\tt InsertItemBefore} in wxPython.}
\membersection{wxTreeCtrl::IsBold}\label{wxtreectrlisbold} \membersection{wxTreeCtrl::IsBold}\label{wxtreectrlisbold}
\constfunc{bool}{IsBold}{\param{const wxTreeItemId\& }{item}} \constfunc{bool}{IsBold}{\param{const wxTreeItemId\& }{item}}
@@ -652,30 +700,35 @@ Returns {\tt true} if the given item is in bold state.
See also: \helpref{SetItemBold}{wxtreectrlsetitembold} See also: \helpref{SetItemBold}{wxtreectrlsetitembold}
\membersection{wxTreeCtrl::IsExpanded}\label{wxtreectrlisexpanded} \membersection{wxTreeCtrl::IsExpanded}\label{wxtreectrlisexpanded}
\constfunc{bool}{IsExpanded}{\param{const wxTreeItemId\&}{ item}} \constfunc{bool}{IsExpanded}{\param{const wxTreeItemId\&}{ item}}
Returns {\tt true} if the item is expanded (only makes sense if it has children). Returns {\tt true} if the item is expanded (only makes sense if it has children).
\membersection{wxTreeCtrl::IsSelected}\label{wxtreectrlisselected} \membersection{wxTreeCtrl::IsSelected}\label{wxtreectrlisselected}
\constfunc{bool}{IsSelected}{\param{const wxTreeItemId\&}{ item}} \constfunc{bool}{IsSelected}{\param{const wxTreeItemId\&}{ item}}
Returns {\tt true} if the item is selected. Returns {\tt true} if the item is selected.
\membersection{wxTreeCtrl::IsVisible}\label{wxtreectrlisvisible} \membersection{wxTreeCtrl::IsVisible}\label{wxtreectrlisvisible}
\constfunc{bool}{IsVisible}{\param{const wxTreeItemId\&}{ item}} \constfunc{bool}{IsVisible}{\param{const wxTreeItemId\&}{ item}}
Returns {\tt true} if the item is visible (it might be outside the view, or not expanded). Returns {\tt true} if the item is visible (it might be outside the view, or not expanded).
\membersection{wxTreeCtrl::ItemHasChildren}\label{wxtreectrlitemhaschildren} \membersection{wxTreeCtrl::ItemHasChildren}\label{wxtreectrlitemhaschildren}
\constfunc{bool}{ItemHasChildren}{\param{const wxTreeItemId\&}{ item}} \constfunc{bool}{ItemHasChildren}{\param{const wxTreeItemId\&}{ item}}
Returns {\tt true} if the item has children. Returns {\tt true} if the item has children.
\membersection{wxTreeCtrl::OnCompareItems}\label{wxtreectrloncompareitems} \membersection{wxTreeCtrl::OnCompareItems}\label{wxtreectrloncompareitems}
\func{int}{OnCompareItems}{\param{const wxTreeItemId\& }{item1}, \param{const wxTreeItemId\& }{item2}} \func{int}{OnCompareItems}{\param{const wxTreeItemId\& }{item1}, \param{const wxTreeItemId\& }{item2}}
@@ -689,6 +742,7 @@ The base class version compares items alphabetically.
See also: \helpref{SortChildren}{wxtreectrlsortchildren} See also: \helpref{SortChildren}{wxtreectrlsortchildren}
\membersection{wxTreeCtrl::PrependItem}\label{wxtreectrlprependitem} \membersection{wxTreeCtrl::PrependItem}\label{wxtreectrlprependitem}
\func{wxTreeItemId}{PrependItem}{\param{const wxTreeItemId\& }{parent}, \param{const wxString\&}{ text}, \func{wxTreeItemId}{PrependItem}{\param{const wxTreeItemId\& }{parent}, \param{const wxString\&}{ text},
@@ -702,17 +756,21 @@ selected items, respectively.
If {\it image} > -1 and {\it selImage} is -1, the same image is used for If {\it image} > -1 and {\it selImage} is -1, the same image is used for
both selected and unselected items. both selected and unselected items.
\membersection{wxTreeCtrl::ScrollTo}\label{wxtreectrlscrollto} \membersection{wxTreeCtrl::ScrollTo}\label{wxtreectrlscrollto}
\func{void}{ScrollTo}{\param{const wxTreeItemId\&}{ item}} \func{void}{ScrollTo}{\param{const wxTreeItemId\&}{ item}}
Scrolls the specified item into view. Scrolls the specified item into view.
\membersection{wxTreeCtrl::SelectItem}\label{wxtreectrlselectitem} \membersection{wxTreeCtrl::SelectItem}\label{wxtreectrlselectitem}
\func{bool}{SelectItem}{\param{const wxTreeItemId\&}{ item}} \func{bool}{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} \membersection{wxTreeCtrl::SetButtonsImageList}\label{wxtreectrlsetbuttonsimagelist}
@@ -730,12 +788,14 @@ This function is only available in the generic version.
See also \helpref{AssignButtonsImageList}{wxtreectrlassignbuttonsimagelist}. See also \helpref{AssignButtonsImageList}{wxtreectrlassignbuttonsimagelist}.
\membersection{wxTreeCtrl::SetIndent}\label{wxtreectrlsetindent} \membersection{wxTreeCtrl::SetIndent}\label{wxtreectrlsetindent}
\func{void}{SetIndent}{\param{int }{indent}} \func{void}{SetIndent}{\param{int }{indent}}
Sets the indentation for the tree control. Sets the indentation for the tree control.
\membersection{wxTreeCtrl::SetImageList}\label{wxtreectrlsetimagelist} \membersection{wxTreeCtrl::SetImageList}\label{wxtreectrlsetimagelist}
\func{void}{SetImageList}{\param{wxImageList*}{ imageList}} \func{void}{SetImageList}{\param{wxImageList*}{ imageList}}
@@ -746,12 +806,14 @@ Sets the normal image list. Image list assigned with this method will
See also \helpref{AssignImageList}{wxtreectrlassignimagelist}. See also \helpref{AssignImageList}{wxtreectrlassignimagelist}.
\membersection{wxTreeCtrl::SetItemBackgroundColour}\label{wxtreectrlsetitembackgroundcolour} \membersection{wxTreeCtrl::SetItemBackgroundColour}\label{wxtreectrlsetitembackgroundcolour}
\func{void}{SetItemBackgroundColour}{\param{const wxTreeItemId\&}{ item}, \param{const wxColour\& }{col}} \func{void}{SetItemBackgroundColour}{\param{const wxTreeItemId\&}{ item}, \param{const wxColour\& }{col}}
Sets the colour of the item's background. Sets the colour of the item's background.
\membersection{wxTreeCtrl::SetItemBold}\label{wxtreectrlsetitembold} \membersection{wxTreeCtrl::SetItemBold}\label{wxtreectrlsetitembold}
\func{void}{SetItemBold}{\param{const wxTreeItemId\& }{item}, \param{bool}{ bold = {\tt true}}} \func{void}{SetItemBold}{\param{const wxTreeItemId\& }{item}, \param{bool}{ bold = {\tt true}}}
@@ -761,6 +823,7 @@ the normal state.
See also: \helpref{IsBold}{wxtreectrlisbold} See also: \helpref{IsBold}{wxtreectrlisbold}
\membersection{wxTreeCtrl::SetItemData}\label{wxtreectrlsetitemdata} \membersection{wxTreeCtrl::SetItemData}\label{wxtreectrlsetitemdata}
\func{void}{SetItemData}{\param{const wxTreeItemId\&}{ item}, \param{wxTreeItemData* }{data}} \func{void}{SetItemData}{\param{const wxTreeItemId\&}{ item}, \param{wxTreeItemData* }{data}}
@@ -783,6 +846,7 @@ tree->GetItemData( item )->SetData( data ); ).}
\end{twocollist}} \end{twocollist}}
} }
\membersection{wxTreeCtrl::SetItemFont}\label{wxtreectrlsetitemfont} \membersection{wxTreeCtrl::SetItemFont}\label{wxtreectrlsetitemfont}
\func{void}{SetItemFont}{\param{const wxTreeItemId\&}{ item}, \param{const wxFont\& }{font}} \func{void}{SetItemFont}{\param{const wxTreeItemId\&}{ item}, \param{const wxFont\& }{font}}
@@ -795,6 +859,7 @@ although font attributes may vary.
\helpref{SetItemBold}{wxtreectrlsetitembold} \helpref{SetItemBold}{wxtreectrlsetitembold}
\membersection{wxTreeCtrl::SetItemHasChildren}\label{wxtreectrlsetitemhaschildren} \membersection{wxTreeCtrl::SetItemHasChildren}\label{wxtreectrlsetitemhaschildren}
\func{void}{SetItemHasChildren}{\param{const wxTreeItemId\&}{ item}, \param{bool }{hasChildren = {\tt true}}} \func{void}{SetItemHasChildren}{\param{const wxTreeItemId\&}{ item}, \param{bool }{hasChildren = {\tt true}}}
@@ -804,6 +869,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 but instead adding them only when needed, thus minimizing memory
usage and loading time. usage and loading time.
\membersection{wxTreeCtrl::SetItemImage}\label{wxtreectrlsetitemimage} \membersection{wxTreeCtrl::SetItemImage}\label{wxtreectrlsetitemimage}
\func{void}{SetItemImage}{\param{const wxTreeItemId\&}{ item}, \func{void}{SetItemImage}{\param{const wxTreeItemId\&}{ item},
@@ -812,24 +878,28 @@ usage and loading time.
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. for the description of the {\it which} parameter.
\membersection{wxTreeCtrl::SetItemSelectedImage}\label{wxtreectrlsetitemselectedimage} \membersection{wxTreeCtrl::SetItemSelectedImage}\label{wxtreectrlsetitemselectedimage}
\func{void}{SetItemSelectedImage}{\param{const wxTreeItemId\&}{ item}, \param{int }{selImage}} \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} \membersection{wxTreeCtrl::SetItemText}\label{wxtreectrlsetitemtext}
\func{void}{SetItemText}{\param{const wxTreeItemId\&}{ item}, \param{const wxString\& }{text}} \func{void}{SetItemText}{\param{const wxTreeItemId\&}{ item}, \param{const wxString\& }{text}}
Sets the item label. Sets the item label.
\membersection{wxTreeCtrl::SetItemTextColour}\label{wxtreectrlsetitemtextcolour} \membersection{wxTreeCtrl::SetItemTextColour}\label{wxtreectrlsetitemtextcolour}
\func{void}{SetItemTextColour}{\param{const wxTreeItemId\&}{ item}, \param{const wxColour\& }{col}} \func{void}{SetItemTextColour}{\param{const wxTreeItemId\&}{ item}, \param{const wxColour\& }{col}}
Sets the colour of the item's text. Sets the colour of the item's text.
\membersection{wxTreeCtrl::SetStateImageList}\label{wxtreectrlsetstateimagelist} \membersection{wxTreeCtrl::SetStateImageList}\label{wxtreectrlsetstateimagelist}
\func{void}{SetStateImageList}{\param{wxImageList*}{ imageList}} \func{void}{SetStateImageList}{\param{wxImageList*}{ imageList}}
@@ -846,6 +916,7 @@ Sets the mode flags associated with the display of the tree control.
The new mode takes effect immediately. The new mode takes effect immediately.
(Generic only; MSW ignores changes.) (Generic only; MSW ignores changes.)
\membersection{wxTreeCtrl::SortChildren}\label{wxtreectrlsortchildren} \membersection{wxTreeCtrl::SortChildren}\label{wxtreectrlsortchildren}
\func{void}{SortChildren}{\param{const wxTreeItemId\&}{ item}} \func{void}{SortChildren}{\param{const wxTreeItemId\&}{ item}}
@@ -859,18 +930,29 @@ case-sensitive alphabetical order).
\helpref{wxTreeItemData}{wxtreeitemdata}, \helpref{OnCompareItems}{wxtreectrloncompareitems} \helpref{wxTreeItemData}{wxtreeitemdata}, \helpref{OnCompareItems}{wxtreectrloncompareitems}
\membersection{wxTreeCtrl::Toggle}\label{wxtreectrltoggle} \membersection{wxTreeCtrl::Toggle}\label{wxtreectrltoggle}
\func{void}{Toggle}{\param{const wxTreeItemId\&}{ item}} \func{void}{Toggle}{\param{const wxTreeItemId\&}{ item}}
Toggles the given item between collapsed and expanded states. 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} \membersection{wxTreeCtrl::Unselect}\label{wxtreectrlunselect}
\func{void}{Unselect}{\void} \func{void}{Unselect}{\void}
Removes the selection from the currently selected item (if any). Removes the selection from the currently selected item (if any).
\membersection{wxTreeCtrl::UnselectAll}\label{wxtreectrlunselectall} \membersection{wxTreeCtrl::UnselectAll}\label{wxtreectrlunselectall}
\func{void}{UnselectAll}{\void} \func{void}{UnselectAll}{\void}
@@ -879,3 +961,11 @@ This function either behaves the same as \helpref{Unselect}{wxtreectrlunselect}
if the control doesn't have wxTR\_MULTIPLE style, or removes the selection from if the control doesn't have wxTR\_MULTIPLE style, or removes the selection from
all items if it does have this style. 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.

View File

@@ -317,7 +317,12 @@ public:
// unselect all items (only makes sense for multiple selection control) // unselect all items (only makes sense for multiple selection control)
void UnselectAll(); void UnselectAll();
// select this item // select this item
void SelectItem(const wxTreeItemId& item); void SelectItem(const wxTreeItemId& item, bool select = true);
// unselect this item
void UnselectItem(const wxTreeItemId& item);
// toggle item selection
void ToggleItemSelection(const wxTreeItemId& item);
// make sure this item is visible (expanding the parent item and/or // make sure this item is visible (expanding the parent item and/or
// scrolling to this item if necessary) // scrolling to this item if necessary)
void EnsureVisible(const wxTreeItemId& item); void EnsureVisible(const wxTreeItemId& item);

View File

@@ -97,7 +97,7 @@ static bool IsItemSelected(HWND hwndTV, HTREEITEM hItem)
return (tvi.state & TVIS_SELECTED) != 0; return (tvi.state & TVIS_SELECTED) != 0;
} }
static void SelectItem(HWND hwndTV, HTREEITEM hItem, bool select = true) static bool SelectItem(HWND hwndTV, HTREEITEM hItem, bool select = true)
{ {
TV_ITEM tvi; TV_ITEM tvi;
tvi.mask = TVIF_STATE | TVIF_HANDLE; tvi.mask = TVIF_STATE | TVIF_HANDLE;
@@ -108,7 +108,10 @@ static void SelectItem(HWND hwndTV, HTREEITEM hItem, bool select = true)
if ( TreeView_SetItem(hwndTV, &tvi) == -1 ) if ( TreeView_SetItem(hwndTV, &tvi) == -1 )
{ {
wxLogLastError(wxT("TreeView_SetItem")); wxLogLastError(wxT("TreeView_SetItem"));
return false;
} }
return true;
} }
static inline void UnselectItem(HWND hwndTV, HTREEITEM htItem) static inline void UnselectItem(HWND hwndTV, HTREEITEM htItem)
@@ -1864,19 +1867,22 @@ void wxTreeCtrl::UnselectAll()
} }
} }
void wxTreeCtrl::SelectItem(const wxTreeItemId& item) void wxTreeCtrl::SelectItem(const wxTreeItemId& item, bool select)
{ {
if ( m_windowStyle & wxTR_MULTIPLE ) if ( m_windowStyle & wxTR_MULTIPLE )
{ {
#if wxUSE_CHECKBOXES_IN_MULTI_SEL_TREE #if wxUSE_CHECKBOXES_IN_MULTI_SEL_TREE
// selecting the item means checking it // selecting the item means checking it
SetItemCheck(item); SetItemCheck(item, select);
#else // !wxUSE_CHECKBOXES_IN_MULTI_SEL_TREE #else // !wxUSE_CHECKBOXES_IN_MULTI_SEL_TREE
::SelectItem(GetHwnd(), HITEM(item)); ::SelectItem(GetHwnd(), HITEM(item), select);
#endif // wxUSE_CHECKBOXES_IN_MULTI_SEL_TREE/!wxUSE_CHECKBOXES_IN_MULTI_SEL_TREE #endif // wxUSE_CHECKBOXES_IN_MULTI_SEL_TREE/!wxUSE_CHECKBOXES_IN_MULTI_SEL_TREE
} }
else else
{ {
wxASSERT_MSG( select,
_T("SelectItem(false) works only for multiselect") );
// inspite of the docs (MSDN Jan 99 edition), we don't seem to receive // inspite of the docs (MSDN Jan 99 edition), we don't seem to receive
// the notification from the control (i.e. TVN_SELCHANG{ED|ING}), so // the notification from the control (i.e. TVN_SELCHANG{ED|ING}), so
// send them ourselves // send them ourselves
@@ -1888,11 +1894,7 @@ void wxTreeCtrl::SelectItem(const wxTreeItemId& item)
event.SetEventType(wxEVT_COMMAND_TREE_SEL_CHANGING); event.SetEventType(wxEVT_COMMAND_TREE_SEL_CHANGING);
if ( !GetEventHandler()->ProcessEvent(event) || event.IsAllowed() ) if ( !GetEventHandler()->ProcessEvent(event) || event.IsAllowed() )
{ {
if ( !TreeView_SelectItem(GetHwnd(), HITEM(item)) ) if ( ::SelectItem(GetHwnd(), HITEM(item), select) )
{
wxLogLastError(wxT("TreeView_SelectItem"));
}
else
{ {
event.SetEventType(wxEVT_COMMAND_TREE_SEL_CHANGED); event.SetEventType(wxEVT_COMMAND_TREE_SEL_CHANGED);
(void)GetEventHandler()->ProcessEvent(event); (void)GetEventHandler()->ProcessEvent(event);
@@ -1902,6 +1904,16 @@ void wxTreeCtrl::SelectItem(const wxTreeItemId& item)
} }
} }
void wxTreeCtrl::UnselectItem(const wxTreeItemId& item)
{
SelectItem(item, false);
}
void wxTreeCtrl::ToggleItemSelection(const wxTreeItemId& item)
{
SelectItem(item, !IsSelected(item));
}
void wxTreeCtrl::EnsureVisible(const wxTreeItemId& item) void wxTreeCtrl::EnsureVisible(const wxTreeItemId& item)
{ {
// no error return // no error return
@@ -2162,7 +2174,7 @@ long wxTreeCtrl::MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam)
SetFocus(); SetFocus();
// toggle selected state // toggle selected state
ToggleItemSelection(GetHwnd(), htItem); ::ToggleItemSelection(GetHwnd(), htItem);
::SetFocus(GetHwnd(), htItem); ::SetFocus(GetHwnd(), htItem);
@@ -2325,7 +2337,7 @@ long wxTreeCtrl::MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam)
{ {
if ( bCtrl ) if ( bCtrl )
{ {
ToggleItemSelection(GetHwnd(), htSel); ::ToggleItemSelection(GetHwnd(), htSel);
} }
else else
{ {