- 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).
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}}}
// 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
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 )
// 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();
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