]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/bookctrl.cpp
small optimization in wxConfigPathChanger: don't change the path if it is already...
[wxWidgets.git] / src / common / bookctrl.cpp
index 25d28d865d3f801e77b287858818734693319586..4a4617b51a783524c184ac4bfdd991dd8d63d6ea 100644 (file)
 // constructors and destructors
 // ----------------------------------------------------------------------------
 
 // constructors and destructors
 // ----------------------------------------------------------------------------
 
-wxBookCtrl::wxBookCtrl()
-{
-    Init();
-}
-
-wxBookCtrl::wxBookCtrl(wxWindow *parent,
-                       wxWindowID id,
-                       const wxPoint& pos,
-                       const wxSize& size,
-                       long style,
-                       const wxString& name)
-{
-    Init();
-
-    (void)Create(parent, id, pos, size, style, name);
-}
-
 void wxBookCtrl::Init()
 {
     m_imageList = NULL;
 void wxBookCtrl::Init()
 {
     m_imageList = NULL;
@@ -147,7 +130,9 @@ wxSize wxBookCtrl::DoGetBestSize() const
 
     // convert display area to window area, adding the size neccessary for the
     // tabs
 
     // convert display area to window area, adding the size neccessary for the
     // tabs
-    return CalcSizeFromPage(bestSize);
+    wxSize best = CalcSizeFromPage(bestSize);
+    CacheBestSize(best);
+    return best;
 }
 
 // ----------------------------------------------------------------------------
 }
 
 // ----------------------------------------------------------------------------
@@ -166,6 +151,7 @@ wxBookCtrl::InsertPage(size_t nPage,
                  _T("invalid page index in wxBookCtrl::InsertPage()") );
 
     m_pages.Insert(page, nPage);
                  _T("invalid page index in wxBookCtrl::InsertPage()") );
 
     m_pages.Insert(page, nPage);
+    InvalidateBestSize();
 
     return true;
 }
 
     return true;
 }
@@ -188,6 +174,7 @@ wxWindow *wxBookCtrl::DoRemovePage(size_t nPage)
 
     wxWindow *pageRemoved = m_pages[nPage];
     m_pages.RemoveAt(nPage);
 
     wxWindow *pageRemoved = m_pages[nPage];
     m_pages.RemoveAt(nPage);
+    InvalidateBestSize();
 
     return pageRemoved;
 }
 
     return pageRemoved;
 }