added ExpandAllChildrne() (patch 1498343)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39929 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
5d95cab89d
commit
7093413895
@ -152,6 +152,7 @@ All (GUI):
|
||||
- Added wxTextAttr::Merge() (Marcin Simonides).
|
||||
- Added wxTB_NO_TOOLTIPS style (Igor Korot).
|
||||
- Added wxGenericDirCtrl::CollapsePath() (Christian Buhtz).
|
||||
- Added wxTreeCtrl::ExpandAllChildren() (Christian Buhtz)
|
||||
- Fixed 64-bit issue in wxNotebook causing segfaults on Tru64 Unix.
|
||||
- Made it possible to associate context help to a region of a window.
|
||||
- Added support for tabs in wxRichTextCtrl (Ashish More).
|
||||
|
@ -331,6 +331,20 @@ Scrolls and/or expands items to ensure that the given item is visible.
|
||||
Expands the given item.
|
||||
|
||||
|
||||
\membersection{wxTreeCtrl::ExpandAll}\label{wxtreectrlexpandall}
|
||||
|
||||
\func{void}{Expand}{\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}}}
|
||||
|
@ -287,6 +287,10 @@ public:
|
||||
|
||||
// expand this item
|
||||
virtual void Expand(const wxTreeItemId& item) = 0;
|
||||
// expand the item and all its childs and thats childs
|
||||
void ExpandAllChildren(const wxTreeItemId& item);
|
||||
// expand all items
|
||||
void ExpandAll();
|
||||
// collapse the item without removing its children
|
||||
virtual void Collapse(const wxTreeItemId& item) = 0;
|
||||
// collapse the item and remove all children
|
||||
|
@ -109,7 +109,7 @@ wxTreeCtrlBase::~wxTreeCtrlBase()
|
||||
static void wxGetBestTreeSize(const wxTreeCtrlBase* treeCtrl, const wxTreeItemId& id, wxSize& size)
|
||||
{
|
||||
wxRect rect;
|
||||
|
||||
|
||||
if ( treeCtrl->GetBoundingRect(id, rect, true) )
|
||||
{
|
||||
if ( size.x < rect.x + rect.width )
|
||||
@ -134,7 +134,7 @@ wxSize wxTreeCtrlBase::DoGetBestSize() const
|
||||
// this doesn't really compute the total bounding rectangle of all items
|
||||
// but a not too bad guess of it which has the advantage of not having to
|
||||
// examine all (potentially hundreds or thousands) items in the control
|
||||
|
||||
|
||||
if (GetQuickBestSize())
|
||||
{
|
||||
for ( wxTreeItemId item = GetRootItem();
|
||||
@ -167,5 +167,26 @@ wxSize wxTreeCtrlBase::DoGetBestSize() const
|
||||
return size;
|
||||
}
|
||||
|
||||
void wxTreeCtrlBase::ExpandAll()
|
||||
{
|
||||
ExpandAllChildren(GetRootItem());
|
||||
}
|
||||
|
||||
void wxTreeCtrlBase::ExpandAllChildren(const wxTreeItemId& item)
|
||||
{
|
||||
// expand this item first, this might result in its children being added on
|
||||
// the fly
|
||||
Expand(item);
|
||||
|
||||
// then (recursively) expand all the children
|
||||
wxTreeItemIdValue cookie;
|
||||
for ( wxTreeItemId idCurr = GetFirstChild(item, cookie);
|
||||
idCurr.IsOk();
|
||||
idCurr = GetNextChild(item, cookie) )
|
||||
{
|
||||
ExpandAllChildren(idCurr);
|
||||
}
|
||||
}
|
||||
|
||||
#endif // wxUSE_TREECTRL
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user