X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d7260478196b59ffd83c3328f710ba6f45860428..2e2b69eececf83c7097435e1f4482cc153e8d82c:/src/common/dlgcmn.cpp diff --git a/src/common/dlgcmn.cpp b/src/common/dlgcmn.cpp index 715b81920a..b599012aa5 100644 --- a/src/common/dlgcmn.cpp +++ b/src/common/dlgcmn.cpp @@ -17,7 +17,7 @@ // headers // ---------------------------------------------------------------------------- -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "dialogbase.h" #endif @@ -72,9 +72,9 @@ void wxDialogBase::Init() wxSizer *wxDialogBase::CreateTextSizer( const wxString& message ) { bool is_pda = (wxSystemSettings::GetScreenType() <= wxSYS_SCREEN_PDA); - + wxString text = message; - + // I admit that this is complete bogus, but it makes // message boxes work for pda screens temporarily.. int max_width = -1; @@ -83,8 +83,8 @@ wxSizer *wxDialogBase::CreateTextSizer( const wxString& message ) max_width = wxSystemSettings::GetMetric( wxSYS_SCREEN_X ) - 25; text += wxT('\n'); } - - + + wxBoxSizer *box = new wxBoxSizer( wxVERTICAL ); // get line height for empty lines @@ -103,7 +103,7 @@ wxSizer *wxDialogBase::CreateTextSizer( const wxString& message ) case wxT('\n'): if (!line.IsEmpty()) { - wxStaticText *s = new wxStaticText( this, -1, line ); + wxStaticText *s = new wxStaticText( this, wxID_ANY, line ); box->Add( s ); line = wxT(""); } @@ -114,7 +114,7 @@ wxSizer *wxDialogBase::CreateTextSizer( const wxString& message ) break; case wxT('&'): - // this is used as accel mnemonic prefix in the wxWindows + // this is used as accel mnemonic prefix in the wxWidgets // controls but in the static messages created by // CreateTextSizer() (used by wxMessageBox, for example), we // don't want this special meaning, so we need to quote it @@ -125,27 +125,27 @@ wxSizer *wxDialogBase::CreateTextSizer( const wxString& message ) default: if (text[pos] == wxT(' ')) last_space = pos; - + line += message[pos]; - + if (is_pda) { int width = 0; GetTextExtent( line, &width, (int*)NULL, (int*)NULL, (int*)NULL, &font ); - + if (width > max_width) { // exception if there was no previous space if (last_space == 0) last_space = pos; - + int diff = pos-last_space; int len = line.Len(); line.Remove( len-diff, diff ); - - wxStaticText *s = new wxStaticText( this, -1, line ); + + wxStaticText *s = new wxStaticText( this, wxID_ANY, line ); box->Add( s ); - + pos = last_space; last_space = 0; line = wxT(""); @@ -157,7 +157,7 @@ wxSizer *wxDialogBase::CreateTextSizer( const wxString& message ) // remaining text behind last '\n' if (!line.IsEmpty()) { - wxStaticText *s2 = new wxStaticText( this, -1, line ); + wxStaticText *s2 = new wxStaticText( this, wxID_ANY, line ); box->Add( s2 ); } @@ -171,18 +171,13 @@ wxSizer *wxDialogBase::CreateTextSizer( const wxString& message ) wxSizer *wxDialogBase::CreateButtonSizer( long flags ) { bool is_pda = (wxSystemSettings::GetScreenType() <= wxSYS_SCREEN_PDA); - - wxBoxSizer *box = NULL; - - // If we have a PDA screen, put yes/no button over + + // If we have a PDA screen, put yes/no button over // all other buttons, otherwise on the left side. - if (is_pda) - box = new wxBoxSizer( wxVERTICAL ); - else - box = new wxBoxSizer( wxHORIZONTAL ); - + wxBoxSizer *box = is_pda ? new wxBoxSizer( wxVERTICAL ) : new wxBoxSizer( wxHORIZONTAL ); + wxBoxSizer *inner_yes_no = NULL; - + // Only create sizer containing yes/no // if it is actually required if ( (flags & wxYES_NO) != 0 ) @@ -190,7 +185,7 @@ wxSizer *wxDialogBase::CreateButtonSizer( long flags ) inner_yes_no = new wxBoxSizer( wxHORIZONTAL ); box->Add( inner_yes_no, 0, wxBOTTOM, 10 ); } - + wxBoxSizer *inner_rest = new wxBoxSizer( wxHORIZONTAL ); box->Add( inner_rest, 0, 0, 0 ); @@ -201,7 +196,6 @@ wxSizer *wxDialogBase::CreateButtonSizer( long flags ) #endif wxButton *ok = (wxButton *) NULL; - wxButton *cancel = (wxButton *) NULL; wxButton *yes = (wxButton *) NULL; wxButton *no = (wxButton *) NULL; @@ -211,26 +205,35 @@ wxSizer *wxDialogBase::CreateButtonSizer( long flags ) if (flags & wxYES) { - yes = new wxButton( this, wxID_YES, _("Yes"),wxDefaultPosition,wxDefaultSize,wxCLIP_SIBLINGS ); + 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, _("No"),wxDefaultPosition,wxDefaultSize,wxCLIP_SIBLINGS ); + no = new wxButton(this, wxID_NO, wxEmptyString, + wxDefaultPosition, wxDefaultSize, wxCLIP_SIBLINGS); inner_yes_no->Add( no, 0, wxLEFT|wxRIGHT, margin ); } if (flags & wxOK) { - ok = new wxButton( this, wxID_OK, _("OK"),wxDefaultPosition,wxDefaultSize,wxCLIP_SIBLINGS ); + ok = new wxButton(this, wxID_OK, wxEmptyString, + wxDefaultPosition, wxDefaultSize, wxCLIP_SIBLINGS); inner_rest->Add( ok, 0, wxLEFT|wxRIGHT, margin ); } if (flags & wxFORWARD) - inner_rest->Add( new wxButton( this, wxID_FORWARD, _("Forward"),wxDefaultPosition,wxDefaultSize,wxCLIP_SIBLINGS ), 0, wxLEFT|wxRIGHT, margin ); + 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, _("Backward"),wxDefaultPosition,wxDefaultSize,wxCLIP_SIBLINGS ), 0, wxLEFT|wxRIGHT, margin ); + 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 ); @@ -239,11 +242,16 @@ wxSizer *wxDialogBase::CreateButtonSizer( long flags ) 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, _("Help"),wxDefaultPosition,wxDefaultSize,wxCLIP_SIBLINGS ), 0, wxLEFT|wxRIGHT, margin ); + inner_rest->Add(new wxButton(this, wxID_HELP, wxEmptyString, + wxDefaultPosition, wxDefaultSize, + wxCLIP_SIBLINGS), + 0, wxLEFT|wxRIGHT, margin); if (flags & wxCANCEL) { - cancel = new wxButton( this, wxID_CANCEL, _("Cancel"),wxDefaultPosition,wxDefaultSize,wxCLIP_SIBLINGS ); + wxButton *cancel = new wxButton(this, wxID_CANCEL, wxEmptyString, + wxDefaultPosition, wxDefaultSize, + wxCLIP_SIBLINGS); inner_rest->Add( cancel, 0, wxLEFT|wxRIGHT, margin ); }