X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1b68e0b5b90ed63309f02f30e33b884eeaec5a3d..a200c35efa060107d8243458fca160eb237b9c23:/src/common/dlgcmn.cpp?ds=sidebyside diff --git a/src/common/dlgcmn.cpp b/src/common/dlgcmn.cpp index 73d1bcd7dc..8895538665 100644 --- a/src/common/dlgcmn.cpp +++ b/src/common/dlgcmn.cpp @@ -29,27 +29,51 @@ #endif #ifndef WX_PRECOMP + #include "wx/button.h" #include "wx/dialog.h" #include "wx/dcclient.h" #include "wx/intl.h" #include "wx/settings.h" #include "wx/stattext.h" #include "wx/sizer.h" + #include "wx/button.h" + #include "wx/containr.h" #endif + //-------------------------------------------------------------------------- // wxDialogBase //-------------------------------------------------------------------------- +// FIXME - temporary hack in absence of wxtopLevelWindow, should be always used +#ifdef wxTopLevelWindowNative +BEGIN_EVENT_TABLE(wxDialogBase, wxTopLevelWindow) + WX_EVENT_TABLE_CONTROL_CONTAINER(wxDialogBase) +END_EVENT_TABLE() + +WX_DELEGATE_TO_CONTROL_CONTAINER(wxDialogBase) +#endif + +void wxDialogBase::Init() +{ + m_returnCode = 0; +#ifdef wxTopLevelWindowNative // FIXME - temporary hack, should be always used! + m_container.SetContainerWindow(this); +#endif +} + +#if wxUSE_STATTEXT && wxUSE_TEXTCTRL + wxSizer *wxDialogBase::CreateTextSizer( const wxString &message ) { wxBoxSizer *box = new wxBoxSizer( wxVERTICAL ); // get line height for empty lines int y = 0; - wxFont new_font( GetFont() ); - if (!new_font.Ok()) new_font = *wxSWISS_FONT; - GetTextExtent( "H", (int*)NULL, &y, (int*)NULL, (int*)NULL, &new_font ); + wxFont font( GetFont() ); + if (!font.Ok()) + font = *wxSWISS_FONT; + GetTextExtent(_T("H"), (int*)NULL, &y, (int*)NULL, (int*)NULL, &font); wxString line; for (size_t pos = 0; pos < message.Len(); pos++) @@ -59,13 +83,13 @@ wxSizer *wxDialogBase::CreateTextSizer( const wxString &message ) if (!line.IsEmpty()) { wxStaticText *s1 = new wxStaticText( this, -1, line ); - box->Add( s1 ); + box->Add( s1 ); line = wxT(""); } - else - { - box->Add( 5, y ); - } + else + { + box->Add( 5, y ); + } } else { @@ -77,20 +101,24 @@ wxSizer *wxDialogBase::CreateTextSizer( const wxString &message ) if (!line.IsEmpty()) { wxStaticText *s2 = new wxStaticText( this, -1, line ); - box->Add( s2 ); + box->Add( s2 ); } return box; } +#endif // wxUSE_STATTEXT && wxUSE_TEXTCTRL + +#if wxUSE_BUTTON + wxSizer *wxDialogBase::CreateButtonSizer( long flags ) { wxBoxSizer *box = new wxBoxSizer( wxHORIZONTAL ); #if defined(__WXMSW__) || defined(__WXMAC__) - int margin = 6; + static const int margin = 6; #else - int margin = 10; + static const int margin = 10; #endif wxButton *ok = (wxButton *) NULL; @@ -103,46 +131,46 @@ wxSizer *wxDialogBase::CreateButtonSizer( long flags ) if (flags & wxYES_NO) { - yes = new wxButton( this, wxID_YES, _("Yes") ); + yes = new wxButton( this, wxID_YES, _("Yes"),wxDefaultPosition,wxDefaultSize,wxCLIP_SIBLINGS ); box->Add( yes, 0, wxLEFT|wxRIGHT, margin ); - no = new wxButton( this, wxID_NO, _("No") ); + no = new wxButton( this, wxID_NO, _("No") ,wxDefaultPosition,wxDefaultSize,wxCLIP_SIBLINGS); box->Add( no, 0, wxLEFT|wxRIGHT, margin ); } else if (flags & wxYES) { - yes = new wxButton( this, wxID_YES, _("Yes") ); + yes = new wxButton( this, wxID_YES, _("Yes"),wxDefaultPosition,wxDefaultSize,wxCLIP_SIBLINGS ); box->Add( yes, 0, wxLEFT|wxRIGHT, margin ); } else if (flags & wxNO) { - no = new wxButton( this, wxID_NO, _("No") ); + no = new wxButton( this, wxID_NO, _("No"),wxDefaultPosition,wxDefaultSize,wxCLIP_SIBLINGS ); box->Add( no, 0, wxLEFT|wxRIGHT, margin ); } if (flags & wxOK) { - ok = new wxButton( this, wxID_OK, _("OK") ); + ok = new wxButton( this, wxID_OK, _("OK"),wxDefaultPosition,wxDefaultSize,wxCLIP_SIBLINGS ); box->Add( ok, 0, wxLEFT|wxRIGHT, margin ); } if (flags & wxFORWARD) - box->Add( new wxButton( this, wxID_FORWARD, _("Forward") ), 0, wxLEFT|wxRIGHT, margin ); + box->Add( new wxButton( this, wxID_FORWARD, _("Forward"),wxDefaultPosition,wxDefaultSize,wxCLIP_SIBLINGS ), 0, wxLEFT|wxRIGHT, margin ); if (flags & wxBACKWARD) - box->Add( new wxButton( this, wxID_BACKWARD, _("Backward") ), 0, wxLEFT|wxRIGHT, margin ); + box->Add( new wxButton( this, wxID_BACKWARD, _("Backward"),wxDefaultPosition,wxDefaultSize,wxCLIP_SIBLINGS ), 0, wxLEFT|wxRIGHT, margin ); if (flags & wxSETUP) - box->Add( new wxButton( this, wxID_SETUP, _("Setup") ), 0, wxLEFT|wxRIGHT, margin ); + box->Add( new wxButton( this, wxID_SETUP, _("Setup"),wxDefaultPosition,wxDefaultSize,wxCLIP_SIBLINGS ), 0, wxLEFT|wxRIGHT, margin ); if (flags & wxMORE) - box->Add( new wxButton( this, wxID_MORE, _("More...") ), 0, wxLEFT|wxRIGHT, margin ); + box->Add( new wxButton( this, wxID_MORE, _("More..."),wxDefaultPosition,wxDefaultSize,wxCLIP_SIBLINGS ), 0, wxLEFT|wxRIGHT, margin ); if (flags & wxHELP) - box->Add( new wxButton( this, wxID_HELP, _("Help") ), 0, wxLEFT|wxRIGHT, margin ); + box->Add( new wxButton( this, wxID_HELP, _("Help"),wxDefaultPosition,wxDefaultSize,wxCLIP_SIBLINGS ), 0, wxLEFT|wxRIGHT, margin ); if (flags & wxCANCEL) { - cancel = new wxButton( this, wxID_CANCEL, _("Cancel") ); + cancel = new wxButton( this, wxID_CANCEL, _("Cancel"),wxDefaultPosition,wxDefaultSize,wxCLIP_SIBLINGS ); box->Add( cancel, 0, wxLEFT|wxRIGHT, margin ); } @@ -171,3 +199,4 @@ wxSizer *wxDialogBase::CreateButtonSizer( long flags ) return box; } +#endif // wxUSE_BUTTON