| 231 | END_EVENT_TABLE() |
| 232 | |
| 233 | MultiLineDialog::MultiLineDialog(wxWindow *parent, |
| 234 | const wxString& caption, |
| 235 | const wxString& message, |
| 236 | const wxString& value) |
| 237 | : wxDialog(GetParentForModalDialog(parent, wxOK | wxCANCEL), |
| 238 | wxID_ANY, caption, wxDefaultPosition, wxDefaultSize, |
| 239 | wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER) |
| 240 | { |
| 241 | wxBeginBusyCursor(); |
| 242 | |
| 243 | wxBoxSizer* topsizer = new wxBoxSizer( wxVERTICAL ); |
| 244 | |
| 245 | wxSizerFlags flagsBorder2; |
| 246 | flagsBorder2.DoubleBorder(); |
| 247 | |
| 248 | topsizer->Add(CreateTextSizer(message), flagsBorder2); |
| 249 | |
| 250 | m_textctrl = new wxTextCtrl(this, wxID_ANY, value, |
| 251 | wxDefaultPosition, wxSize(100,50), wxTE_MULTILINE | wxTE_PROCESS_TAB); |
| 252 | #ifdef __WXMAC__ |
| 253 | // need bigger font on Mac, and need to specify facename to get Monaco instead of Courier |
| 254 | wxFont font(12, wxFONTFAMILY_MODERN, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, wxT("Monaco")); |
| 255 | #else |
| 256 | wxFont font(10, wxFONTFAMILY_TELETYPE, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, false, _T("Monospace"), wxFONTENCODING_DEFAULT); |
| 257 | #endif |
| 258 | m_textctrl->SetFont(font); |
| 259 | |
| 260 | // allow people to use small dialog if they wish |
| 261 | // m_textctrl->SetMinSize(wxSize(800,500)); |
| 262 | |
| 263 | topsizer->Add(m_textctrl, wxSizerFlags(1).Expand().TripleBorder(wxLEFT | wxRIGHT)); |
| 264 | |
| 265 | wxSizer* buttonSizer = CreateSeparatedButtonSizer(wxOK | wxCANCEL); |
| 266 | topsizer->Add(buttonSizer, wxSizerFlags(flagsBorder2).Expand()); |
| 267 | |
| 268 | SetAutoLayout(true); |
| 269 | SetSizer(topsizer); |
| 270 | |
| 271 | topsizer->SetSizeHints(this); |
| 272 | topsizer->Fit(this); |
| 273 | |
| 274 | m_textctrl->SetFocus(); |
| 275 | m_textctrl->SetSelection(0,0); // probably nicer not to select all text |
| 276 | |
| 277 | wxEndBusyCursor(); |
| 278 | } |
| 279 | |
| 280 | // ----------------------------------------------------------------------------- |
| 281 | |