X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1169a91932273bc84c23ed9dbd0a2da064d59d66..79099b80ad442cb93b2f7df716bf3d1dd80b446f:/include/wx/bookctrl.h diff --git a/include/wx/bookctrl.h b/include/wx/bookctrl.h index 51761208cb..0f03436ae5 100644 --- a/include/wx/bookctrl.h +++ b/include/wx/bookctrl.h @@ -5,7 +5,7 @@ // Modified by: // Created: 19.08.03 // RCS-ID: $Id$ -// Copyright: (c) 2003 Vadim Zeitlin +// Copyright: (c) 2003 Vadim Zeitlin // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// @@ -41,14 +41,22 @@ public: // construction // ------------ - wxBookCtrl(); + wxBookCtrl() + { + Init(); + } wxBookCtrl(wxWindow *parent, wxWindowID winid, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, - const wxString& name = wxEmptyString); + const wxString& name = wxEmptyString) + { + Init(); + + (void)Create(parent, winid, pos, size, style, name); + } // quasi ctor bool Create(wxWindow *parent, @@ -114,10 +122,19 @@ public: virtual bool DeletePage(size_t n); // remove one page from the notebook, without deleting it - virtual bool RemovePage(size_t n) { return DoRemovePage(n) != NULL; } + virtual bool RemovePage(size_t n) + { + InvalidateBestSize(); + return DoRemovePage(n) != NULL; + } // remove all pages and delete them - virtual bool DeleteAllPages() { WX_CLEAR_ARRAY(m_pages); return true; } + virtual bool DeleteAllPages() + { + InvalidateBestSize(); + WX_CLEAR_ARRAY(m_pages); + return true; + } // adds a new page to the control virtual bool AddPage(wxWindow *page, @@ -125,6 +142,7 @@ public: bool bSelect = false, int imageId = -1) { + InvalidateBestSize(); return InsertPage(GetPageCount(), page, text, bSelect, imageId); } @@ -153,6 +171,9 @@ public: } } + virtual void ApplyParentThemeBackground(const wxColour& bg) + { SetBackgroundColour(bg); } + protected: // remove the page and return a pointer to it virtual wxWindow *DoRemovePage(size_t page) = 0; @@ -166,6 +187,8 @@ protected: // common part of all ctors void Init(); + // Always rely on GetBestSize, which will look at all the pages + virtual void SetInitialBestSize(const wxSize& WXUNUSED(size)) { } // the array of all pages of this control wxArrayPages m_pages;