X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/56eee37fc87921c9de3396cbfac78c58a42b2033..5b674b9d894af6a4347376cc7eca5580c6244e1f:/include/wx/sizer.h?ds=sidebyside diff --git a/include/wx/sizer.h b/include/wx/sizer.h index 820c325028..1f76fc0554 100644 --- a/include/wx/sizer.h +++ b/include/wx/sizer.h @@ -18,6 +18,7 @@ #include "wx/defs.h" +#include "wx/button.h" #include "wx/window.h" #include "wx/frame.h" #include "wx/dialog.h" @@ -641,10 +642,57 @@ private: #endif // wxUSE_STATBOX +#if wxUSE_BUTTON + +class WXDLLEXPORT wxStdDialogButtonSizer: public wxBoxSizer +{ +public: + // Constructor just creates a new wxBoxSizer, not much else. + // Box sizer orientation is automatically determined here: + // vertical for PDAs, horizontal for everything else? + wxStdDialogButtonSizer(); + + // Checks button ID against system IDs and sets one of the pointers below + // to this button. Does not do any sizer-related things here. + void AddButton(wxButton *button); + + // Use these if no standard ID can/should be used + void SetAffirmativeButton( wxButton *button ); + void SetNegativeButton( wxButton *button ); + void SetCancelButton( wxButton *button ); + + // All platform-specific code here, checks which buttons exist and add + // them to the sizer accordingly. + // Note - one potential hack on Mac we could use here, + // if m_buttonAffirmative is wxID_SAVE then ensure wxID_SAVE + // is set to _("Save") and m_buttonNegative is set to _("Don't Save") + // I wouldn't add any other hacks like that into here, + // but this one I can see being useful. + void Finalise(); + + wxButton *GetAffirmativeButton() const { return m_buttonAffirmative; } + wxButton *GetApplyButton() const { return m_buttonApply; } + wxButton *GetNegativeButton() const { return m_buttonNegative; } + wxButton *GetCancelButton() const { return m_buttonCancel; } + wxButton *GetHelpButton() const { return m_buttonHelp; } + +protected: + wxButton *m_buttonAffirmative; // wxID_OK, wxID_YES, wxID_SAVE go here + wxButton *m_buttonApply; + wxButton *m_buttonNegative; // wxID_NO + wxButton *m_buttonCancel; + wxButton *m_buttonHelp; + +private: + DECLARE_CLASS(wxStdDialogButtonSizer) + DECLARE_NO_COPY_CLASS(wxStdDialogButtonSizer) +}; + +#endif // wxUSE_BUTTON #if WXWIN_COMPATIBILITY_2_4 // NB: wxBookCtrlSizer and wxNotebookSizer are deprecated, they -// don't do anything. wxBookCtrl::DoGetBestSize does the job now. +// don't do anything. wxBookCtrlBase::DoGetBestSize does the job now. // ---------------------------------------------------------------------------- // wxBookCtrlSizer @@ -654,14 +702,14 @@ private: // this sizer works with wxNotebook/wxListbook/... and sizes the control to // fit its pages -class WXDLLEXPORT wxBookCtrl; +class WXDLLEXPORT wxBookCtrlBase; class WXDLLEXPORT wxBookCtrlSizer : public wxSizer { public: - wxDEPRECATED( wxBookCtrlSizer(wxBookCtrl *bookctrl) ); + wxDEPRECATED( wxBookCtrlSizer(wxBookCtrlBase *bookctrl) ); - wxBookCtrl *GetControl() const { return m_bookctrl; } + wxBookCtrlBase *GetControl() const { return m_bookctrl; } virtual void RecalcSizes(); virtual wxSize CalcMin(); @@ -671,7 +719,7 @@ protected: // and still have warning-free build of the library itself: wxBookCtrlSizer() {} - wxBookCtrl *m_bookctrl; + wxBookCtrlBase *m_bookctrl; private: DECLARE_CLASS(wxBookCtrlSizer) @@ -681,7 +729,7 @@ private: #if wxUSE_NOTEBOOK -// before wxBookCtrl we only had wxNotebookSizer, keep it for backwards +// before wxBookCtrlBase we only had wxNotebookSizer, keep it for backwards // compatibility class WXDLLEXPORT wxNotebook;