]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/bookctrl.cpp
Give wxListBox a GetClassDefaultAttributes so wxCalendarCtrl (and
[wxWidgets.git] / src / common / bookctrl.cpp
index d083152210541092b925073776fe69f103fadbe0..508befd1bc48f0a04d56c52c9e109e68f0ef7b69 100644 (file)
@@ -130,7 +130,9 @@ wxSize wxBookCtrl::DoGetBestSize() const
 
     // convert display area to window area, adding the size neccessary for the
     // tabs
-    return CalcSizeFromPage(bestSize);
+    wxSize best = CalcSizeFromPage(bestSize);
+    CacheBestSize(best);
+    return best;
 }
 
 // ----------------------------------------------------------------------------
@@ -140,16 +142,17 @@ wxSize wxBookCtrl::DoGetBestSize() const
 bool
 wxBookCtrl::InsertPage(size_t nPage,
                        wxWindow *page,
-                       const wxString& text,
-                       bool bSelect,
-                       int imageId)
+                       const wxString& WXUNUSED(text),
+                       bool WXUNUSED(bSelect),
+                       int WXUNUSED(imageId))
 {
     wxCHECK_MSG( page, false, _T("NULL page in wxBookCtrl::InsertPage()") );
-    wxCHECK_MSG( nPage < m_pages.size(), false,
+    wxCHECK_MSG( nPage <= m_pages.size(), false,
                  _T("invalid page index in wxBookCtrl::InsertPage()") );
 
     m_pages.Insert(page, nPage);
-
+    InvalidateBestSize();
+    
     return true;
 }
 
@@ -171,6 +174,7 @@ wxWindow *wxBookCtrl::DoRemovePage(size_t nPage)
 
     wxWindow *pageRemoved = m_pages[nPage];
     m_pages.RemoveAt(nPage);
+    InvalidateBestSize();
 
     return pageRemoved;
 }