<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- /home/espenr/tmp/qt - 3.3.8 - espenr - 2499/qt - x11 - free - 3.3.8/src/dialogs/qwizard.cpp:52 -->
< html >
< head >
< meta http-equiv = "Content-Type" content = "text/html; charset=ISO-8859-1" >
< title > wizard/wizard.cpp Example File< / title >
< style type = "text/css" > < ! - -
fn { margin-left: 1cm; text-indent: -1cm; }
a:link { color: #004faf; text-decoration: none }
a:visited { color: #672967; text-decoration: none }
body { background: #ffffff; color: black; }
-->< / style >
< / head >
< body >
< table border = "0" cellpadding = "0" cellspacing = "0" width = "100%" >
< tr bgcolor = "#E5E5E5" >
< td valign = center >
< a href = "index.html" >
< font color = "#004faf" > Home< / font > < / a >
| < a href = "classes.html" >
< font color = "#004faf" > All Classes< / font > < / a >
| < a href = "mainclasses.html" >
< font color = "#004faf" > Main Classes< / font > < / a >
| < a href = "annotated.html" >
< font color = "#004faf" > Annotated< / font > < / a >
| < a href = "groups.html" >
< font color = "#004faf" > Grouped Classes< / font > < / a >
| < a href = "functions.html" >
< font color = "#004faf" > Functions< / font > < / a >
< / td >
< td align = "right" valign = "center" > < img src = "logo32.png" align = "right" width = "64" height = "32" border = "0" > < / td > < / tr > < / table > < h1 align = center > wizard/wizard.cpp Example File< / h1 >
< pre > /****************************************************************************
** $Id: qt/wizard.cpp 3.3.8 edited Jan 11 14:37 $
**
** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
**
** This file is part of an example program for TQt. This example
** program may be used, distributed and modified without limitation.
**
*****************************************************************************/
#include "wizard.h"
#include < < a href = "qwidget-h.html" > ntqwidget.h< / a > >
#include < < a href = "qhbox-h.html" > ntqhbox.h< / a > >
#include < < a href = "qvbox-h.html" > ntqvbox.h< / a > >
#include < < a href = "qlabel-h.html" > ntqlabel.h< / a > >
#include < < a href = "qlineedit-h.html" > ntqlineedit.h< / a > >
#include < < a href = "qpushbutton-h.html" > ntqpushbutton.h< / a > >
#include < < a href = "qvalidator-h.html" > ntqvalidator.h< / a > >
#include < < a href = "qapplication-h.html" > ntqapplication.h< / a > >
< a name = "f3" > < / a > Wizard::Wizard( < a href = "ntqwidget.html" > TQWidget< / a > *parent, const char *name )
: < a href = "ntqwizard.html" > TQWizard< / a > ( parent, name, TRUE )
{
setupPage1();
setupPage2();
setupPage3();
< a name = "x11" > < / a > key-> < a href = "ntqwidget.html#setFocus" > setFocus< / a > ();
}
void < a name = "f4" > < / a > Wizard::setupPage1()
{
page1 = new < a href = "ntqhbox.html" > TQHBox< / a > ( this );
< a name = "x2" > < / a > page1-> < a href = "ntqhbox.html#setSpacing" > setSpacing< / a > (8);
< a href = "ntqlabel.html" > TQLabel< / a > *info = new < a href = "ntqlabel.html" > TQLabel< / a > ( page1 );
< a name = "x1" > < / a > info-> < a href = "ntqframe.html#setMargin" > setMargin< / a > ( 11 );
< a name = "x14" > < / a > info-> < a href = "ntqwidget.html#setPalette" > setPalette< / a > ( yellow );
< a name = "x4" > < / a > info-> < a href = "ntqlabel.html#setText" > setText< / a > ( "Enter your personal\n"
"key here.\n\n"
"Your personal key\n"
"consists of 4 digits" );
< a name = "x5" > < / a > < a name = "x12" > < / a > info-> < a href = "ntqwidget.html#setMaximumWidth" > setMaximumWidth< / a > ( info-> < a href = "ntqwidget.html#sizeHint" > sizeHint< / a > ().width() );
< a href = "ntqvbox.html" > TQVBox< / a > *page = new < a href = "ntqvbox.html" > TQVBox< / a > ( page1 );
< a href = "ntqhbox.html" > TQHBox< / a > *row1 = new < a href = "ntqhbox.html" > TQHBox< / a > ( page );
(void)new < a href = "ntqlabel.html" > TQLabel< / a > ( "Key:", row1 );
key = new < a href = "ntqlineedit.html" > TQLineEdit< / a > ( row1 );
< a name = "x6" > < / a > key-> < a href = "ntqlineedit.html#setMaxLength" > setMaxLength< / a > ( 4 );
< a name = "x7" > < / a > key-> < a href = "ntqlineedit.html#setValidator" > setValidator< / a > ( new < a href = "qintvalidator.html" > TQIntValidator< / a > ( 1000, 9999, key ) );
< a name = "x9" > < / a > < a href = "ntqobject.html#connect" > connect< / a > ( key, SIGNAL( < a href = "ntqlineedit.html#textChanged" > textChanged< / a > ( const < a href = "ntqstring.html" > TQString< / a > & ) ),
this, SLOT( keyChanged( const < a href = "ntqstring.html" > TQString< / a > & ) ) );
< a href = "ntqwizard.html#addPage" > addPage< / a > ( page1, "Personal Key" );
< a href = "ntqwizard.html#setNextEnabled" > setNextEnabled< / a > ( page1, FALSE );
< a href = "ntqwizard.html#setHelpEnabled" > setHelpEnabled< / a > ( page1, FALSE );
}
void < a name = "f5" > < / a > Wizard::setupPage2()
{
page2 = new < a href = "ntqhbox.html" > TQHBox< / a > ( this );
page2-> < a href = "ntqhbox.html#setSpacing" > setSpacing< / a > (8);
< a href = "ntqlabel.html" > TQLabel< / a > *info = new < a href = "ntqlabel.html" > TQLabel< / a > ( page2 );
info-> < a href = "ntqframe.html#setMargin" > setMargin< / a > ( 11 );
info-> < a href = "ntqwidget.html#setPalette" > setPalette< / a > ( yellow );
info-> < a href = "ntqlabel.html#setText" > setText< / a > ( "\n"
"Enter your personal\n"
"data here.\n\n"
"The required fields are\n"
"First Name, Last Name \n"
"and E-Mail.\n" );
info-> < a href = "ntqwidget.html#setMaximumWidth" > setMaximumWidth< / a > ( info-> < a href = "ntqwidget.html#sizeHint" > sizeHint< / a > ().width() );
< a href = "ntqvbox.html" > TQVBox< / a > *page = new < a href = "ntqvbox.html" > TQVBox< / a > ( page2 );
< a href = "ntqhbox.html" > TQHBox< / a > *row1 = new < a href = "ntqhbox.html" > TQHBox< / a > ( page );
< a href = "ntqhbox.html" > TQHBox< / a > *row2 = new < a href = "ntqhbox.html" > TQHBox< / a > ( page );
< a href = "ntqhbox.html" > TQHBox< / a > *row3 = new < a href = "ntqhbox.html" > TQHBox< / a > ( page );
< a href = "ntqhbox.html" > TQHBox< / a > *row4 = new < a href = "ntqhbox.html" > TQHBox< / a > ( page );
< a href = "ntqhbox.html" > TQHBox< / a > *row5 = new < a href = "ntqhbox.html" > TQHBox< / a > ( page );
< a href = "ntqlabel.html" > TQLabel< / a > *label1 = new < a href = "ntqlabel.html" > TQLabel< / a > ( " First Name: ", row1 );
< a name = "x3" > < / a > label1-> < a href = "ntqlabel.html#setAlignment" > setAlignment< / a > ( TQt::AlignVCenter );
< a href = "ntqlabel.html" > TQLabel< / a > *label2 = new < a href = "ntqlabel.html" > TQLabel< / a > ( " Last Name: ", row2 );
label2-> < a href = "ntqlabel.html#setAlignment" > setAlignment< / a > ( TQt::AlignVCenter );
< a href = "ntqlabel.html" > TQLabel< / a > *label3 = new < a href = "ntqlabel.html" > TQLabel< / a > ( " Address: ", row3 );
label3-> < a href = "ntqlabel.html#setAlignment" > setAlignment< / a > ( TQt::AlignVCenter );
< a href = "ntqlabel.html" > TQLabel< / a > *label4 = new < a href = "ntqlabel.html" > TQLabel< / a > ( " Phone Number: ", row4 );
label4-> < a href = "ntqlabel.html#setAlignment" > setAlignment< / a > ( TQt::AlignVCenter );
< a href = "ntqlabel.html" > TQLabel< / a > *label5 = new < a href = "ntqlabel.html" > TQLabel< / a > ( " E-Mail: ", row5 );
label5-> < a href = "ntqlabel.html#setAlignment" > setAlignment< / a > ( TQt::AlignVCenter );
< a name = "x13" > < / a > label1-> < a href = "ntqwidget.html#setMinimumWidth" > setMinimumWidth< / a > ( label4-> < a href = "ntqwidget.html#sizeHint" > sizeHint< / a > ().width() );
label2-> < a href = "ntqwidget.html#setMinimumWidth" > setMinimumWidth< / a > ( label4-> < a href = "ntqwidget.html#sizeHint" > sizeHint< / a > ().width() );
label3-> < a href = "ntqwidget.html#setMinimumWidth" > setMinimumWidth< / a > ( label4-> < a href = "ntqwidget.html#sizeHint" > sizeHint< / a > ().width() );
label4-> < a href = "ntqwidget.html#setMinimumWidth" > setMinimumWidth< / a > ( label4-> < a href = "ntqwidget.html#sizeHint" > sizeHint< / a > ().width() );
label5-> < a href = "ntqwidget.html#setMinimumWidth" > setMinimumWidth< / a > ( label4-> < a href = "ntqwidget.html#sizeHint" > sizeHint< / a > ().width() );
firstName = new < a href = "ntqlineedit.html" > TQLineEdit< / a > ( row1 );
lastName = new < a href = "ntqlineedit.html" > TQLineEdit< / a > ( row2 );
address = new < a href = "ntqlineedit.html" > TQLineEdit< / a > ( row3 );
phone = new < a href = "ntqlineedit.html" > TQLineEdit< / a > ( row4 );
email = new < a href = "ntqlineedit.html" > TQLineEdit< / a > ( row5 );
< a href = "ntqobject.html#connect" > connect< / a > ( firstName, SIGNAL( < a href = "ntqlineedit.html#textChanged" > textChanged< / a > ( const < a href = "ntqstring.html" > TQString< / a > & ) ),
this, SLOT( dataChanged( const < a href = "ntqstring.html" > TQString< / a > & ) ) );
< a href = "ntqobject.html#connect" > connect< / a > ( lastName, SIGNAL( < a href = "ntqlineedit.html#textChanged" > textChanged< / a > ( const < a href = "ntqstring.html" > TQString< / a > & ) ),
this, SLOT( dataChanged( const < a href = "ntqstring.html" > TQString< / a > & ) ) );
< a href = "ntqobject.html#connect" > connect< / a > ( email, SIGNAL( < a href = "ntqlineedit.html#textChanged" > textChanged< / a > ( const < a href = "ntqstring.html" > TQString< / a > & ) ),
this, SLOT( dataChanged( const < a href = "ntqstring.html" > TQString< / a > & ) ) );
< a href = "ntqwizard.html#addPage" > addPage< / a > ( page2, "Personal Data" );
< a href = "ntqwizard.html#setHelpEnabled" > setHelpEnabled< / a > ( page2, FALSE );
}
void < a name = "f6" > < / a > Wizard::setupPage3()
{
page3 = new < a href = "ntqhbox.html" > TQHBox< / a > ( this );
page3-> < a href = "ntqhbox.html#setSpacing" > setSpacing< / a > (8);
< a href = "ntqlabel.html" > TQLabel< / a > *info = new < a href = "ntqlabel.html" > TQLabel< / a > ( page3 );
info-> < a href = "ntqwidget.html#setPalette" > setPalette< / a > ( yellow );
info-> < a href = "ntqlabel.html#setText" > setText< / a > ( "\n"
"Look here to see of\n"
"the data you entered\n"
"is correct. To confirm,\n"
"press the [Finish] button\n"
"else go back to correct\n"
"mistakes." );
info-> < a href = "ntqframe.html#setMargin" > setMargin< / a > ( 11 );
info-> < a href = "ntqlabel.html#setAlignment" > setAlignment< / a > ( AlignTop|AlignLeft );
info-> < a href = "ntqwidget.html#setMaximumWidth" > setMaximumWidth< / a > ( info-> < a href = "ntqwidget.html#sizeHint" > sizeHint< / a > ().width() );
< a href = "ntqvbox.html" > TQVBox< / a > *page = new < a href = "ntqvbox.html" > TQVBox< / a > ( page3 );
< a href = "ntqhbox.html" > TQHBox< / a > *row1 = new < a href = "ntqhbox.html" > TQHBox< / a > ( page );
< a href = "ntqhbox.html" > TQHBox< / a > *row2 = new < a href = "ntqhbox.html" > TQHBox< / a > ( page );
< a href = "ntqhbox.html" > TQHBox< / a > *row3 = new < a href = "ntqhbox.html" > TQHBox< / a > ( page );
< a href = "ntqhbox.html" > TQHBox< / a > *row4 = new < a href = "ntqhbox.html" > TQHBox< / a > ( page );
< a href = "ntqhbox.html" > TQHBox< / a > *row5 = new < a href = "ntqhbox.html" > TQHBox< / a > ( page );
< a href = "ntqhbox.html" > TQHBox< / a > *row6 = new < a href = "ntqhbox.html" > TQHBox< / a > ( page );
< a href = "ntqlabel.html" > TQLabel< / a > *label1 = new < a href = "ntqlabel.html" > TQLabel< / a > ( " Personal Key: ", row1 );
label1-> < a href = "ntqlabel.html#setAlignment" > setAlignment< / a > ( TQt::AlignVCenter );
< a href = "ntqlabel.html" > TQLabel< / a > *label2 = new < a href = "ntqlabel.html" > TQLabel< / a > ( " First Name: ", row2 );
label2-> < a href = "ntqlabel.html#setAlignment" > setAlignment< / a > ( TQt::AlignVCenter );
< a href = "ntqlabel.html" > TQLabel< / a > *label3 = new < a href = "ntqlabel.html" > TQLabel< / a > ( " Last Name: ", row3 );
label3-> < a href = "ntqlabel.html#setAlignment" > setAlignment< / a > ( TQt::AlignVCenter );
< a href = "ntqlabel.html" > TQLabel< / a > *label4 = new < a href = "ntqlabel.html" > TQLabel< / a > ( " Address: ", row4 );
label4-> < a href = "ntqlabel.html#setAlignment" > setAlignment< / a > ( TQt::AlignVCenter );
< a href = "ntqlabel.html" > TQLabel< / a > *label5 = new < a href = "ntqlabel.html" > TQLabel< / a > ( " Phone Number: ", row5 );
label5-> < a href = "ntqlabel.html#setAlignment" > setAlignment< / a > ( TQt::AlignVCenter );
< a href = "ntqlabel.html" > TQLabel< / a > *label6 = new < a href = "ntqlabel.html" > TQLabel< / a > ( " E-Mail: ", row6 );
label6-> < a href = "ntqlabel.html#setAlignment" > setAlignment< / a > ( TQt::AlignVCenter );
label1-> < a href = "ntqwidget.html#setMinimumWidth" > setMinimumWidth< / a > ( label1-> < a href = "ntqwidget.html#sizeHint" > sizeHint< / a > ().width() );
label2-> < a href = "ntqwidget.html#setMinimumWidth" > setMinimumWidth< / a > ( label1-> < a href = "ntqwidget.html#sizeHint" > sizeHint< / a > ().width() );
label3-> < a href = "ntqwidget.html#setMinimumWidth" > setMinimumWidth< / a > ( label1-> < a href = "ntqwidget.html#sizeHint" > sizeHint< / a > ().width() );
label4-> < a href = "ntqwidget.html#setMinimumWidth" > setMinimumWidth< / a > ( label1-> < a href = "ntqwidget.html#sizeHint" > sizeHint< / a > ().width() );
label5-> < a href = "ntqwidget.html#setMinimumWidth" > setMinimumWidth< / a > ( label1-> < a href = "ntqwidget.html#sizeHint" > sizeHint< / a > ().width() );
label6-> < a href = "ntqwidget.html#setMinimumWidth" > setMinimumWidth< / a > ( label1-> < a href = "ntqwidget.html#sizeHint" > sizeHint< / a > ().width() );
lKey = new < a href = "ntqlabel.html" > TQLabel< / a > ( row1 );
lFirstName = new < a href = "ntqlabel.html" > TQLabel< / a > ( row2 );
lLastName = new < a href = "ntqlabel.html" > TQLabel< / a > ( row3 );
lAddress = new < a href = "ntqlabel.html" > TQLabel< / a > ( row4 );
lPhone = new < a href = "ntqlabel.html" > TQLabel< / a > ( row5 );
lEmail = new < a href = "ntqlabel.html" > TQLabel< / a > ( row6 );
< a href = "ntqwizard.html#addPage" > addPage< / a > ( page3, "Finish" );
< a href = "ntqwizard.html#setFinishEnabled" > setFinishEnabled< / a > ( page3, TRUE );
< a href = "ntqwizard.html#setHelpEnabled" > setHelpEnabled< / a > ( page3, FALSE );
}
< a name = "x15" > < / a > void Wizard::< a href = "ntqwizard.html#showPage" > showPage< / a > ( < a href = "ntqwidget.html" > TQWidget< / a > * page )
{
if ( page == page1 ) {
} else if ( page == page2 ) {
} else if ( page == page3 ) {
< a name = "x8" > < / a > lKey-> < a href = "ntqlabel.html#setText" > setText< / a > ( key-> < a href = "ntqlineedit.html#text" > text< / a > () );
lFirstName-> < a href = "ntqlabel.html#setText" > setText< / a > ( firstName-> < a href = "ntqlineedit.html#text" > text< / a > () );
lLastName-> < a href = "ntqlabel.html#setText" > setText< / a > ( lastName-> < a href = "ntqlineedit.html#text" > text< / a > () );
lAddress-> < a href = "ntqlabel.html#setText" > setText< / a > ( address-> < a href = "ntqlineedit.html#text" > text< / a > () );
lPhone-> < a href = "ntqlabel.html#setText" > setText< / a > ( phone-> < a href = "ntqlineedit.html#text" > text< / a > () );
lEmail-> < a href = "ntqlabel.html#setText" > setText< / a > ( email-> < a href = "ntqlineedit.html#text" > text< / a > () );
}
TQWizard::< a href = "ntqwizard.html#showPage" > showPage< / a > (page);
if ( page == page1 ) {
keyChanged( key-> < a href = "ntqlineedit.html#text" > text< / a > () );
key-> < a href = "ntqwidget.html#setFocus" > setFocus< / a > ();
} else if ( page == page2 ) {
dataChanged( firstName-> < a href = "ntqlineedit.html#text" > text< / a > () );
firstName-> < a href = "ntqwidget.html#setFocus" > setFocus< / a > ();
} else if ( page == page3 ) {
< a href = "ntqwizard.html#finishButton" > finishButton< / a > ()-> setEnabled( TRUE );
< a href = "ntqwizard.html#finishButton" > finishButton< / a > ()-> setFocus();
}
}
void < a name = "f7" > < / a > Wizard::keyChanged( const < a href = "ntqstring.html" > TQString< / a > & text )
{
< a href = "ntqstring.html" > TQString< / a > t = text;
int p = 0;
< a name = "x10" > < / a > bool on = ( key-> < a href = "ntqlineedit.html#validator" > validator< / a > ()-> validate(t, p) == TQValidator::Acceptable );
< a href = "ntqwizard.html#nextButton" > nextButton< / a > ()-> setEnabled( on );
}
void < a name = "f8" > < / a > Wizard::dataChanged( const < a href = "ntqstring.html" > TQString< / a > & )
{
if ( !firstName-> < a href = "ntqlineedit.html#text" > text< / a > ().isEmpty() & &
!lastName-> < a href = "ntqlineedit.html#text" > text< / a > ().isEmpty() & &
!email-> < a href = "ntqlineedit.html#text" > text< / a > ().isEmpty() )
< a href = "ntqwizard.html#nextButton" > nextButton< / a > ()-> setEnabled( TRUE );
else
< a href = "ntqwizard.html#nextButton" > nextButton< / a > ()-> setEnabled( FALSE );
}
< / pre > <!-- eof -->
< p > < address > < hr > < div align = center >
< table width = 100% cellspacing = 0 border = 0 > < tr >
< td > Copyright © 2007
< a href = "troll.html" > Trolltech< / a > < td align = center > < a href = "trademarks.html" > Trademarks< / a >
< td align = right > < div align = right > TQt 3.3.8< / div >
< / table > < / div > < / address > < / body >
< / html >