+DEFINE_EVENT_TYPE(wxEVT_WIZARD_PAGE_CHANGED)
+DEFINE_EVENT_TYPE(wxEVT_WIZARD_PAGE_CHANGING)
+DEFINE_EVENT_TYPE(wxEVT_WIZARD_CANCEL)
+DEFINE_EVENT_TYPE(wxEVT_WIZARD_FINISHED)
+DEFINE_EVENT_TYPE(wxEVT_WIZARD_HELP)
+
+BEGIN_EVENT_TABLE(wxWizard, wxDialog)
+ EVT_BUTTON(wxID_CANCEL, wxWizard::OnCancel)
+ EVT_BUTTON(wxID_BACKWARD, wxWizard::OnBackOrNext)
+ EVT_BUTTON(wxID_FORWARD, wxWizard::OnBackOrNext)
+ EVT_BUTTON(wxID_HELP, wxWizard::OnHelp)
+
+ EVT_WIZARD_PAGE_CHANGED(-1, wxWizard::OnWizEvent)
+ EVT_WIZARD_PAGE_CHANGING(-1, wxWizard::OnWizEvent)
+ EVT_WIZARD_CANCEL(-1, wxWizard::OnWizEvent)
+ EVT_WIZARD_FINISHED(-1, wxWizard::OnWizEvent)
+ EVT_WIZARD_HELP(-1, wxWizard::OnWizEvent)
+END_EVENT_TABLE()
+
+IMPLEMENT_DYNAMIC_CLASS(wxWizard, wxDialog)
+IMPLEMENT_ABSTRACT_CLASS(wxWizardPage, wxPanel)
+IMPLEMENT_DYNAMIC_CLASS(wxWizardPageSimple, wxWizardPage)
+IMPLEMENT_DYNAMIC_CLASS(wxWizardEvent, wxNotifyEvent)
+
+// ============================================================================
+// implementation
+// ============================================================================