- // wxWizard should be created using "new wxWizard" now, not with Create()
-#ifdef WXWIN_COMPATIBILITY_2_2
- 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
+ // Adding pages to page area sizer enlarges wizard
+ virtual wxSizer *GetPageAreaSizer() const = 0;
+
+ // Set border around page area. Default is 0 if you add at least one
+ // page to GetPageAreaSizer and 5 if you don't.
+ virtual void SetBorder(int border) = 0;
+
+ // 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; }
+
+ /// 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)