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
This commit is contained in:
Václav Slavík
2002-04-21 11:45:37 +00:00
parent 5463c0a4e1
commit c7de4135b6
2 changed files with 43 additions and 3 deletions

View File

@@ -46,6 +46,10 @@ class WXDLLEXPORT wxWizard;
class WXDLLEXPORT wxWizardPage : public wxPanel class WXDLLEXPORT wxWizardPage : public wxPanel
{ {
public: public:
wxWizardPage() { Init(); }
// common part of ctors:
void Init();
// ctor accepts an optional bitmap which will be used for this page instead // 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 // 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 // that no other parameters are needed because the wizard will resize and
@@ -54,6 +58,10 @@ public:
const wxBitmap& bitmap = wxNullBitmap, const wxBitmap& bitmap = wxNullBitmap,
const wxChar* resource = NULL); const wxChar* resource = NULL);
bool Create(wxWizard *parent,
const wxBitmap& bitmap = wxNullBitmap,
const wxChar* resource = NULL);
// these functions are used by the wizard to show another page when the // these functions are used by the wizard to show another page when the
// user chooses "Back" or "Next" button // user chooses "Back" or "Next" button
virtual wxWizardPage *GetPrev() const = 0; virtual wxWizardPage *GetPrev() const = 0;
@@ -84,16 +92,32 @@ private:
class WXDLLEXPORT wxWizardPageSimple : public wxWizardPage class WXDLLEXPORT wxWizardPageSimple : public wxWizardPage
{ {
public: public:
wxWizardPageSimple() { Init(); }
// common part of ctors:
void Init()
{
m_prev = m_next = NULL;
}
// ctor takes the previous and next pages // 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)
{
Create(parent, prev, next, bitmap, resource);
}
bool Create(wxWizard *parent = NULL, // let it be default ctor too
wxWizardPage *prev = (wxWizardPage *)NULL, wxWizardPage *prev = (wxWizardPage *)NULL,
wxWizardPage *next = (wxWizardPage *)NULL, wxWizardPage *next = (wxWizardPage *)NULL,
const wxBitmap& bitmap = wxNullBitmap, const wxBitmap& bitmap = wxNullBitmap,
const wxChar* resource = NULL) const wxChar* resource = NULL)
: wxWizardPage(parent, bitmap, resource)
{ {
m_prev = prev; m_prev = prev;
m_next = next; m_next = next;
return wxWizardPage::Create(parent, bitmap, resource);
} }
// the pointers may be also set later - but before starting the wizard // the pointers may be also set later - but before starting the wizard

View File

@@ -79,11 +79,25 @@ IMPLEMENT_DYNAMIC_CLASS(wxWizardEvent, wxNotifyEvent)
// wxWizardPage // wxWizardPage
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
void wxWizardPage::Init()
{
m_bitmap = wxNullBitmap;
}
wxWizardPage::wxWizardPage(wxWizard *parent, wxWizardPage::wxWizardPage(wxWizard *parent,
const wxBitmap& bitmap, const wxBitmap& bitmap,
const wxChar *resource) 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 ( resource != NULL )
{ {
#if wxUSE_WX_RESOURCES #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 // initially the page is hidden, it's shown only when it becomes current
Hide(); Hide();
return TRUE;
} }
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------