X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2ecf902bc836f2808444b34eff48cdb12f289460..b6fd0b424573e09ae7e83a28b225bbba008157b7:/include/wx/wizard.h diff --git a/include/wx/wizard.h b/include/wx/wizard.h index a7d0250f1b..3b65fab1d6 100644 --- a/include/wx/wizard.h +++ b/include/wx/wizard.h @@ -25,20 +25,25 @@ // 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 #define wxWIZARD_EX_HELPBUTTON 0x00000010 +// Placement flags +#define wxWIZARD_VALIGN_TOP 0x01 +#define wxWIZARD_VALIGN_CENTRE 0x02 +#define wxWIZARD_VALIGN_BOTTOM 0x04 +#define wxWIZARD_HALIGN_LEFT 0x08 +#define wxWIZARD_HALIGN_CENTRE 0x10 +#define wxWIZARD_HALIGN_RIGHT 0x20 +#define wxWIZARD_TILE 0x40 + // forward declarations -class WXDLLIMPEXP_ADV wxWizard; +class WXDLLIMPEXP_FWD_ADV wxWizard; // ---------------------------------------------------------------------------- // wxWizardPage is one of the wizards screen: it must know what are the @@ -58,12 +63,10 @@ public: // that no other parameters are needed because the wizard will resize and // reposition the page anyhow wxWizardPage(wxWizard *parent, - const wxBitmap& bitmap = wxNullBitmap, - const wxChar* resource = NULL); + const wxBitmap& bitmap = wxNullBitmap); bool Create(wxWizard *parent, - const wxBitmap& bitmap = wxNullBitmap, - const wxChar* resource = NULL); + const wxBitmap& bitmap = wxNullBitmap); // these functions are used by the wizard to show another page when the // user chooses "Back" or "Next" button @@ -76,21 +79,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: @@ -120,21 +128,19 @@ public: wxWizardPageSimple(wxWizard *parent, wxWizardPage *prev = (wxWizardPage *)NULL, wxWizardPage *next = (wxWizardPage *)NULL, - const wxBitmap& bitmap = wxNullBitmap, - const wxChar* resource = NULL) + const wxBitmap& bitmap = wxNullBitmap) { - Create(parent, prev, next, bitmap, resource); + Create(parent, prev, next, bitmap); } bool Create(wxWizard *parent = NULL, // let it be default ctor too wxWizardPage *prev = (wxWizardPage *)NULL, wxWizardPage *next = (wxWizardPage *)NULL, - const wxBitmap& bitmap = wxNullBitmap, - const wxChar* resource = NULL) + const wxBitmap& bitmap = wxNullBitmap) { m_prev = prev; m_next = next; - return wxWizardPage::Create(parent, bitmap, resource); + return wxWizardPage::Create(parent, bitmap); } // the pointers may be also set later - but before starting the wizard @@ -221,16 +227,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 - wxDEPRECATED( 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 @@ -276,30 +272,29 @@ public: wxWizardPage* GetPage() const { return m_page; } + virtual wxEvent *Clone() const { return new wxWizardEvent(*this); } + private: bool m_direction; wxWizardPage* m_page; - DECLARE_DYNAMIC_CLASS(wxWizardEvent) - DECLARE_NO_COPY_CLASS(wxWizardEvent) + DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxWizardEvent) }; // ---------------------------------------------------------------------------- // macros for handling wxWizardEvents // ---------------------------------------------------------------------------- -BEGIN_DECLARE_EVENT_TYPES() - DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_ADV, wxEVT_WIZARD_PAGE_CHANGED, 900) - DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_ADV, wxEVT_WIZARD_PAGE_CHANGING, 901) - DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_ADV, wxEVT_WIZARD_CANCEL, 902) - DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_ADV, wxEVT_WIZARD_HELP, 903) - DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_ADV, wxEVT_WIZARD_FINISHED, 903) -END_DECLARE_EVENT_TYPES() +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_ADV, wxEVT_WIZARD_PAGE_CHANGED, wxWizardEvent ) +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_ADV, wxEVT_WIZARD_PAGE_CHANGING, wxWizardEvent ) +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_ADV, wxEVT_WIZARD_CANCEL, wxWizardEvent ) +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_ADV, wxEVT_WIZARD_HELP, wxWizardEvent ) +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_ADV, wxEVT_WIZARD_FINISHED, wxWizardEvent ) typedef void (wxEvtHandler::*wxWizardEventFunction)(wxWizardEvent&); #define wxWizardEventHandler(func) \ - (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxWizardEventFunction, &func) + wxEVENT_HANDLER_CAST(wxWizardEventFunction, func) #define wx__DECLARE_WIZARDEVT(evt, id, fn) \ wx__DECLARE_EVT1(wxEVT_WIZARD_ ## evt, id, wxWizardEventHandler(fn))