From b181a50500ea8a32a967dfba2a6efa7105d6bc4c Mon Sep 17 00:00:00 2001 From: Robert Roebling Date: Sat, 1 Jan 2005 17:26:30 +0000 Subject: [PATCH] Allow to set the various buttons explicitly (and not through IDs) in the wxStdButtonSizer. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31211 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/sizer.h | 21 +++++++++++---------- src/common/sizer.cpp | 15 +++++++++++++++ 2 files changed, 26 insertions(+), 10 deletions(-) diff --git a/include/wx/sizer.h b/include/wx/sizer.h index 11915e11b6..35d020ad88 100644 --- a/include/wx/sizer.h +++ b/include/wx/sizer.h @@ -645,19 +645,20 @@ private: class WXDLLEXPORT wxStdDialogButtonSizer: public wxBoxSizer { public: - wxStdDialogButtonSizer(); // Constructor just creates a new wxBoxSizer, not much else. // Box sizer orientation is automatically determined here: // vertical for PDAs, horizontal for everything else? + wxStdDialogButtonSizer(); - void AddButton(wxButton *button); // Checks button ID against system IDs and sets one of the pointers below - // to this button. - // Does not do any sizer-related things here. + // to this button. Does not do any sizer-related things here. + void AddButton(wxButton *button); - // Question: what to do for non-supported button IDs? assert? + // Use these if no standard ID can/should be used + void SetAffirmativeButton( wxButton *button ); + void SetNegativeButton( wxButton *button ); + void SetCancelButton( wxButton *button ); - void Finalise(); // 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, @@ -665,6 +666,7 @@ public: // 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; } @@ -673,16 +675,15 @@ public: wxButton *GetHelpButton() const { return m_buttonHelp; } protected: - wxButton *m_buttonAffirmative; - // wxID_OK, wxID_YES, wxID_SAVE go here + wxButton *m_buttonAffirmative; // wxID_OK, wxID_YES, wxID_SAVE go here wxButton *m_buttonApply; - wxButton *m_buttonNegative; // wxID_NO + wxButton *m_buttonNegative; // wxID_NO wxButton *m_buttonCancel; wxButton *m_buttonHelp; private: DECLARE_CLASS(wxStdDialogButtonSizer) - //DECLARE_NO_COPY_CLASS(wxStdDialogButtonSizer) + DECLARE_NO_COPY_CLASS(wxStdDialogButtonSizer) }; #if WXWIN_COMPATIBILITY_2_4 diff --git a/src/common/sizer.cpp b/src/common/sizer.cpp index 307ab3adc8..d2e78491b5 100644 --- a/src/common/sizer.cpp +++ b/src/common/sizer.cpp @@ -1684,6 +1684,21 @@ void wxStdDialogButtonSizer::AddButton(wxButton *mybutton) } } +void wxStdDialogButtonSizer::SetAffirmativeButton( wxButton *button ) +{ + m_buttonAffirmative = button; +} + +void wxStdDialogButtonSizer::SetNegativeButton( wxButton *button ) +{ + m_buttonNegative = button; +} + +void wxStdDialogButtonSizer::SetCancelButton( wxButton *button ) +{ + m_buttonCancel = button; +} + void wxStdDialogButtonSizer::Finalise() { #ifdef __WXMAC__ -- 2.45.2