From c7de4135b619a045593a42dcbb1d1e8a7858cdcc Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=A1clav=20Slav=C3=ADk?= Date: Sun, 21 Apr 2002 11:45:37 +0000 Subject: [PATCH] wxWizardPage(Simple) can do two-phase creation now git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@15227 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/wizard.h | 28 ++++++++++++++++++++++++++-- src/generic/wizard.cpp | 18 +++++++++++++++++- 2 files changed, 43 insertions(+), 3 deletions(-) diff --git a/include/wx/wizard.h b/include/wx/wizard.h index b402cd5fea..3fa787cc25 100644 --- a/include/wx/wizard.h +++ b/include/wx/wizard.h @@ -46,11 +46,19 @@ class WXDLLEXPORT wxWizard; class WXDLLEXPORT wxWizardPage : public wxPanel { public: + wxWizardPage() { Init(); } + // common part of ctors: + void Init(); + // ctor accepts an optional bitmap which will be used for this page instead // of the default one for this wizard (should be of the same size). Notice // 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); + + bool Create(wxWizard *parent, const wxBitmap& bitmap = wxNullBitmap, const wxChar* resource = NULL); @@ -84,16 +92,32 @@ private: class WXDLLEXPORT wxWizardPageSimple : public wxWizardPage { public: + wxWizardPageSimple() { Init(); } + // common part of ctors: + void Init() + { + m_prev = m_next = NULL; + } + // ctor takes the previous and next pages - wxWizardPageSimple(wxWizard *parent = NULL, // let it be default ctor too + wxWizardPageSimple(wxWizard *parent, wxWizardPage *prev = (wxWizardPage *)NULL, wxWizardPage *next = (wxWizardPage *)NULL, const wxBitmap& bitmap = wxNullBitmap, const wxChar* resource = NULL) - : wxWizardPage(parent, bitmap, resource) + { + Create(parent, prev, next, bitmap, resource); + } + + 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) { m_prev = prev; m_next = next; + return wxWizardPage::Create(parent, bitmap, resource); } // the pointers may be also set later - but before starting the wizard diff --git a/src/generic/wizard.cpp b/src/generic/wizard.cpp index ec746149a3..3d1654bef7 100644 --- a/src/generic/wizard.cpp +++ b/src/generic/wizard.cpp @@ -79,11 +79,25 @@ IMPLEMENT_DYNAMIC_CLASS(wxWizardEvent, wxNotifyEvent) // wxWizardPage // ---------------------------------------------------------------------------- +void wxWizardPage::Init() +{ + m_bitmap = wxNullBitmap; +} + wxWizardPage::wxWizardPage(wxWizard *parent, const wxBitmap& bitmap, const wxChar *resource) - : wxPanel(parent) { + Create(parent, bitmap, resource); +} + +bool wxWizardPage::Create(wxWizard *parent, + const wxBitmap& bitmap, + const wxChar *resource) +{ + if ( !wxPanel::Create(parent, -1) ) + return FALSE; + if ( resource != NULL ) { #if wxUSE_WX_RESOURCES @@ -98,6 +112,8 @@ wxWizardPage::wxWizardPage(wxWizard *parent, // initially the page is hidden, it's shown only when it becomes current Hide(); + + return TRUE; } // ---------------------------------------------------------------------------- -- 2.47.2