// Created: 28.09.99
// RCS-ID: $Id$
// Copyright: (c) 1999 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
-// Licence: wxWindows license
+// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
// ----------------------------------------------------------------------------
// wxWizard
// ----------------------------------------------------------------------------
+#if defined(__GNUG__) && !defined(__APPLE__)
+ #pragma interface "wizardg.h"
+#endif
+
class WXDLLEXPORT wxButton;
class WXDLLEXPORT wxStaticBitmap;
+class WXDLLEXPORT wxWizardEvent;
class WXDLLEXPORT wxWizard : public wxWizardBase
{
public:
// ctor
- wxWizard(wxWindow *parent = NULL,
+ wxWizard() { Init(); }
+ wxWizard(wxWindow *parent,
+ int id = -1,
+ const wxString& title = wxEmptyString,
+ const wxBitmap& bitmap = wxNullBitmap,
+ const wxPoint& pos = wxDefaultPosition)
+ {
+ Init();
+ Create(parent, id, title, bitmap, pos);
+ }
+ bool Create(wxWindow *parent,
int id = -1,
const wxString& title = wxEmptyString,
const wxBitmap& bitmap = wxNullBitmap,
const wxPoint& pos = wxDefaultPosition);
+ void Init();
// implement base class pure virtuals
virtual bool RunWizard(wxWizardPage *firstPage);
virtual wxWizardPage *GetCurrentPage() const;
virtual void SetPageSize(const wxSize& size);
virtual wxSize GetPageSize() const;
+ virtual void FitToPage(const wxWizardPage *firstPage);
// implementation only from now on
// -------------------------------
// TransferDataFromWindow() returns FALSE - otherwise, returns TRUE
bool ShowPage(wxWizardPage *page, bool goingForward = TRUE);
+ // do fill the dialog with controls
+ // this is app-overridable to, for example, set help and tooltip text
+ virtual void DoCreateControls();
+
private:
// was the dialog really created?
bool WasCreated() const { return m_btnPrev != NULL; }
- // do fill the dialog with controls
- void DoCreateControls();
-
// event handlers
void OnCancel(wxCommandEvent& event);
void OnBackOrNext(wxCommandEvent& event);
+ void OnHelp(wxCommandEvent& event);
+
+ void OnWizEvent(wxWizardEvent& event);
// the page size requested by user
wxSize m_sizePage;
DECLARE_DYNAMIC_CLASS(wxWizard)
DECLARE_EVENT_TABLE()
+ DECLARE_NO_COPY_CLASS(wxWizard)
};