X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/68379eaf0ae64d105f8244b1db83e793f7dd83b0..226c11c0767b3dfded410b8c8be8cf0d9444d136:/src/common/dlgcmn.cpp diff --git a/src/common/dlgcmn.cpp b/src/common/dlgcmn.cpp index b599012aa5..f810b795a4 100644 --- a/src/common/dlgcmn.cpp +++ b/src/common/dlgcmn.cpp @@ -101,11 +101,11 @@ wxSizer *wxDialogBase::CreateTextSizer( const wxString& message ) switch ( text[pos] ) { case wxT('\n'): - if (!line.IsEmpty()) + if (!line.empty()) { wxStaticText *s = new wxStaticText( this, wxID_ANY, line ); box->Add( s ); - line = wxT(""); + line = wxEmptyString; } else { @@ -148,14 +148,14 @@ wxSizer *wxDialogBase::CreateTextSizer( const wxString& message ) pos = last_space; last_space = 0; - line = wxT(""); + line = wxEmptyString; } } } } // remaining text behind last '\n' - if (!line.IsEmpty()) + if (!line.empty()) { wxStaticText *s2 = new wxStaticText( this, wxID_ANY, line ); box->Add( s2 ); @@ -170,92 +170,43 @@ wxSizer *wxDialogBase::CreateTextSizer( const wxString& message ) wxSizer *wxDialogBase::CreateButtonSizer( long flags ) { - bool is_pda = (wxSystemSettings::GetScreenType() <= wxSYS_SCREEN_PDA); - - // If we have a PDA screen, put yes/no button over - // all other buttons, otherwise on the left side. - wxBoxSizer *box = is_pda ? new wxBoxSizer( wxVERTICAL ) : new wxBoxSizer( wxHORIZONTAL ); - - wxBoxSizer *inner_yes_no = NULL; + return CreateStdDialogButtonSizer( flags ); +} - // Only create sizer containing yes/no - // if it is actually required - if ( (flags & wxYES_NO) != 0 ) - { - inner_yes_no = new wxBoxSizer( wxHORIZONTAL ); - box->Add( inner_yes_no, 0, wxBOTTOM, 10 ); +wxStdDialogButtonSizer *wxDialogBase::CreateStdDialogButtonSizer( long flags ) +{ + wxStdDialogButtonSizer *sizer = new wxStdDialogButtonSizer(); + wxButton *ok = NULL; + wxButton *yes = NULL; + wxButton *no = NULL; + + if (flags & wxOK){ + ok = new wxButton(this, wxID_OK); + sizer->AddButton(ok); } - wxBoxSizer *inner_rest = new wxBoxSizer( wxHORIZONTAL ); - box->Add( inner_rest, 0, 0, 0 ); - -#if defined(__WXMSW__) || defined(__WXMAC__) - static const int margin = 6; -#else - static const int margin = 10; -#endif - - wxButton *ok = (wxButton *) NULL; - wxButton *yes = (wxButton *) NULL; - wxButton *no = (wxButton *) NULL; - - // always show an OK button, unless we have both YES and NO - if ( (flags & wxYES_NO) != wxYES_NO ) - flags |= wxOK; - - if (flags & wxYES) - { - yes = new wxButton(this, wxID_YES, wxEmptyString, - wxDefaultPosition, wxDefaultSize, wxCLIP_SIBLINGS); - inner_yes_no->Add( yes, 0, wxLEFT|wxRIGHT, margin ); - } - if (flags & wxNO) - { - no = new wxButton(this, wxID_NO, wxEmptyString, - wxDefaultPosition, wxDefaultSize, wxCLIP_SIBLINGS); - inner_yes_no->Add( no, 0, wxLEFT|wxRIGHT, margin ); + if (flags & wxCANCEL){ + wxButton *cancel = new wxButton(this, wxID_CANCEL); + sizer->AddButton(cancel); } - if (flags & wxOK) - { - ok = new wxButton(this, wxID_OK, wxEmptyString, - wxDefaultPosition, wxDefaultSize, wxCLIP_SIBLINGS); - inner_rest->Add( ok, 0, wxLEFT|wxRIGHT, margin ); + if (flags & wxYES){ + yes = new wxButton(this, wxID_YES); + sizer->AddButton(yes); } - if (flags & wxFORWARD) - inner_rest->Add(new wxButton(this, wxID_FORWARD, wxEmptyString, - wxDefaultPosition, wxDefaultSize, - wxCLIP_SIBLINGS), - 0, wxLEFT|wxRIGHT, margin); - - if (flags & wxBACKWARD) - inner_rest->Add(new wxButton(this, wxID_BACKWARD, wxEmptyString, - wxDefaultPosition, wxDefaultSize, - wxCLIP_SIBLINGS), - 0, wxLEFT|wxRIGHT, margin); - - if (flags & wxSETUP) - inner_rest->Add( new wxButton( this, wxID_SETUP, _("Setup"),wxDefaultPosition,wxDefaultSize,wxCLIP_SIBLINGS ), 0, wxLEFT|wxRIGHT, margin ); - - if (flags & wxMORE) - inner_rest->Add( new wxButton( this, wxID_MORE, _("More..."),wxDefaultPosition,wxDefaultSize,wxCLIP_SIBLINGS ), 0, wxLEFT|wxRIGHT, margin ); - - if (flags & wxHELP) - inner_rest->Add(new wxButton(this, wxID_HELP, wxEmptyString, - wxDefaultPosition, wxDefaultSize, - wxCLIP_SIBLINGS), - 0, wxLEFT|wxRIGHT, margin); + if (flags & wxNO){ + no = new wxButton(this, wxID_NO); + sizer->AddButton(no); + } - if (flags & wxCANCEL) - { - wxButton *cancel = new wxButton(this, wxID_CANCEL, wxEmptyString, - wxDefaultPosition, wxDefaultSize, - wxCLIP_SIBLINGS); - inner_rest->Add( cancel, 0, wxLEFT|wxRIGHT, margin ); + if (flags & wxHELP){ + wxButton *help = new wxButton(this, wxID_HELP); + sizer->AddButton(help); } - // choose the default button + sizer->Finalise(); + if (flags & wxNO_DEFAULT) { if (no) @@ -278,7 +229,8 @@ wxSizer *wxDialogBase::CreateButtonSizer( long flags ) } } - return box; + return sizer; } + #endif // wxUSE_BUTTON