X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/81764280afaa3e2ff80aa16a2ee433358e7ff272..ae8c4b33a3272fba39c405542141e7c486b75136:/include/wx/wizard.h diff --git a/include/wx/wizard.h b/include/wx/wizard.h index 03ffe9a649..d61b12e3a4 100644 --- a/include/wx/wizard.h +++ b/include/wx/wizard.h @@ -10,7 +10,7 @@ // Created: 15.08.99 // RCS-ID: $Id$ // Copyright: (c) 1999 Vadim Zeitlin -// Licence: wxWindows license +// Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// #ifndef _WX_WIZARD_H_ @@ -29,6 +29,8 @@ #include "wx/event.h" // wxEVT_XXX constants #endif // WX_PRECOMP +#include "wx/bitmap.h" + // Extended style to specify a help button #define wxWIZARD_EX_HELPBUTTON 0x00000010 @@ -147,6 +149,7 @@ private: *m_next; DECLARE_DYNAMIC_CLASS(wxWizardPageSimple) + DECLARE_NO_COPY_CLASS(wxWizardPageSimple) }; // ---------------------------------------------------------------------------- @@ -194,13 +197,22 @@ public: // wxWizard should be created using "new wxWizard" now, not with Create() #ifdef WXWIN_COMPATIBILITY_2_2 - wxWizard *Create(wxWindow *parent, - int id = -1, - const wxString& title = wxEmptyString, - const wxBitmap& bitmap = wxNullBitmap, - const wxPoint& pos = wxDefaultPosition, - const wxSize& size = wxDefaultSize); + static wxWizard *Create(wxWindow *parent, + int id = -1, + const wxString& title = wxEmptyString, + const wxBitmap& bitmap = wxNullBitmap, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize); #endif // WXWIN_COMPATIBILITY_2_2 + + // the methods below may be overridden by the derived classes to provide + // custom logic for determining the pages order + + virtual bool HasNextPage(wxWizardPage *page) + { return page->GetNext() != NULL; } + + virtual bool HasPrevPage(wxWizardPage *page) + { return page->GetPrev() != NULL; } }; // include the real class declaration @@ -233,6 +245,7 @@ private: wxWizardPage* m_page; DECLARE_DYNAMIC_CLASS(wxWizardEvent) + DECLARE_NO_COPY_CLASS(wxWizardEvent) }; // ---------------------------------------------------------------------------- @@ -244,6 +257,7 @@ BEGIN_DECLARE_EVENT_TYPES() DECLARE_EVENT_TYPE(wxEVT_WIZARD_PAGE_CHANGING, 901) DECLARE_EVENT_TYPE(wxEVT_WIZARD_CANCEL, 902) DECLARE_EVENT_TYPE(wxEVT_WIZARD_HELP, 903) + DECLARE_EVENT_TYPE(wxEVT_WIZARD_FINISHED, 903) END_DECLARE_EVENT_TYPES() typedef void (wxEvtHandler::*wxWizardEventFunction)(wxWizardEvent&); @@ -259,6 +273,9 @@ typedef void (wxEvtHandler::*wxWizardEventFunction)(wxWizardEvent&); // unless the event handler vetoes the event #define EVT_WIZARD_CANCEL(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_WIZARD_CANCEL, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxWizardEventFunction) & fn, (wxObject *)NULL), +// the user pressed "Finish" button and the wizard is going to be dismissed - +#define EVT_WIZARD_FINISHED(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_WIZARD_FINISHED, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxWizardEventFunction) & fn, (wxObject *)NULL), + // the user pressed "Help" button #define EVT_WIZARD_HELP(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_WIZARD_HELP, id, -1, (wxObjectEventFunction) (wxEventFunction) (wxWizardEventFunction) & fn, (wxObject *)NULL),