X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/15aad3b9386e52524eefbd2619571a038070419b..31ad423e4fb556ec225a63b161154d3bf3445c1b:/include/wx/bookctrl.h?ds=sidebyside diff --git a/include/wx/bookctrl.h b/include/wx/bookctrl.h index 615c023bce..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 /////////////////////////////////////////////////////////////////////////////// @@ -27,7 +27,7 @@ #include "wx/control.h" #include "wx/dynarray.h" -WX_DEFINE_EXPORTED_ARRAY_NO_PTR(wxWindow *, wxArrayPages); +WX_DEFINE_EXPORTED_ARRAY_PTR(wxWindow *, wxArrayPages); class WXDLLEXPORT wxImageList; @@ -47,7 +47,7 @@ public: } wxBookCtrl(wxWindow *parent, - wxWindowID id, + wxWindowID winid, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, @@ -55,12 +55,12 @@ public: { Init(); - (void)Create(parent, id, pos, size, style, name); + (void)Create(parent, winid, pos, size, style, name); } // quasi ctor bool Create(wxWindow *parent, - wxWindowID id, + wxWindowID winid, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, @@ -122,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, @@ -133,6 +142,7 @@ public: bool bSelect = false, int imageId = -1) { + InvalidateBestSize(); return InsertPage(GetPageCount(), page, text, bSelect, imageId); } @@ -161,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; @@ -174,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; @@ -195,9 +210,9 @@ protected: class WXDLLEXPORT wxBookCtrlEvent : public wxNotifyEvent { public: - wxBookCtrlEvent(wxEventType commandType = wxEVT_NULL, int id = 0, + wxBookCtrlEvent(wxEventType commandType = wxEVT_NULL, int winid = 0, int nSel = -1, int nOldSel = -1) - : wxNotifyEvent(commandType, id) + : wxNotifyEvent(commandType, winid) { m_nSel = nSel; m_nOldSel = nOldSel;