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
This commit is contained in:
Robert Roebling
2005-01-01 17:26:30 +00:00
parent 62ade18051
commit b181a50500
2 changed files with 26 additions and 10 deletions

View File

@@ -645,19 +645,20 @@ private:
class WXDLLEXPORT wxStdDialogButtonSizer: public wxBoxSizer class WXDLLEXPORT wxStdDialogButtonSizer: public wxBoxSizer
{ {
public: public:
wxStdDialogButtonSizer();
// Constructor just creates a new wxBoxSizer, not much else. // Constructor just creates a new wxBoxSizer, not much else.
// Box sizer orientation is automatically determined here: // Box sizer orientation is automatically determined here:
// vertical for PDAs, horizontal for everything else? // 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 // Checks button ID against system IDs and sets one of the pointers below
// to this button. // to this button. Does not do any sizer-related things here.
// 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 // All platform-specific code here, checks which buttons exist and add
// them to the sizer accordingly. // them to the sizer accordingly.
// Note - one potential hack on Mac we could use here, // 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") // is set to _("Save") and m_buttonNegative is set to _("Don't Save")
// I wouldn't add any other hacks like that into here, // I wouldn't add any other hacks like that into here,
// but this one I can see being useful. // but this one I can see being useful.
void Finalise();
wxButton *GetAffirmativeButton() const { return m_buttonAffirmative; } wxButton *GetAffirmativeButton() const { return m_buttonAffirmative; }
wxButton *GetApplyButton() const { return m_buttonApply; } wxButton *GetApplyButton() const { return m_buttonApply; }
@@ -673,16 +675,15 @@ public:
wxButton *GetHelpButton() const { return m_buttonHelp; } wxButton *GetHelpButton() const { return m_buttonHelp; }
protected: protected:
wxButton *m_buttonAffirmative; wxButton *m_buttonAffirmative; // wxID_OK, wxID_YES, wxID_SAVE go here
// wxID_OK, wxID_YES, wxID_SAVE go here
wxButton *m_buttonApply; wxButton *m_buttonApply;
wxButton *m_buttonNegative; // wxID_NO wxButton *m_buttonNegative; // wxID_NO
wxButton *m_buttonCancel; wxButton *m_buttonCancel;
wxButton *m_buttonHelp; wxButton *m_buttonHelp;
private: private:
DECLARE_CLASS(wxStdDialogButtonSizer) DECLARE_CLASS(wxStdDialogButtonSizer)
//DECLARE_NO_COPY_CLASS(wxStdDialogButtonSizer) DECLARE_NO_COPY_CLASS(wxStdDialogButtonSizer)
}; };
#if WXWIN_COMPATIBILITY_2_4 #if WXWIN_COMPATIBILITY_2_4

View File

@@ -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() void wxStdDialogButtonSizer::Finalise()
{ {
#ifdef __WXMAC__ #ifdef __WXMAC__