X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a4ab8ed5ffb97aa66f97ffe48f3111e1efa5d620..80b2db4ee671f62a1de0f9f91e007c83449df107:/include/wx/sizer.h diff --git a/include/wx/sizer.h b/include/wx/sizer.h index 0e0f056f43..76687aed61 100644 --- a/include/wx/sizer.h +++ b/include/wx/sizer.h @@ -6,14 +6,13 @@ // Created: // RCS-ID: $Id$ // Copyright: (c) Robin Dunn, Robert Roebling -// (c) 2003, Ron Lee // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef __WXSIZER_H__ #define __WXSIZER_H__ -#if defined(__GNUG__) && !defined(__APPLE__) +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma interface "sizer.h" #endif @@ -153,7 +152,7 @@ protected: wxObject *m_userData; private: - DECLARE_CLASS(wxSizerItem); + DECLARE_CLASS(wxSizerItem) DECLARE_NO_COPY_CLASS(wxSizerItem) }; @@ -326,7 +325,7 @@ protected: virtual bool DoSetItemMinSize( size_t index, int width, int height ); private: - DECLARE_CLASS(wxSizer); + DECLARE_CLASS(wxSizer) }; //--------------------------------------------------------------------------- @@ -363,7 +362,7 @@ protected: void SetItemBounds( wxSizerItem *item, int x, int y, int w, int h ); private: - DECLARE_CLASS(wxGridSizer); + DECLARE_CLASS(wxGridSizer) }; //--------------------------------------------------------------------------- @@ -437,7 +436,7 @@ protected: wxFlexSizerGrowMode m_growMode; private: - DECLARE_CLASS(wxFlexGridSizer); + DECLARE_CLASS(wxFlexGridSizer) DECLARE_NO_COPY_CLASS(wxFlexGridSizer) }; @@ -468,7 +467,7 @@ protected: int m_fixedHeight; private: - DECLARE_CLASS(wxBoxSizer); + DECLARE_CLASS(wxBoxSizer) }; //--------------------------------------------------------------------------- @@ -494,41 +493,62 @@ protected: wxStaticBox *m_staticBox; private: - DECLARE_CLASS(wxStaticBoxSizer); + DECLARE_CLASS(wxStaticBoxSizer) DECLARE_NO_COPY_CLASS(wxStaticBoxSizer) }; #endif // wxUSE_STATBOX -//--------------------------------------------------------------------------- -// wxNotebookSizer -//--------------------------------------------------------------------------- +// ---------------------------------------------------------------------------- +// wxBookCtrlSizer +// ---------------------------------------------------------------------------- -#if wxUSE_NOTEBOOK +#if wxUSE_BOOKCTRL -class WXDLLEXPORT wxNotebook; +// this sizer works with wxNotebook/wxListbook/... and sizes the control to +// fit its pages +class WXDLLEXPORT wxBookCtrl; -class WXDLLEXPORT wxNotebookSizer: public wxSizer +class WXDLLEXPORT wxBookCtrlSizer : public wxSizer { public: - wxNotebookSizer( wxNotebook *nb ); + wxBookCtrlSizer(wxBookCtrl *bookctrl); - void RecalcSizes(); - wxSize CalcMin(); + virtual void RecalcSizes(); + virtual wxSize CalcMin(); - wxNotebook *GetNotebook() const - { return m_notebook; } + wxBookCtrl *GetControl() const { return m_bookctrl; } protected: - wxNotebook *m_notebook; + wxBookCtrl *m_bookctrl; + +private: + DECLARE_CLASS(wxBookCtrlSizer) + DECLARE_NO_COPY_CLASS(wxBookCtrlSizer) +}; + + +#if wxUSE_NOTEBOOK + +// before wxBookCtrl we only had wxNotebookSizer, keep it for backwards +// compatibility +class WXDLLEXPORT wxNotebook; + +class WXDLLEXPORT wxNotebookSizer : public wxBookCtrlSizer +{ +public: + wxNotebookSizer(wxNotebook *nb); + + wxNotebook *GetNotebook() const { return (wxNotebook *)m_bookctrl; } private: - DECLARE_CLASS(wxNotebookSizer); + DECLARE_CLASS(wxNotebookSizer) DECLARE_NO_COPY_CLASS(wxNotebookSizer) }; #endif // wxUSE_NOTEBOOK +#endif // wxUSE_BOOKCTRL + +#endif // __WXSIZER_H__ -#endif - // __WXSIZER_H__