MCPcopy Create free account
hub / github.com/GollyGang/ready / MultiLineDialog

Method MultiLineDialog

src/gui/dialogs.cpp:233–278  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

231END_EVENT_TABLE()
232
233MultiLineDialog::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

Callers

nothing calls this directly

Calls 1

AddMethod · 0.80

Tested by

no test coverage detected