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
{
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

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()
{
#ifdef __WXMAC__