]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/treebkg.cpp
don't give an error when editing of the items label is cancelled (patch 1482176)
[wxWidgets.git] / src / generic / treebkg.cpp
index 47fefdc7d06b7cdc616880bc42334f5da1feffc0..3ca29465552fae5534e81e6f9caa7b14e4ba8afb 100644 (file)
 IMPLEMENT_DYNAMIC_CLASS(wxTreebook, wxBookCtrlBase)
 IMPLEMENT_DYNAMIC_CLASS(wxTreebookEvent, wxNotifyEvent)
 
+#if !WXWIN_COMPATIBILITY_EVENT_TYPES
 const wxEventType wxEVT_COMMAND_TREEBOOK_PAGE_CHANGING = wxNewEventType();
 const wxEventType wxEVT_COMMAND_TREEBOOK_PAGE_CHANGED = wxNewEventType();
 const wxEventType wxEVT_COMMAND_TREEBOOK_NODE_COLLAPSED = wxNewEventType();
 const wxEventType wxEVT_COMMAND_TREEBOOK_NODE_EXPANDED = wxNewEventType();
+#endif
 const int wxID_TREEBOOKTREEVIEW = wxNewId();
 
 BEGIN_EVENT_TABLE(wxTreebook, wxBookCtrlBase)
@@ -125,11 +127,11 @@ bool wxTreebook::InsertPage(size_t pagePos,
     return DoInsertPage(pagePos, page, text, bSelect, imageId);
 }
 
-bool wxTreebook::AddSubPage(size_t pagePos,
-                            wxWindow *page,
-                            const wxString& text,
-                            bool bSelect,
-                            int imageId)
+bool wxTreebook::InsertSubPage(size_t pagePos,
+                               wxWindow *page,
+                               const wxString& text,
+                               bool bSelect,
+                               int imageId)
 {
     return DoInsertSubPage(pagePos, page, text, bSelect, imageId);
 }
@@ -201,8 +203,6 @@ bool wxTreebook::DoInsertPage(size_t pagePos,
 
     DoUpdateSelection(bSelect, pagePos);
 
-    m_bookctrl->InvalidateBestSize();
-
     return true;
 }
 
@@ -256,8 +256,6 @@ bool wxTreebook::DoInsertSubPage(size_t pagePos,
 
     DoUpdateSelection(bSelect, newPos);
 
-    m_bookctrl->InvalidateBestSize();
-
     return true;
 }
 
@@ -306,7 +304,6 @@ wxTreebookPage *wxTreebook::DoRemovePage(size_t pagePos)
 
     tree->DeleteChildren( pageId );
     tree->Delete( pageId );
-    tree->InvalidateBestSize();
 
     return oldPage;
 }
@@ -612,25 +609,22 @@ int wxTreebook::DoSetSelection(size_t pagePos)
             // find the next page suitable to be shown: the first (grand)child
             // of this one with a non-NULL associated page
             wxTreeItemId childId = m_treeIds[pagePos];
-            m_actualSelection = pagePos;
+            int actualPagePos = pagePos;
             while ( !page && childId.IsOk() )
             {
                 wxTreeItemIdValue cookie;
                 childId = tree->GetFirstChild( childId, cookie );
                 if ( childId.IsOk() )
                 {
-                    page = wxBookCtrlBase::GetPage(++m_actualSelection);
+                    page = wxBookCtrlBase::GetPage(++actualPagePos);
                 }
             }
 
-            wxASSERT_MSG( page, wxT("no page to show found!") );
+            m_actualSelection = page ? actualPagePos : m_selection;
         }
 
         if ( page )
-        {
-            page->SetSize(GetPageRect());
             page->Show();
-        }
 
         tree->SelectItem(DoInternalGetPage(pagePos));