fix dialog layout

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57938 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Francesco Montorsi
2009-01-09 12:34:27 +00:00
parent 7e86b10b7b
commit e01ea38b49

View File

@@ -176,8 +176,9 @@ MyDialog::MyDialog( wxWindow *parent, const wxString& title,
const wxPoint& pos, const wxSize& size, const long WXUNUSED(style) ) : const wxPoint& pos, const wxSize& size, const long WXUNUSED(style) ) :
wxDialog(parent, VALIDATE_DIALOG_ID, title, pos, size, wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER) wxDialog(parent, VALIDATE_DIALOG_ID, title, pos, size, wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
{ {
// Sizers automatically ensure a workable layout. // setup the flex grid sizer
wxBoxSizer *mainsizer = new wxBoxSizer( wxVERTICAL ); // -------------------------
wxFlexGridSizer *flexgridsizer = new wxFlexGridSizer(2, 2, 5, 5); wxFlexGridSizer *flexgridsizer = new wxFlexGridSizer(2, 2, 5, 5);
// Create and add controls to sizers. Note that a member variable // Create and add controls to sizers. Note that a member variable
@@ -211,6 +212,21 @@ MyDialog::MyDialog( wxWindow *parent, const wxString& title,
wxGenericValidator(&g_data.m_combobox_choice)); wxGenericValidator(&g_data.m_combobox_choice));
flexgridsizer->Add(combobox); flexgridsizer->Add(combobox);
// setup the button sizer
// ----------------------
wxStdDialogButtonSizer *btn = new wxStdDialogButtonSizer();
btn->AddButton(new wxButton(this, wxID_OK));
btn->AddButton(new wxButton(this, wxID_CANCEL));
btn->Realize();
// setup the main sizer
// --------------------
wxBoxSizer *mainsizer = new wxBoxSizer( wxVERTICAL );
mainsizer->Add(flexgridsizer, 1, wxGROW | wxALL, 10); mainsizer->Add(flexgridsizer, 1, wxGROW | wxALL, 10);
mainsizer->Add(new wxRadioBox((wxWindow*)this, VALIDATE_RADIO, wxT("Pick a color"), mainsizer->Add(new wxRadioBox((wxWindow*)this, VALIDATE_RADIO, wxT("Pick a color"),
@@ -219,14 +235,7 @@ MyDialog::MyDialog( wxWindow *parent, const wxString& title,
wxGenericValidator(&g_data.m_radiobox_choice)), wxGenericValidator(&g_data.m_radiobox_choice)),
0, wxGROW | wxALL, 10); 0, wxGROW | wxALL, 10);
wxGridSizer *gridsizer = new wxGridSizer(2, 2, 5, 5); mainsizer->Add(btn, 0, wxGROW | wxALL, 10);
wxButton *ok_button = new wxButton(this, wxID_OK, wxT("OK"), wxPoint(250, 70), wxSize(80, 30));
ok_button->SetDefault();
gridsizer->Add(ok_button);
gridsizer->Add(new wxButton(this, wxID_CANCEL, wxT("Cancel"), wxPoint(250, 100), wxSize(80, 30)));
mainsizer->Add(gridsizer, 0, wxGROW | wxALL, 10);
SetSizer(mainsizer); SetSizer(mainsizer);
mainsizer->SetSizeHints(this); mainsizer->SetSizeHints(this);