X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1e6feb95a79834836e88143b15d9f424ebe79621..10769d8c47c21fe0ec5034726791a5ad4cf19475:/include/wx/notebook.h diff --git a/include/wx/notebook.h b/include/wx/notebook.h index efec6fc928..b9633705e7 100644 --- a/include/wx/notebook.h +++ b/include/wx/notebook.h @@ -12,6 +12,10 @@ #ifndef _WX_NOTEBOOK_H_BASE_ #define _WX_NOTEBOOK_H_BASE_ +#ifdef __GNUG__ + #pragma interface "notebookbase.h" +#endif + // ---------------------------------------------------------------------------- // headers // ---------------------------------------------------------------------------- @@ -46,7 +50,7 @@ public: // ctor wxNotebookBase() { - m_imageList = NULL; + Init(); } // quasi ctor @@ -57,6 +61,9 @@ public: long style = 0, const wxString& name = wxNOTEBOOK_NAME); + // dtor + virtual ~wxNotebookBase(); + // accessors // --------- @@ -75,10 +82,10 @@ public: // image list stuff: each page may have an image associated with it (all // images belong to the same image list) - virtual void SetImageList(wxImageList* imageList) - { - m_imageList = imageList; - } + virtual void SetImageList(wxImageList* imageList); + + // as SetImageList() but we will delete the image list ourselves + void AssignImageList(wxImageList* imageList); // get pointer (may be NULL) to the associated image list wxImageList* GetImageList() const { return m_imageList; } @@ -101,33 +108,13 @@ public: virtual void SetTabSize(const wxSize& sz) = 0; // calculate the size of the notebook from the size of its page - virtual wxSize CalcSizeFromPage(const wxSize& sizePage) - { - // this was just taken from wxNotebookSizer::CalcMin() and is, of - // course, totally bogus - just like the original code was - wxSize sizeTotal = sizePage; - if ( HasFlag(wxNB_LEFT) || HasFlag(wxNB_RIGHT) ) - sizeTotal.x += 90; - else - sizeTotal.y += 40; - - return sizeTotal; - } + virtual wxSize CalcSizeFromPage(const wxSize& sizePage); // operations // ---------- // remove one page from the notebook and delete it - virtual bool DeletePage(int nPage) - { - wxNotebookPage *page = DoRemovePage(nPage); - if ( !page ) - return FALSE; - - delete page; - - return TRUE; - } + virtual bool DeletePage(int nPage); // remove one page from the notebook, without deleting it virtual bool RemovePage(int nPage) { return DoRemovePage(nPage) != NULL; } @@ -168,34 +155,17 @@ public: protected: // remove the page and return a pointer to it - virtual wxNotebookPage *DoRemovePage(int page) = 0; - - // get the next page wrapping if we reached the end - int GetNextPage(bool forward) const - { - int nPage; + virtual wxNotebookPage *DoRemovePage(int page); - int nMax = GetPageCount(); - if ( nMax-- ) // decrement it to get the last valid index - { - int nSel = GetSelection(); + // common part of all ctors + void Init(); - // change selection wrapping if it becomes invalid - nPage = forward ? nSel == nMax ? 0 - : nSel + 1 - : nSel == 0 ? nMax - : nSel - 1; - } - else // notebook is empty, no next page - { - nPage = -1; - } - - return nPage; - } + // get the next page wrapping if we reached the end + int GetNextPage(bool forward) const; - wxImageList *m_imageList; // we can have an associated image list - wxArrayPages m_pages; // array of pages + wxArrayPages m_pages; // array of pages + wxImageList *m_imageList; // we can have an associated image list + bool m_ownsImageList; // true if we must delete m_imageList }; // ---------------------------------------------------------------------------- @@ -303,8 +273,6 @@ typedef void (wxEvtHandler::*wxNotebookEventFunction)(wxNotebookEvent&); #include "wx/generic/notebook.h" #elif defined(__WXGTK__) #include "wx/gtk/notebook.h" -#elif defined(__WXQT__) - #include "wx/qt/notebook.h" #elif defined(__WXMAC__) #include "wx/mac/notebook.h" #elif defined(__WXPM__)