#ifndef _WX_NOTEBOOK_H_BASE_
#define _WX_NOTEBOOK_H_BASE_
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(__APPLE__)
#pragma interface "notebookbase.h"
#endif
#include "wx/control.h"
#include "wx/dynarray.h"
-
-class WXDLLEXPORT wxImageList;
+#include "wx/imaglist.h"
// ----------------------------------------------------------------------------
// types
// ---------
// get number of pages in the dialog
- int GetPageCount() const { return m_pages.GetCount(); }
+ int GetPageCount() const { return (int) m_pages.GetCount(); }
// get the panel which represents the given page
wxNotebookPage *GetPage(int nPage) { return m_pages[nPage]; }
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);
+ virtual wxSize CalcSizeFromPage(const wxSize& sizePage) const;
// operations
// ----------
protected:
// remove the page and return a pointer to it
- virtual wxNotebookPage *DoRemovePage(int page) = 0;
+ virtual wxNotebookPage *DoRemovePage(int page);
+ // return the minimum size large enough to display the largest page entirely
+ virtual wxSize DoGetBestSize() const;
// common part of all ctors
void Init();
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
+
+ DECLARE_NO_COPY_CLASS(wxNotebookBase)
};
// ----------------------------------------------------------------------------
#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(__WXCOCOA__)
+ #include "wx/generic/notebook.h"
#elif defined(__WXPM__)
#include "wx/os2/notebook.h"
-#elif defined(__WXSTUBS__)
- #include "wx/stubs/notebook.h"
#endif
#endif // wxUSE_NOTEBOOK