X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c801d85f158c4cba50b588807daabdcbd0ed3853..ea5c6ca7f7c3dc448da4be353a1153a792d01db4:/src/generic/textdlgg.cpp?ds=sidebyside diff --git a/src/generic/textdlgg.cpp b/src/generic/textdlgg.cpp index 6b6ffac7bd..cec7c36217 100644 --- a/src/generic/textdlgg.cpp +++ b/src/generic/textdlgg.cpp @@ -44,11 +44,42 @@ END_EVENT_TABLE() IMPLEMENT_CLASS(wxTextEntryDialog, wxDialog) #endif -extern void wxSplitMessage2(const char *message, wxList *messageList, wxWindow *parent, wxRowColSizer *sizer); +// Split message, using constraints to position controls +static void wxSplitMessage2(const wxChar *message, wxList *messageList, wxWindow *parent, wxRowColSizer *sizer) +{ + wxChar *copyMessage = copystring(message); + size_t i = 0; + size_t len = wxStrlen(copyMessage); + wxChar *currentMessage = copyMessage; + +// wxWindow *lastWindow = parent; + + while (i < len) { + while ((i < len) && (copyMessage[i] != _T('\n'))) i++; + if (i < len) copyMessage[i] = 0; + wxStaticText *mess = new wxStaticText(parent, -1, currentMessage); + +/* + wxLayoutConstraints *c = new wxLayoutConstraints; + c->left.SameAs (parent, wxLeft, 10); + c->top.SameAs (lastWindow, wxBottom, 5); + c->right.AsIs (); + c->height.AsIs (); + + mess->SetConstraints(c); +*/ + sizer->AddSizerChild(mess); + + messageList->Append(mess); + + currentMessage = copyMessage + i + 1; + } + delete[] copyMessage; +} wxTextEntryDialog::wxTextEntryDialog(wxWindow *parent, const wxString& message, const wxString& caption, const wxString& value, long style, const wxPoint& pos): - wxDialog(parent, -1, caption, pos, wxDefaultSize, wxDEFAULT_DIALOG_STYLE|wxDIALOG_MODAL) + wxDialog(parent, -1, caption, pos, wxDefaultSize, wxDEFAULT_DIALOG_STYLE|wxDIALOG_MODAL|wxTAB_TRAVERSAL) { m_dialogStyle = style; m_value = value; @@ -96,25 +127,23 @@ wxTextEntryDialog::wxTextEntryDialog(wxWindow *parent, const wxString& message, c->top.Below (spacingSizer2); c->centreX.SameAs (textSizer, wxCentreX); buttonSizer->SetConstraints(c); + buttonSizer->SetSpacing(12,0); wxButton *ok = NULL; wxButton *cancel = NULL; if (style & wxOK) { - ok = new wxButton(this, wxID_OK, _("OK")); + ok = new wxButton(this, wxID_OK, _("OK"), wxDefaultPosition, wxSize(75,-1)); buttonSizer->AddSizerChild(ok); } if (style & wxCANCEL) { - cancel = new wxButton(this, wxID_CANCEL, _("Cancel")); + cancel = new wxButton(this, wxID_CANCEL, _("Cancel"), wxDefaultPosition, wxSize(75,-1)); buttonSizer->AddSizerChild(cancel); } if (ok) - { ok->SetDefault(); - ok->SetFocus(); - } Layout(); Centre(wxBOTH); @@ -131,13 +160,3 @@ void wxTextEntryDialog::OnOK(wxCommandEvent& WXUNUSED(event) ) EndModal(wxID_OK); } -wxString wxGetTextFromUser(const wxString& message, const wxString& caption, - const wxString& defaultValue, wxWindow *parent, - int x, int y, bool WXUNUSED(centre) ) -{ - wxTextEntryDialog dialog(parent, message, caption, defaultValue, wxOK|wxCANCEL, wxPoint(x, y)); - if (dialog.ShowModal() == wxOK) - return dialog.GetValue(); - else - return wxString(""); -}