]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/treebase.cpp
Include wx/image.h according to precompiled headers of wx/wx.h (with other minor...
[wxWidgets.git] / src / common / treebase.cpp
index 252415eae46880a1d7a915d0fdca221fe9fb3f9a..798ed50d4720790ef77231266526db0af6685ce1 100644 (file)
@@ -76,6 +76,13 @@ wxTreeEvent::wxTreeEvent(wxEventType commandType,
         SetClientObject(tree->GetItemData(item));
 }
 
+wxTreeEvent::wxTreeEvent(wxEventType commandType, int id)
+           : wxNotifyEvent(commandType, id)
+{
+    m_itemOld = 0l;
+    m_editCancelled = false;
+}
+
 wxTreeEvent::wxTreeEvent(const wxTreeEvent & event)
            : wxNotifyEvent(event)
 {
@@ -102,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 )
@@ -127,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();
@@ -160,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