X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/07f20d9a63226a25e71ba6c72e2803c1f58e7903..c4e2838090992384911a6a6aa44cac985d79a555:/samples/wizard/wizard.cpp diff --git a/samples/wizard/wizard.cpp b/samples/wizard/wizard.cpp index 1cd0ac9831..5145957729 100644 --- a/samples/wizard/wizard.cpp +++ b/samples/wizard/wizard.cpp @@ -1,6 +1,6 @@ ///////////////////////////////////////////////////////////////////////////// // Name: wizard.cpp -// Purpose: wxWindows sample demonstrating wxWizard control +// Purpose: wxWidgets sample demonstrating wxWizard control // Author: Vadim Zeitlin // Modified by: Robert Vazan (sizers) // Created: 15.08.99 @@ -30,6 +30,7 @@ #include "wx/log.h" #include "wx/app.h" #include "wx/checkbox.h" + #include "wx/checklst.h" #include "wx/msgdlg.h" #include "wx/radiobox.h" #include "wx/menu.h" @@ -78,9 +79,10 @@ public: void OnAbout(wxCommandEvent& event); void OnRunWizard(wxCommandEvent& event); void OnWizardCancel(wxWizardEvent& event); + void OnWizardFinished(wxWizardEvent& event); private: - // any class wishing to process wxWindows events must use this macro + // any class wishing to process wxWidgets events must use this macro DECLARE_EVENT_TABLE() }; @@ -101,11 +103,11 @@ public: { m_bitmap = wxBITMAP(wiztest2); - m_checkbox = new wxCheckBox(this, -1, _T("&Check me")); + m_checkbox = new wxCheckBox(this, wxID_ANY, _T("&Check me")); wxBoxSizer *mainSizer = new wxBoxSizer(wxVERTICAL); mainSizer->Add( - new wxStaticText(this, -1, + new wxStaticText(this, wxID_ANY, _T("You need to check the checkbox\n") _T("below before going to the next page\n")), 0, @@ -130,10 +132,10 @@ public: wxMessageBox(_T("Check the checkbox first!"), _T("No way"), wxICON_WARNING | wxOK, this); - return FALSE; + return false; } - return TRUE; + return true; } private: @@ -163,7 +165,7 @@ public: choices[2] = _T("both"); choices[3] = _T("neither"); - m_radio = new wxRadioBox(this, -1, _T("Allow to proceed:"), + m_radio = new wxRadioBox(this, wxID_ANY, _T("Allow to proceed:"), wxDefaultPosition, wxDefaultSize, WXSIZEOF(choices), choices, 1, wxRA_SPECIFY_COLS); @@ -176,6 +178,7 @@ public: wxALL, 5 // Border ); + SetSizer(mainSizer); mainSizer->Fit(this); } @@ -231,20 +234,37 @@ public: wxBoxSizer *mainSizer = new wxBoxSizer(wxVERTICAL); mainSizer->Add( - new wxStaticText(this, -1, _T("Try checking the box below and\n") + new wxStaticText(this, wxID_ANY, _T("Try checking the box below and\n") _T("then going back and clearing it")), 0, // No vertical stretching wxALL, 5 // Border width ); - m_checkbox = new wxCheckBox(this, -1, _T("&Skip the next page")); + m_checkbox = new wxCheckBox(this, wxID_ANY, _T("&Skip the next page")); mainSizer->Add( m_checkbox, 0, // No vertical stretching wxALL, 5 // Border width ); + + static const wxChar *aszChoices[] = + { _T("Zeroth"), _T("First"), _T("Second"), _T("Third"), _T("Fourth"), _T("Fifth"), _T("Sixth"), _T("Seventh"), _T("Eighth"), _T("Nineth") }; + wxString *astrChoices = new wxString[WXSIZEOF(aszChoices)]; + unsigned int ui; + for ( ui = 0; ui < WXSIZEOF(aszChoices); ui++ ) + astrChoices[ui] = aszChoices[ui]; + m_checklistbox = new wxCheckListBox(this, wxID_ANY, wxDefaultPosition, wxSize(100,100), + WXSIZEOF(aszChoices), astrChoices); + + mainSizer->Add( + m_checklistbox, + 0, // No vertical stretching + wxALL, + 5 // Border width + ); + SetSizer(mainSizer); mainSizer->Fit(this); @@ -262,6 +282,7 @@ private: *m_next; wxCheckBox *m_checkbox; + wxCheckListBox *m_checklistbox; }; // ============================================================================ @@ -277,12 +298,13 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame) EVT_MENU(Wizard_About, MyFrame::OnAbout) EVT_MENU(Wizard_Run, MyFrame::OnRunWizard) - EVT_WIZARD_CANCEL(-1, MyFrame::OnWizardCancel) + EVT_WIZARD_CANCEL(wxID_ANY, MyFrame::OnWizardCancel) + EVT_WIZARD_FINISHED(wxID_ANY, MyFrame::OnWizardFinished) END_EVENT_TABLE() BEGIN_EVENT_TABLE(wxRadioboxPage, wxWizardPageSimple) - EVT_WIZARD_PAGE_CHANGING(-1, wxRadioboxPage::OnWizardPageChanging) - EVT_WIZARD_CANCEL(-1, wxRadioboxPage::OnWizardCancel) + EVT_WIZARD_PAGE_CHANGING(wxID_ANY, wxRadioboxPage::OnWizardPageChanging) + EVT_WIZARD_CANCEL(wxID_ANY, wxRadioboxPage::OnWizardCancel) END_EVENT_TABLE() IMPLEMENT_APP(MyApp) @@ -298,10 +320,10 @@ bool MyApp::OnInit() // and show it (the frames, unlike simple controls, are not shown when // created initially) - frame->Show(TRUE); + frame->Show(true); // we're done - return TRUE; + return true; } // ---------------------------------------------------------------------------- @@ -309,7 +331,7 @@ bool MyApp::OnInit() // ---------------------------------------------------------------------------- MyFrame::MyFrame(const wxString& title) - : wxFrame((wxFrame *)NULL, -1, title, + : wxFrame((wxFrame *)NULL, wxID_ANY, title, wxDefaultPosition, wxSize(250, 150)) // small frame { wxMenu *menuFile = new wxMenu; @@ -329,25 +351,27 @@ MyFrame::MyFrame(const wxString& title) SetMenuBar(menuBar); // also create status bar which we use in OnWizardCancel +#if wxUSE_STATUSBAR CreateStatusBar(); +#endif // wxUSE_STATUSBAR } void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event)) { - // TRUE is to force the frame to close - Close(TRUE); + // true is to force the frame to close + Close(true); } void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event)) { wxMessageBox(_T("Demo of wxWizard class\n") - _T("© 1999, 2000 Vadim Zeitlin"), + _T("(c) 1999, 2000 Vadim Zeitlin"), _T("About wxWizard sample"), wxOK | wxICON_INFORMATION, this); } void MyFrame::OnRunWizard(wxCommandEvent& WXUNUSED(event)) { - wxWizard *wizard = new wxWizard(this, -1, + wxWizard *wizard = new wxWizard(this, wxID_ANY, _T("Absolutely Useless Wizard"), wxBITMAP(wiztest), wxDefaultPosition, @@ -355,7 +379,7 @@ void MyFrame::OnRunWizard(wxCommandEvent& WXUNUSED(event)) // a wizard page may be either an object of predefined class wxWizardPageSimple *page1 = new wxWizardPageSimple(wizard); - wxStaticText *text = new wxStaticText(page1, -1, + wxStaticText *text = new wxStaticText(page1, wxID_ANY, _T("This wizard doesn't help you\nto do anything at all.\n") _T("\n") _T("The next pages will present you\nwith more useless controls."), @@ -389,6 +413,11 @@ void MyFrame::OnRunWizard(wxCommandEvent& WXUNUSED(event)) wizard->Destroy(); } +void MyFrame::OnWizardFinished(wxWizardEvent& WXUNUSED(event)) +{ + wxLogStatus(this, wxT("The wizard finished successfully.")); +} + void MyFrame::OnWizardCancel(wxWizardEvent& WXUNUSED(event)) { wxLogStatus(this, wxT("The wizard was cancelled."));