diff options
Diffstat (limited to 'tqtinterface/qt4/src/dialogs/tqwizard.cpp')
-rw-r--r-- | tqtinterface/qt4/src/dialogs/tqwizard.cpp | 917 |
1 files changed, 0 insertions, 917 deletions
diff --git a/tqtinterface/qt4/src/dialogs/tqwizard.cpp b/tqtinterface/qt4/src/dialogs/tqwizard.cpp deleted file mode 100644 index 4e3f592..0000000 --- a/tqtinterface/qt4/src/dialogs/tqwizard.cpp +++ /dev/null @@ -1,917 +0,0 @@ -/**************************************************************************** -** -** Implementation of TQWizard class. -** -** Created : 990124 -** -** Copyright (C) 1999-2008 Trolltech ASA. All rights reserved. -** -** This file is part of the dialogs module of the TQt GUI Toolkit. -** -** This file may be used under the terms of the GNU General -** Public License versions 2.0 or 3.0 as published by the Free -** Software Foundation and appearing in the files LICENSE.GPL2 -** and LICENSE.GPL3 included in the packaging of this file. -** Alternatively you may (at your option) use any later version -** of the GNU General Public License if such license has been -** publicly approved by Trolltech ASA (or its successors, if any) -** and the KDE Free TQt Foundation. -** -** Please review the following information to ensure GNU General -** Public Licensing requirements will be met: -** http://trolltech.com/products/qt/licenses/licensing/opensource/. -** If you are unsure which license is appropriate for your use, please -** review the following information: -** http://trolltech.com/products/qt/licenses/licensing/licensingoverview -** or contact the sales department at sales@trolltech.com. -** -** This file may be used under the terms of the Q Public License as -** defined by Trolltech ASA and appearing in the file LICENSE.TQPL -** included in the packaging of this file. Licensees holding valid TQt -** Commercial licenses may use this file in accordance with the TQt -** Commercial License Agreement provided with the Software. -** -** This file is provided "AS IS" with NO WARRANTY OF ANY KIND, -** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted -** herein. -** -**********************************************************************/ - -#include "tqwizard.h" - -#ifndef TQT_NO_WIZARD - -#include "tqlayout.h" -#include "tqpushbutton.h" -#include "tqcursor.h" -#include "tqlabel.h" -#include "tqwidgetstack.h" -#include "tqapplication.h" -#include "tqptrlist.h" -#include "tqpainter.h" -#include "tqaccel.h" - -/*! \file wizard/wizard.cpp */ -/*! \file wizard/wizard.h */ - -/*! - \class TQWizard tqwizard.h - \brief The TQWizard class provides a framework for wizard dialogs. - - \ingroup abstractwidgets - \ingroup organizers - \ingroup dialogs - \mainclass - - A wizard is a special type of input dialog that consists of a - sequence of dialog pages. A wizard's purpose is to walk the user - through a process step by step. Wizards are useful for complex or - infrequently occurring tasks that people may find difficult to - learn or do. - - TQWizard provides page titles and displays Next, Back, Finish, - Cancel, and Help push buttons, as appropriate to the current - position in the page sequence. These buttons can be - enabled/disabled using setBackEnabled(), setNextEnabled(), - setFinishEnabled() and setHelpEnabled(). - - Create and populate dialog pages that inherit from TQWidget and add - them to the wizard using addPage(). Use insertPage() to add a - dialog page at a certain position in the page sequence. Use - removePage() to remove a page from the page sequence. - - Use currentPage() to retrieve a pointer to the currently displayed - page. page() returns a pointer to the page at a certain position - in the page sequence. - - Use pageCount() to retrieve the total number of pages in the page - sequence. indexOf() will return the index of a page in the page - sequence. - - TQWizard provides functionality to mark pages as appropriate (or - not) in the current context with setAppropriate(). The idea is - that a page may be irrelevant and should be skipped depending on - the data entered by the user on a preceding page. - - It is generally considered good design to provide a greater number - of simple pages with fewer choices rather than a smaller number of - complex pages. - - Example code is available here: \l wizard/wizard.cpp \l wizard/wizard.h - - \img qwizard.png A TQWizard page - \caption A TQWizard page - -*/ - - -class TQWizardPrivate -{ -public: - struct Page { - Page( TQWidget * widget, const TQString & title ): - w( widget ), t( title ), - backEnabled( TRUE ), nextEnabled( TRUE ), finishEnabled( FALSE ), - helpEnabled( TRUE ), - appropriate( TRUE ) - {} - TQWidget * w; - TQString t; - bool backEnabled; - bool nextEnabled; - bool finishEnabled; - bool helpEnabled; - bool appropriate; - }; - - TQVBoxLayout * v; - Page * current; - TQWidgetStack * ws; - TQPtrList<Page> pages; - TQLabel * title; - TQPushButton * backButton; - TQPushButton * nextButton; - TQPushButton * finishButton; - TQPushButton * cancelButton; - TQPushButton * helpButton; - - TQFrame * hbar1, * hbar2; - -#ifndef TQT_NO_ACCEL - TQAccel * accel; - int backAccel; - int nextAccel; -#endif - - Page * page( const TQWidget * w ) - { - if ( !w ) - return 0; - int i = pages.count(); - while( --i >= 0 && pages.at( i ) && pages.at( i )->w != w ) { } - return i >= 0 ? pages.at( i ) : 0; - } - -}; - - -/*! - Constructs an empty wizard dialog. The \a parent, \a name, \a - modal and \a f arguments are passed to the TQDialog constructor. -*/ - -TQWizard::TQWizard( TQWidget *parent, const char *name, bool modal, - WFlags f ) - : TQDialog( parent, name, modal, f ) -{ - d = new TQWizardPrivate(); - d->current = 0; // not quite true, but... - d->ws = new TQWidgetStack( this, "qt_widgetstack" ); - d->pages.setAutoDelete( TRUE ); - d->title = new TQLabel( this, "title label" ); - - // create in nice tab order - d->nextButton = new TQPushButton( this, "next" ); - d->finishButton = new TQPushButton( this, "finish" ); - d->helpButton = new TQPushButton( this, "help" ); - d->backButton = new TQPushButton( this, "back" ); - d->cancelButton = new TQPushButton( this, "cancel" ); - - d->ws->installEventFilter( this ); - - d->v = 0; - d->hbar1 = 0; - d->hbar2 = 0; - - d->cancelButton->setText( tr( "&Cancel" ) ); - d->backButton->setText( tr( "< &Back" ) ); - d->nextButton->setText( tr( "&Next >" ) ); - d->finishButton->setText( tr( "&Finish" ) ); - d->helpButton->setText( tr( "&Help" ) ); - - d->nextButton->setDefault( TRUE ); - - connect( d->backButton, TQT_SIGNAL(clicked()), - this, TQT_SLOT(back()) ); - connect( d->nextButton, TQT_SIGNAL(clicked()), - this, TQT_SLOT(next()) ); - connect( d->finishButton, TQT_SIGNAL(clicked()), - this, TQT_SLOT(accept()) ); - connect( d->cancelButton, TQT_SIGNAL(clicked()), - this, TQT_SLOT(reject()) ); - connect( d->helpButton, TQT_SIGNAL(clicked()), - this, TQT_SLOT(help()) ); - -#ifndef TQT_NO_ACCEL - d->accel = new TQAccel( this, "arrow-key accel" ); - d->backAccel = d->accel->insertItem( TQt::ALT + TQt::Key_Left ); - d->accel->connectItem( d->backAccel, this, TQT_SLOT(back()) ); - d->nextAccel = d->accel->insertItem( TQt::ALT + TQt::Key_Right ); - d->accel->connectItem( d->nextAccel, this, TQT_SLOT(next()) ); -#endif -} - - -/*! - Destroys the object and frees any allocated resources, including - all pages and controllers. -*/ - -TQWizard::~TQWizard() -{ - delete d; -} - - -/*! - \reimp -*/ - -void TQWizard::show() -{ - if ( !d->current ) { - // No page yet - if ( pageCount() > 0 ) - showPage( d->pages.at( 0 )->w ); - else - showPage( 0 ); - } - - TQDialog::show(); -} - - -/*! - \reimp -*/ - -void TQWizard::setFont( const TQFont & font ) -{ - TQApplication::postEvent( this, new TQEvent( TQEvent::LayoutHint ) ); - TQDialog::setFont( font ); -} - - -/*! - Adds \a page to the end of the page sequence, with the title, \a - title. -*/ - -void TQWizard::addPage( TQWidget * page, const TQString & title ) -{ - if ( !page ) - return; - if ( d->page( page ) ) { -#if defined(TQT_CHECK_STATE) - qWarning( "TQWizard::addPage(): already added %s/%s to %s/%s", - page->className(), page->name(), - className(), name() ); -#endif - return; - } - int i = d->pages.count(); - - if( i > 0 ) - d->pages.at( i - 1 )->nextEnabled = TRUE; - - TQWizardPrivate::Page * p = new TQWizardPrivate::Page( page, title ); - p->backEnabled = ( i > 0 ); - d->ws->addWidget( page, i ); - d->pages.append( p ); -} - -/*! - Inserts \a page at position \a index into the page sequence, with - title \a title. If \a index is -1, the page will be appended to - the end of the wizard's page sequence. -*/ - -void TQWizard::insertPage( TQWidget * page, const TQString & title, int index ) -{ - if ( !page ) - return; - if ( d->page( page ) ) { -#if defined(TQT_CHECK_STATE) - qWarning( "TQWizard::insertPage(): already added %s/%s to %s/%s", - page->className(), page->name(), - className(), name() ); -#endif - return; - } - - if ( index < 0 || index > (int)d->pages.count() ) - index = d->pages.count(); - - if( index > 0 && ( index == (int)d->pages.count() ) ) - d->pages.at( index - 1 )->nextEnabled = TRUE; - - TQWizardPrivate::Page * p = new TQWizardPrivate::Page( page, title ); - p->backEnabled = ( index > 0 ); - p->nextEnabled = ( index < (int)d->pages.count() ); - - d->ws->addWidget( page, index ); - d->pages.insert( index, p ); -} - -/*! - \fn void TQWizard::selected(const TQString&) - - This signal is emitted when the current page changes. The - parameter contains the title of the selected page. -*/ - - -/*! - Makes \a page the current page and emits the selected() signal. - - This virtual function is called whenever a different page is to - be shown, including the first time the TQWizard is shown. - By reimplementing it (and calling TQWizard::showPage()), - you can prepare each page prior to it being shown. -*/ - -void TQWizard::showPage( TQWidget * page ) -{ - TQWizardPrivate::Page * p = d->page( page ); - if ( p ) { - int i; - for( i = 0; i < (int)d->pages.count() && d->pages.at( i ) != p; i++ ); - bool notFirst( FALSE ); - - if( i ) { - i--; - while( ( i >= 0 ) && !notFirst ) { - notFirst |= appropriate( d->pages.at( i )->w ); - i--; - } - } - setBackEnabled( notFirst ); - setNextEnabled( TRUE ); - d->ws->raiseWidget( page ); - d->current = p; - } - - layOut(); - updateButtons(); - emit selected( p ? p->t : TQString::null ); -} - - -/*! - Returns the number of pages in the wizard. -*/ - -int TQWizard::pageCount() const -{ - return d->pages.count(); -} - -/*! - Returns the position of page \a page. If the page is not part of - the wizard -1 is returned. -*/ - -int TQWizard::indexOf( TQWidget* page ) const -{ - TQWizardPrivate::Page * p = d->page( page ); - if ( !p ) return -1; - - return d->pages.find( p ); -} - -/*! - Called when the user clicks the Back button; this function shows - the preceding relevant page in the sequence. - - \sa appropriate() -*/ -void TQWizard::back() -{ - int i = 0; - - while( i < (int)d->pages.count() && d->pages.at( i ) && - d->current && d->pages.at( i )->w != d->current->w ) - i++; - - i--; - while( i >= 0 && ( !d->pages.at( i ) || !appropriate( d->pages.at( i )->w ) ) ) - i--; - - if( i >= 0 ) - if( d->pages.at( i ) ) - showPage( d->pages.at( i )->w ); -} - - -/*! - Called when the user clicks the Next button, this function shows - the next relevant page in the sequence. - - \sa appropriate() -*/ -void TQWizard::next() -{ - int i = 0; - while( i < (int)d->pages.count() && d->pages.at( i ) && - d->current && d->pages.at( i )->w != d->current->w ) - i++; - i++; - while( i <= (int)d->pages.count()-1 && - ( !d->pages.at( i ) || !appropriate( d->pages.at( i )->w ) ) ) - i++; - // if we fell of the end of the world, step back - while ( i > 0 && (i >= (int)d->pages.count() || !d->pages.at( i ) ) ) - i--; - if ( d->pages.at( i ) ) - showPage( d->pages.at( i )->w ); -} - - -/*! - \fn void TQWizard::helpClicked() - - This signal is emitted when the user clicks on the Help button. -*/ - -/*! - Called when the user clicks the Help button, this function emits - the helpClicked() signal. -*/ - -void TQWizard::help() -{ - TQWidget * page = d->ws->visibleWidget(); - if ( !page ) - return; - -#if 0 - TQWizardPage *wpage = ::tqqt_cast<TQWizardPage*>(page); - if ( wpage ) - emit wpage->helpClicked(); -#endif - emit helpClicked(); -} - - -void TQWizard::setBackEnabled( bool enable ) -{ - d->backButton->setEnabled( enable ); -#ifndef TQT_NO_ACCEL - d->accel->setItemEnabled( d->backAccel, enable ); -#endif -} - - -void TQWizard::setNextEnabled( bool enable ) -{ - d->nextButton->setEnabled( enable ); -#ifndef TQT_NO_ACCEL - d->accel->setItemEnabled( d->nextAccel, enable ); -#endif -} - - -void TQWizard::setHelpEnabled( bool enable ) -{ - d->helpButton->setEnabled( enable ); -} - - -/*! - \fn void TQWizard::setFinish( TQWidget *, bool ) - \obsolete - - Use setFinishEnabled instead -*/ - -/*! - If \a enable is TRUE, page \a page has a Back button; otherwise \a - page has no Back button. By default all pages have this button. -*/ -void TQWizard::setBackEnabled( TQWidget * page, bool enable ) -{ - TQWizardPrivate::Page * p = d->page( page ); - if ( !p ) - return; - - p->backEnabled = enable; - updateButtons(); -} - - -/*! - If \a enable is TRUE, page \a page has a Next button; otherwise - the Next button on \a page is disabled. By default all pages have - this button. -*/ - -void TQWizard::setNextEnabled( TQWidget * page, bool enable ) -{ - TQWizardPrivate::Page * p = d->page( page ); - if ( !p ) - return; - - p->nextEnabled = enable; - updateButtons(); -} - - -/*! - If \a enable is TRUE, page \a page has a Finish button; otherwise - \a page has no Finish button. By default \e no page has this - button. -*/ -void TQWizard::setFinishEnabled( TQWidget * page, bool enable ) -{ - TQWizardPrivate::Page * p = d->page( page ); - if ( !p ) - return; - - p->finishEnabled = enable; - updateButtons(); -} - - -/*! - If \a enable is TRUE, page \a page has a Help button; otherwise \a - page has no Help button. By default all pages have this button. -*/ -void TQWizard::setHelpEnabled( TQWidget * page, bool enable ) -{ - TQWizardPrivate::Page * p = d->page( page ); - if ( !p ) - return; - - p->helpEnabled = enable; - updateButtons(); -} - - -/*! - Called when the Next button is clicked; this virtual function - returns TRUE if \a page is relevant for display in the current - context; otherwise it is ignored by TQWizard and returns FALSE. The - default implementation returns the value set using - setAppropriate(). The ultimate default is TRUE. - - \warning The last page of the wizard will be displayed if no page - is relevant in the current context. -*/ - -bool TQWizard::appropriate( TQWidget * page ) const -{ - TQWizardPrivate::Page * p = d->page( page ); - return p ? p->appropriate : TRUE; -} - - -/*! - If \a appropriate is TRUE then page \a page is considered relevant - in the current context and should be displayed in the page - sequence; otherwise \a page should not be displayed in the page - sequence. - - \sa appropriate() -*/ -void TQWizard::setAppropriate( TQWidget * page, bool appropriate ) -{ - TQWizardPrivate::Page * p = d->page( page ); - if ( p ) - p->appropriate = appropriate; -} - - -void TQWizard::updateButtons() -{ - if ( !d->current ) - return; - - int i; - for( i = 0; i < (int)d->pages.count() && d->pages.at( i ) != d->current; i++ ); - bool notFirst( FALSE ); - if( i ) { - i--; - while( ( i >= 0 ) && !notFirst ) { - notFirst |= appropriate( d->pages.at( i )->w ); - i--; - } - } - setBackEnabled( d->current->backEnabled && notFirst ); - setNextEnabled( d->current->nextEnabled ); - d->finishButton->setEnabled( d->current->finishEnabled ); - d->helpButton->setEnabled( d->current->helpEnabled ); - - if ( ( d->current->finishEnabled && !d->finishButton->isVisible() ) || - ( d->current->backEnabled && !d->backButton->isVisible() ) || - ( d->current->nextEnabled && !d->nextButton->isVisible() ) || - ( d->current->helpEnabled && !d->helpButton->isVisible() ) ) - layOut(); -} - - -/*! - Returns a pointer to the current page in the sequence. Although - the wizard does its best to make sure that this value is never 0, - it can be if you try hard enough. -*/ - -TQWidget * TQWizard::currentPage() const -{ - return d->ws->visibleWidget(); -} - - -/*! - Returns the title of page \a page. -*/ - -TQString TQWizard::title( TQWidget * page ) const -{ - TQWizardPrivate::Page * p = d->page( page ); - return p ? p->t : TQString::null; -} - -/*! - Sets the title for page \a page to \a title. -*/ - -void TQWizard::setTitle( TQWidget *page, const TQString &title ) -{ - TQWizardPrivate::Page * p = d->page( page ); - if ( p ) - p->t = title; - if ( page == currentPage() ) - d->title->setText( title ); -} - -/*! - \property TQWizard::titleFont - \brief the font used for page titles - - The default is TQApplication::font(). -*/ -TQFont TQWizard::titleFont() const -{ - return d->title->font(); -} - -void TQWizard::setTitleFont( const TQFont & font ) -{ - d->title->setFont( font ); -} - - -/*! - Returns a pointer to the dialog's Back button - - By default, this button is connected to the back() slot, which is - virtual so you can reimplement it in a TQWizard subclass. Use - setBackEnabled() to enable/disable this button. -*/ -TQPushButton * TQWizard::backButton() const -{ - return d->backButton; -} - - -/*! - Returns a pointer to the dialog's Next button - - By default, this button is connected to the next() slot, which is - virtual so you can reimplement it in a TQWizard subclass. Use - setNextEnabled() to enable/disable this button. -*/ -TQPushButton * TQWizard::nextButton() const -{ - return d->nextButton; -} - - -/*! - Returns a pointer to the dialog's Finish button - - By default, this button is connected to the TQDialog::accept() - slot, which is virtual so you can reimplement it in a TQWizard - subclass. Use setFinishEnabled() to enable/disable this button. -*/ -TQPushButton * TQWizard::finishButton() const -{ - return d->finishButton; -} - - -/*! - Returns a pointer to the dialog's Cancel button - - By default, this button is connected to the TQDialog::reject() - slot, which is virtual so you can reimplement it in a TQWizard - subclass. -*/ -TQPushButton * TQWizard::cancelButton() const -{ - return d->cancelButton; -} - - -/*! - Returns a pointer to the dialog's Help button - - By default, this button is connected to the help() slot, which is - virtual so you can reimplement it in a TQWizard subclass. Use - setHelpEnabled() to enable/disable this button. -*/ -TQPushButton * TQWizard::helpButton() const -{ - return d->helpButton; -} - - -/*! - This virtual function is responsible for adding the buttons below - the bottom divider. - - \a tqlayout is the horizontal tqlayout of the entire wizard. -*/ - -void TQWizard::layOutButtonRow( TQHBoxLayout * tqlayout ) -{ - bool hasHelp = FALSE; - bool hasEarlyFinish = FALSE; - - int i = d->pages.count() - 2; - while ( !hasEarlyFinish && i >= 0 ) { - if ( d->pages.at( i ) && d->pages.at( i )->finishEnabled ) - hasEarlyFinish = TRUE; - i--; - } - i = 0; - while ( !hasHelp && i < (int)d->pages.count() ) { - if ( d->pages.at( i ) && d->pages.at( i )->helpEnabled ) - hasHelp = TRUE; - i++; - } - - TQBoxLayout * h = new TQBoxLayout( TQBoxLayout::LeftToRight ); - tqlayout->addLayout( h ); - - if ( hasHelp ) - h->addWidget( d->helpButton ); - else - d->helpButton->hide(); - - h->addStretch( 42 ); - - h->addWidget( d->backButton ); - - h->addSpacing( 6 ); - - if (d->current == d->pages.at( d->pages.count()-1 )) - hasEarlyFinish = FALSE; - - if ( hasEarlyFinish ) { - d->nextButton->show(); - d->finishButton->show(); - h->addWidget( d->nextButton ); - h->addSpacing( 12 ); - h->addWidget( d->finishButton ); - } else if ( d->pages.count() == 0 || - d->current->finishEnabled || - d->current == d->pages.at( d->pages.count()-1 ) ) { - d->nextButton->hide(); - d->finishButton->show(); - h->addWidget( d->finishButton ); - } else { - d->nextButton->show(); - d->finishButton->hide(); - h->addWidget( d->nextButton ); - } - - // if last page is disabled - show finished btn. at lastpage-1 - i = d->pages.count()-1; - if ( i >= 0 && !appropriate( d->pages.at( i )->w ) && - d->current == d->pages.at( d->pages.count()-2 ) ) { - d->nextButton->hide(); - d->finishButton->show(); - h->addWidget( d->finishButton ); - } - - h->addSpacing( 12 ); - h->addWidget( d->cancelButton ); -} - - -/*! - This virtual function is responsible for laying out the title row. - - \a tqlayout is the horizontal tqlayout for the wizard, and \a - title is the title for this page. This function is called every - time \a title changes. -*/ - -void TQWizard::layOutTitleRow( TQHBoxLayout * tqlayout, const TQString & title ) -{ - d->title->setText( title ); - tqlayout->addWidget( d->title, 10 ); -} - - -/* - -*/ - -void TQWizard::layOut() -{ - delete d->v; - d->v = new TQVBoxLayout( this, 6, 0, "top-level tqlayout" ); - - TQHBoxLayout * l; - l = new TQHBoxLayout( 6 ); - d->v->addLayout( l, 0 ); - layOutTitleRow( l, d->current ? d->current->t : TQString::null ); - - if ( ! d->hbar1 ) { - d->hbar1 = new TQFrame( this, "<hr>", 0 ); - d->hbar1->setFrameStyle( TQFrame::Sunken + TQFrame::HLine ); - d->hbar1->setFixedHeight( 12 ); - } - - d->v->addWidget( d->hbar1 ); - - d->v->addWidget( d->ws, 10 ); - - if ( ! d->hbar2 ) { - d->hbar2 = new TQFrame( this, "<hr>", 0 ); - d->hbar2->setFrameStyle( TQFrame::Sunken + TQFrame::HLine ); - d->hbar2->setFixedHeight( 12 ); - } - d->v->addWidget( d->hbar2 ); - - l = new TQHBoxLayout( 6 ); - d->v->addLayout( l ); - layOutButtonRow( l ); - d->v->activate(); -} - - -/*! - \reimp -*/ - -bool TQWizard::eventFilter( TQObject * o, TQEvent * e ) -{ - if ( TQT_BASE_OBJECT(o) == TQT_BASE_OBJECT(d->ws) && e && e->type() == TQEvent::ChildRemoved ) { - TQChildEvent * c = (TQChildEvent*)e; - if ( c->child() && c->child()->isWidgetType() ) - removePage( (TQWidget *)c->child() ); - } - return TQDialog::eventFilter( o, e ); -} - - -/*! - Removes \a page from the page sequence but does not delete the - page. If \a page is currently being displayed, TQWizard will - display the page that precedes it, or the first page if this was - the first page. -*/ - -void TQWizard::removePage( TQWidget * page ) -{ - if ( !page ) - return; - - int i = d->pages.count(); - TQWidget* cp = currentPage(); - while( --i >= 0 && d->pages.at( i ) && d->pages.at( i )->w != page ) { } - if ( i < 0 ) - return; - TQWizardPrivate::Page * p = d->pages.at( i ); - d->pages.removeRef( p ); - d->ws->removeWidget( page ); - - if( cp == page ) { - i--; - if( i < 0 ) - i = 0; - if ( pageCount() > 0 ) - showPage( TQWizard::page( i ) ); - } -} - - -/*! - Returns a pointer to the page at position \a index in the - sequence, or 0 if \a index is out of range. The first page has - index 0. -*/ - -TQWidget* TQWizard::page( int index ) const -{ - if ( index >= pageCount() || index < 0 ) - return 0; - - return d->pages.at( index )->w; -} - -#endif // TQT_NO_WIZARD |