X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3f2c383971a1edc6ab789d6c3b60295b4d21fa0d..594ed110f77d9f29f7165a07bb806e5a4fa19b0e:/include/wx/wizard.h diff --git a/include/wx/wizard.h b/include/wx/wizard.h index 9bbd235877..231f4e9e16 100644 --- a/include/wx/wizard.h +++ b/include/wx/wizard.h @@ -74,6 +74,22 @@ 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() + { + return GetValidator() ? GetValidator()->TransferToWindow() : wxPanel::TransferDataToWindow(); + } + bool TransferDataFromWindow() + { + return GetValidator() ? GetValidator()->TransferFromWindow() : wxPanel::TransferDataFromWindow(); + } + bool Validate() + { + return GetValidator() ? GetValidator()->Validate(this) : wxPanel::Validate(); + } +#endif // wxUSE_VALIDATOR + protected: // common part of ctors: void Init(); @@ -204,7 +220,7 @@ public: virtual void SetBorder(int border) = 0; // wxWizard should be created using "new wxWizard" now, not with Create() -#ifdef WXWIN_COMPATIBILITY_2_2 +#if WXWIN_COMPATIBILITY_2_2 static wxWizard *Create(wxWindow *parent, int id = -1, const wxString& title = wxEmptyString, @@ -222,6 +238,13 @@ public: virtual bool HasPrevPage(wxWizardPage *page) { return page->GetPrev() != NULL; } + /// Override these functions to stop InitDialog from calling TransferDataToWindow + /// for _all_ pages when the wizard starts. Instead 'ShowPage' will call + /// TransferDataToWindow for the first page only. + bool TransferDataToWindow() { return true; } + bool TransferDataFromWindow() { return true; } + bool Validate() { return true; } + private: DECLARE_NO_COPY_CLASS(wxWizardBase) };