X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/cab1a6053dce9f0a2dcd87d8e2d12d8633f4785f..c82af6eec562a372bcc2e6ff26dbf3d14e227d72:/include/wx/wizard.h diff --git a/include/wx/wizard.h b/include/wx/wizard.h index 9fc4e423cb..3674896fa4 100644 --- a/include/wx/wizard.h +++ b/include/wx/wizard.h @@ -17,19 +17,17 @@ #ifndef _WX_WIZARD_H_ #define _WX_WIZARD_H_ +#include "wx/defs.h" + #if wxUSE_WIZARDDLG // ---------------------------------------------------------------------------- // headers and other simple declarations // ---------------------------------------------------------------------------- -#ifndef WX_PRECOMP - #include "wx/dialog.h" // the base class - #include "wx/panel.h" // ditto - - #include "wx/event.h" // wxEVT_XXX constants -#endif // WX_PRECOMP - +#include "wx/dialog.h" // the base class +#include "wx/panel.h" // ditto +#include "wx/event.h" // wxEVT_XXX constants #include "wx/bitmap.h" // Extended style to specify a help button @@ -74,21 +72,26 @@ public: // wxNullBitmap from here - the default one will be used then. virtual wxBitmap GetBitmap() const { return m_bitmap; } -#if wxUSE_VALIDATOR - /// Override the base functions to allow a validator to be assigned to this page. - bool TransferDataToWindow() +#if wxUSE_VALIDATORS + // Override the base functions to allow a validator to be assigned to this page. + virtual bool TransferDataToWindow() { - return GetValidator() ? GetValidator()->TransferToWindow() : wxPanel::TransferDataToWindow(); + return GetValidator() ? GetValidator()->TransferToWindow() + : wxPanel::TransferDataToWindow(); } - bool TransferDataFromWindow() + + virtual bool TransferDataFromWindow() { - return GetValidator() ? GetValidator()->TransferFromWindow() : wxPanel::TransferDataFromWindow(); + return GetValidator() ? GetValidator()->TransferFromWindow() + : wxPanel::TransferDataFromWindow(); } - bool Validate() + + virtual bool Validate() { - return GetValidator() ? GetValidator()->Validate(this) : wxPanel::Validate(); + return GetValidator() ? GetValidator()->Validate(this) + : wxPanel::Validate(); } -#endif // wxUSE_VALIDATOR +#endif // wxUSE_VALIDATORS protected: // common part of ctors: @@ -219,16 +222,6 @@ public: // page to GetPageAreaSizer and 5 if you don't. virtual void SetBorder(int border) = 0; - // wxWizard should be created using "new wxWizard" now, not with Create() -#if WXWIN_COMPATIBILITY_2_2 - static wxWizard *Create(wxWindow *parent, - int id = wxID_ANY, - 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 @@ -296,22 +289,28 @@ END_DECLARE_EVENT_TYPES() typedef void (wxEvtHandler::*wxWizardEventFunction)(wxWizardEvent&); +#define wxWizardEventHandler(func) \ + (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxWizardEventFunction, &func) + +#define wx__DECLARE_WIZARDEVT(evt, id, fn) \ + wx__DECLARE_EVT1(wxEVT_WIZARD_ ## evt, id, wxWizardEventHandler(fn)) + // notifies that the page has just been changed (can't be vetoed) -#define EVT_WIZARD_PAGE_CHANGED(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_WIZARD_PAGE_CHANGED, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxWizardEventFunction, & fn ), (wxObject *)NULL), +#define EVT_WIZARD_PAGE_CHANGED(id, fn) wx__DECLARE_WIZARDEVT(PAGE_CHANGED, id, fn) // the user pressed "" button and the page is going to be // changed - unless the event handler vetoes the event -#define EVT_WIZARD_PAGE_CHANGING(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_WIZARD_PAGE_CHANGING, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxWizardEventFunction, & fn ), (wxObject *)NULL), +#define EVT_WIZARD_PAGE_CHANGING(id, fn) wx__DECLARE_WIZARDEVT(PAGE_CHANGING, id, fn) // the user pressed "Cancel" button and the wizard is going to be dismissed - // unless the event handler vetoes the event -#define EVT_WIZARD_CANCEL(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_WIZARD_CANCEL, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxWizardEventFunction, & fn ), (wxObject *)NULL), +#define EVT_WIZARD_CANCEL(id, fn) wx__DECLARE_WIZARDEVT(CANCEL, id, fn) // 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, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxWizardEventFunction, & fn ), (wxObject *)NULL), +#define EVT_WIZARD_FINISHED(id, fn) wx__DECLARE_WIZARDEVT(FINISHED, id, fn) // the user pressed "Help" button -#define EVT_WIZARD_HELP(id, fn) DECLARE_EVENT_TABLE_ENTRY(wxEVT_WIZARD_HELP, id, wxID_ANY, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxWizardEventFunction, & fn ), (wxObject *)NULL), +#define EVT_WIZARD_HELP(id, fn) wx__DECLARE_WIZARDEVT(HELP, id, fn) #endif // wxUSE_WIZARDDLG