// wxNullBitmap from here - the default one will be used then.
virtual wxBitmap GetBitmap() const { return m_bitmap; }
+ /// 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();
+ }
+
protected:
// common part of ctors:
void Init();
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,
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)
};
// ----------------------------------------------------------------------------
BEGIN_DECLARE_EVENT_TYPES()
- DECLARE_EVENT_TYPE(wxEVT_WIZARD_PAGE_CHANGED, 900)
- 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)
+ 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()
typedef void (wxEvtHandler::*wxWizardEventFunction)(wxWizardEvent&);