From d329818b2a969cfd2eeaff31590663b8cd565171 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Tue, 8 Oct 2002 20:37:56 +0000 Subject: [PATCH] added/documented wxWizard::HasNext/PrevPage() git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_4_BRANCH@17484 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/latex/wx/wizard.tex | 26 ++++++++++++++++++++++++++ include/wx/wizard.h | 9 +++++++++ src/generic/wizard.cpp | 6 +++--- 3 files changed, 38 insertions(+), 3 deletions(-) diff --git a/docs/latex/wx/wizard.tex b/docs/latex/wx/wizard.tex index 5a1f6b50fe..5bb32f8170 100644 --- a/docs/latex/wx/wizard.tex +++ b/docs/latex/wx/wizard.tex @@ -160,6 +160,32 @@ Get the current page while the wizard is running. {\tt NULL} is returned if Returns the size available for the pages. +\membersection{wxWizard::HasNextPage}\label{wxwizardhasnextpage} + +\func{virtual bool}{HasNextPage}{\param{wxWizardPage *}{page}} + +Return {\tt TRUE} if this page is not the last one in the wizard. The base +class version implements this by calling +\helpref{page->GetNext}{wxwizardpagegetnext} but this could be undesirable if, +for example, the pages are created on demand only. + +\wxheading{See also} + +\helpref{HasPrevPage}{wxwizardhasprevpage} + +\membersection{wxWizard::HasPrevPage}\label{wxwizardhasprevpage} + +\func{virtual bool}{HasPrevPage}{\param{wxWizardPage *}{page}} + +Return {\tt TRUE} if this page is not the last one in the wizard. The base +class version implements this by calling +\helpref{page->GetPrev}{wxwizardpagegetprev} but this could be undesirable if, +for example, the pages are created on demand only. + +\wxheading{See also} + +\helpref{HasNextPage}{wxwizardhasnextpage} + \membersection{wxWizard::RunWizard}\label{wxwizardrunwizard} \func{bool}{RunWizard}{\param{wxWizardPage* }{firstPage}} diff --git a/include/wx/wizard.h b/include/wx/wizard.h index ce716c5627..8ff916d7a0 100644 --- a/include/wx/wizard.h +++ b/include/wx/wizard.h @@ -201,6 +201,15 @@ public: const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize); #endif // WXWIN_COMPATIBILITY_2_2 + + // 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; } }; // include the real class declaration diff --git a/src/generic/wizard.cpp b/src/generic/wizard.cpp index 0b99d25e0c..c438b292c5 100644 --- a/src/generic/wizard.cpp +++ b/src/generic/wizard.cpp @@ -348,7 +348,7 @@ bool wxWizard::ShowPage(wxWizardPage *page, bool goingForward) m_page->Hide(); - btnLabelWasNext = m_page->GetNext() != (wxWizardPage *)NULL; + btnLabelWasNext = HasNextPage(m_page); // Get the bitmap of the previous page (if it exists) if ( m_page->GetBitmap().Ok() ) @@ -395,9 +395,9 @@ bool wxWizard::ShowPage(wxWizardPage *page, bool goingForward) } // and update the buttons state - m_btnPrev->Enable(m_page->GetPrev() != (wxWizardPage *)NULL); + m_btnPrev->Enable(HasPrevPage(m_page)); - bool hasNext = m_page->GetNext() != (wxWizardPage *)NULL; + bool hasNext = HasNextPage(m_page); if ( btnLabelWasNext != hasNext ) { // need to update