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
{
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
@@ -54,6 +58,10 @@ public:
const wxBitmap& bitmap = wxNullBitmap,
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
// user chooses "Back" or "Next" button
virtual wxWizardPage *GetPrev() const = 0;
@@ -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)
{
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)
: wxWizardPage(parent, bitmap, resource)
{
m_prev = prev;
m_next = next;
return wxWizardPage::Create(parent, bitmap, resource);
}
// the pointers may be also set later - but before starting the wizard

View File

@@ -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;
}
// ----------------------------------------------------------------------------