X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2a21ac1590f2950cdbbe1b423d072f4226c37741..31848e7da515216ac5bda1cf85250bc3f7d77781:/samples/validate/validate.cpp diff --git a/samples/validate/validate.cpp b/samples/validate/validate.cpp index 9fba07791b..d4e2642508 100644 --- a/samples/validate/validate.cpp +++ b/samples/validate/validate.cpp @@ -15,19 +15,15 @@ // from a text control. All validators transfer data, but not // all test validity, so don't be confused by the name. -#if defined(__GNUG__) && !defined(__APPLE__) -# pragma implementation -#endif // __GNUG__ - // For compilers that support precompilation, includes "wx/wx.h". #include "wx/wxprec.h" #ifdef __BORLANDC__ -# pragma hdrstop + #pragma hdrstop #endif // __BORLANDC__ #ifndef WX_PRECOMP -# include "wx/wx.h" + #include "wx/wx.h" #endif // WX_PRECOMP #include "validate.h" @@ -36,6 +32,10 @@ #include "wx/valgen.h" #include "wx/valtext.h" +#ifndef __WXMSW__ + #include "../sample.xpm" +#endif + // ---------------------------------------------------------------------------- // Global data // ---------------------------------------------------------------------------- @@ -74,6 +74,9 @@ IMPLEMENT_APP(MyApp) bool MyApp::OnInit() { + if ( !wxApp::OnInit() ) + return false; + // Create and display the main frame window. MyFrame *frame = new MyFrame((wxFrame *) NULL, wxT("Validator Test"), 50, 50, 300, 250); @@ -93,21 +96,19 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame) END_EVENT_TABLE() MyFrame::MyFrame(wxFrame *frame, const wxString&title, int x, int y, int w, int h) - : wxFrame(frame, -1, title, wxPoint(x, y), wxSize(w, h)), + : wxFrame(frame, wxID_ANY, title, wxPoint(x, y), wxSize(w, h)), m_silent(true) { -#ifdef __WXMSW__ - SetIcon(wxIcon(_T("mondrian"))); -#endif // __WXMSW__ + SetIcon(wxICON(sample)); // Create a listbox to display the validated data. - m_listbox = new wxListBox(this, -1); + m_listbox = new wxListBox(this, wxID_ANY); m_listbox->Append(wxString(_T("Try 'File|Test' to see how validators work."))); wxMenu *file_menu = new wxMenu; file_menu->Append(VALIDATE_TEST_DIALOG, wxT("&Test"), wxT("Demonstrate validators")); - file_menu->Append(VALIDATE_TOGGLE_BELL, wxT("&Bell on error"), wxT("Toggle bell on error"), true); + file_menu->AppendCheckItem(VALIDATE_TOGGLE_BELL, wxT("&Bell on error"), wxT("Toggle bell on error")); file_menu->AppendSeparator(); file_menu->Append(wxID_EXIT, wxT("E&xit")); @@ -120,7 +121,9 @@ MyFrame::MyFrame(wxFrame *frame, const wxString&title, int x, int y, int w, int wxValidator::SetBellOnError(m_silent); file_menu->Check(VALIDATE_TOGGLE_BELL, !wxValidator::IsSilent()); +#if wxUSE_STATUSBAR CreateStatusBar(1); +#endif // wxUSE_STATUSBAR } void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event)) @@ -173,8 +176,9 @@ MyDialog::MyDialog( wxWindow *parent, const wxString& title, const wxPoint& pos, const wxSize& size, const long WXUNUSED(style) ) : wxDialog(parent, VALIDATE_DIALOG_ID, title, pos, size, wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER) { - // Sizers automatically ensure a workable layout. - wxBoxSizer *mainsizer = new wxBoxSizer( wxVERTICAL ); + // setup the flex grid sizer + // ------------------------- + wxFlexGridSizer *flexgridsizer = new wxFlexGridSizer(2, 2, 5, 5); // Create and add controls to sizers. Note that a member variable @@ -184,9 +188,9 @@ MyDialog::MyDialog( wxWindow *parent, const wxString& title, // Pointers to some of these controls are saved in member variables // so that we can use them elsewhere, like this one. - text = new wxTextCtrl(this, VALIDATE_TEXT, wxT(""), - wxPoint(10, 10), wxSize(120, -1), 0, - wxTextValidator(wxFILTER_ALPHA, &g_data.m_string)); + text = new wxTextCtrl(this, VALIDATE_TEXT, wxEmptyString, + wxPoint(10, 10), wxSize(120, wxDefaultCoord), 0, + wxTextValidator(wxFILTER_ALPHA, &g_data.m_string)); flexgridsizer->Add(text); // This wxCheckBox* doesn't need to be assigned to any pointer @@ -194,36 +198,44 @@ MyDialog::MyDialog( wxWindow *parent, const wxString& title, // We don't need any such pointer to query its state, which // can be gotten directly from g_data. flexgridsizer->Add(new wxCheckBox(this, VALIDATE_CHECK, wxT("Sample checkbox"), - wxPoint(130, 10), wxSize(120, -1), 0, - wxGenericValidator(&g_data.m_checkbox_state))); + wxPoint(130, 10), wxSize(120, wxDefaultCoord), 0, + wxGenericValidator(&g_data.m_checkbox_state))); flexgridsizer->Add(new wxListBox((wxWindow*)this, VALIDATE_LIST, - wxPoint(10, 30), wxSize(120, -1), - 3, g_listbox_choices, wxLB_MULTIPLE, - wxGenericValidator(&g_data.m_listbox_choices))); - - combobox = new wxComboBox((wxWindow*)this, VALIDATE_COMBO, wxT(""), - wxPoint(130, 30), wxSize(120, -1), - 3, g_combobox_choices, 0L, - wxGenericValidator(&g_data.m_combobox_choice)); + wxPoint(10, 30), wxSize(120, wxDefaultCoord), + 3, g_listbox_choices, wxLB_MULTIPLE, + wxGenericValidator(&g_data.m_listbox_choices))); + + combobox = new wxComboBox((wxWindow*)this, VALIDATE_COMBO, wxEmptyString, + wxPoint(130, 30), wxSize(120, wxDefaultCoord), + 3, g_combobox_choices, 0L, + wxGenericValidator(&g_data.m_combobox_choice)); flexgridsizer->Add(combobox); - mainsizer->Add(flexgridsizer, 1, wxGROW | wxALL, 10); - mainsizer->Add(new wxRadioBox((wxWindow*)this, VALIDATE_RADIO, wxT("Pick a color"), - wxPoint(10, 100), wxSize(-1, -1), - 3, g_radiobox_choices, 1, wxRA_SPECIFY_ROWS, - wxGenericValidator(&g_data.m_radiobox_choice)), - 0, wxGROW | wxALL, 10); + // setup the button sizer + // ---------------------- + + wxStdDialogButtonSizer *btn = new wxStdDialogButtonSizer(); + btn->AddButton(new wxButton(this, wxID_OK)); + btn->AddButton(new wxButton(this, wxID_CANCEL)); + btn->Realize(); + + + // setup the main sizer + // -------------------- + + wxBoxSizer *mainsizer = new wxBoxSizer( wxVERTICAL ); - wxGridSizer *gridsizer = new wxGridSizer(2, 2, 5, 5); + mainsizer->Add(flexgridsizer, 1, wxGROW | wxALL, 10); - wxButton *ok_button = new wxButton(this, wxID_OK, wxT("OK"), wxPoint(250, 70), wxSize(80, 30)); - ok_button->SetDefault(); - gridsizer->Add(ok_button); - gridsizer->Add(new wxButton(this, wxID_CANCEL, wxT("Cancel"), wxPoint(250, 100), wxSize(80, 30))); + mainsizer->Add(new wxRadioBox((wxWindow*)this, VALIDATE_RADIO, wxT("Pick a color"), + wxPoint(10, 100), wxDefaultSize, + 3, g_radiobox_choices, 1, wxRA_SPECIFY_ROWS, + wxGenericValidator(&g_data.m_radiobox_choice)), + 0, wxGROW | wxALL, 10); - mainsizer->Add(gridsizer, 0, wxGROW | wxALL, 10); + mainsizer->Add(btn, 0, wxGROW | wxALL, 10); SetSizer(mainsizer); mainsizer->SetSizeHints(this);