summaryrefslogtreecommitdiffstats
path: root/qtjava/javalib/examples/wizard
diff options
context:
space:
mode:
Diffstat (limited to 'qtjava/javalib/examples/wizard')
-rw-r--r--qtjava/javalib/examples/wizard/Main.java29
-rw-r--r--qtjava/javalib/examples/wizard/Wizard.java237
2 files changed, 266 insertions, 0 deletions
diff --git a/qtjava/javalib/examples/wizard/Main.java b/qtjava/javalib/examples/wizard/Main.java
new file mode 100644
index 00000000..9f689214
--- /dev/null
+++ b/qtjava/javalib/examples/wizard/Main.java
@@ -0,0 +1,29 @@
+/***************************************************************************
+* $Id$
+**
+* Copyright (C) 1992-2000 Trolltech AS. All rights reserved.
+**
+* This file is part of an example program for Qt. This example
+* program may be used, distributed and modified without limitation.
+**
+****************************************************************************/
+
+import org.kde.qt.*;
+
+public class Main {
+
+public static void main(String[] args)
+{
+ QApplication a = new QApplication( args );
+
+ Wizard wizard = new Wizard();
+ wizard.setCaption("Qt Example - Wizard");
+ wizard.show();
+ a.exec();
+ return;
+}
+
+ static {
+ qtjava.initialize();
+ }
+}
diff --git a/qtjava/javalib/examples/wizard/Wizard.java b/qtjava/javalib/examples/wizard/Wizard.java
new file mode 100644
index 00000000..dd0659dc
--- /dev/null
+++ b/qtjava/javalib/examples/wizard/Wizard.java
@@ -0,0 +1,237 @@
+/***************************************************************************
+* $Id$
+**
+* Copyright (C) 1992-2000 Trolltech AS. All rights reserved.
+**
+* This file is part of an example program for Qt. This example
+* program may be used, distributed and modified without limitation.
+**
+****************************************************************************/
+
+import org.kde.qt.*;
+
+class Wizard extends QWizard
+{
+protected QHBox page1, page2, page3;
+protected QLineEdit key, firstName, lastName, address, phone, email;
+protected QLabel lKey, lFirstName, lLastName, lAddress, lPhone, lEmail;
+
+
+
+
+Wizard( )
+{
+ this(null, null);
+}
+
+Wizard( QWidget parent, String name )
+{
+ super( parent, name, true );
+ setupPage1();
+ setupPage2();
+ setupPage3();
+ connect(this, SIGNAL("selected(String)"), this, SLOT("doShowPage(String)"));
+ connect(finishButton(), SIGNAL("clicked()"), qApp(), SLOT("quit()"));
+ key.setFocus();
+}
+
+void setupPage1()
+{
+ page1 = new QHBox( this );
+ page1.setSpacing(8);
+
+ QLabel info = new QLabel( page1 );
+ info.setPalette( new QPalette(yellow()) );
+ info.setText( "Enter your personal\n"
+ + "key here.\n\n"
+ + "Your personal key\n"
+ + "consists of 4 digits" );
+ info.setIndent( 8 );
+ info.setMaximumWidth( info.sizeHint().width() );
+
+ QVBox page = new QVBox( page1 );
+
+ QHBox row1 = new QHBox( page );
+
+ new QLabel( "Key:", row1 );
+
+ key = new QLineEdit( row1 );
+ key.setMaxLength( 4 );
+ key.setValidator( new QIntValidator( 1000, 9999, key ) );
+
+ connect( key, SIGNAL(" textChanged( String )"),
+ this, SLOT(" keyChanged( String )") );
+
+ addPage( page1, "Personal Key" );
+
+ setNextEnabled( page1, false );
+ setHelpEnabled( page1, false );
+}
+
+void setupPage2()
+{
+ page2 = new QHBox( this );
+ page2.setSpacing(8);
+
+ QLabel info = new QLabel( page2 );
+ info.setPalette( new QPalette(yellow()) );
+ info.setText( "\n"
+ + " Enter your personal \n"
+ + " data here. \n\n"
+ + " The required fields are \n"
+ + " First Name, Last Name \n"
+ + " and E-Mail. \n" );
+ info.setIndent(8);
+ info.setMaximumWidth( info.sizeHint().width() );
+
+ QVBox page = new QVBox( page2 );
+
+ QHBox row1 = new QHBox( page );
+ QHBox row2 = new QHBox( page );
+ QHBox row3 = new QHBox( page );
+ QHBox row4 = new QHBox( page );
+ QHBox row5 = new QHBox( page );
+
+ QLabel label1 = new QLabel( " First Name: ", row1 );
+ label1.setAlignment( Qt.AlignVCenter );
+ QLabel label2 = new QLabel( " Last Name: ", row2 );
+ label2.setAlignment( Qt.AlignVCenter );
+ QLabel label3 = new QLabel( " Address: ", row3 );
+ label3.setAlignment( Qt.AlignVCenter );
+ QLabel label4 = new QLabel( " Phone Number: ", row4 );
+ label4.setAlignment( Qt.AlignVCenter );
+ QLabel label5 = new QLabel( " E-Mail: ", row5 );
+ label5.setAlignment( Qt.AlignVCenter );
+
+ label1.setMinimumWidth( label4.sizeHint().width() );
+ label2.setMinimumWidth( label4.sizeHint().width() );
+ label3.setMinimumWidth( label4.sizeHint().width() );
+ label4.setMinimumWidth( label4.sizeHint().width() );
+ label5.setMinimumWidth( label4.sizeHint().width() );
+
+ firstName = new QLineEdit( row1 );
+ lastName = new QLineEdit( row2 );
+ address = new QLineEdit( row3 );
+ phone = new QLineEdit( row4 );
+ email = new QLineEdit( row5 );
+
+ connect( firstName, SIGNAL(" textChanged( String )"),
+ this, SLOT(" dataChanged( String )") );
+ connect( lastName, SIGNAL(" textChanged( String )"),
+ this, SLOT(" dataChanged( String )") );
+ connect( email, SIGNAL(" textChanged( String )"),
+ this, SLOT(" dataChanged( String )") );
+
+ addPage( page2, "Personal Data" );
+
+ setHelpEnabled( page2, false );
+}
+
+void setupPage3()
+{
+ page3 = new QHBox( this );
+ page3.setSpacing(8);
+
+ QLabel info = new QLabel( page3 );
+ info.setPalette( new QPalette(yellow()) );
+ info.setText( "\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.setIndent(8);
+ info.setAlignment( AlignTop|AlignLeft );
+ info.setMaximumWidth( info.sizeHint().width() );
+
+ QVBox page = new QVBox( page3 );
+
+ QHBox row1 = new QHBox( page );
+ QHBox row2 = new QHBox( page );
+ QHBox row3 = new QHBox( page );
+ QHBox row4 = new QHBox( page );
+ QHBox row5 = new QHBox( page );
+ QHBox row6 = new QHBox( page );
+
+ QLabel label1 = new QLabel( " Personal Key: ", row1 );
+ label1.setAlignment( Qt.AlignVCenter );
+ QLabel label2 = new QLabel( " First Name: ", row2 );
+ label2.setAlignment( Qt.AlignVCenter );
+ QLabel label3 = new QLabel( " Last Name: ", row3 );
+ label3.setAlignment( Qt.AlignVCenter );
+ QLabel label4 = new QLabel( " Address: ", row4 );
+ label4.setAlignment( Qt.AlignVCenter );
+ QLabel label5 = new QLabel( " Phone Number: ", row5 );
+ label5.setAlignment( Qt.AlignVCenter );
+ QLabel label6 = new QLabel( " E-Mail: ", row6 );
+ label6.setAlignment( Qt.AlignVCenter );
+
+ label1.setMinimumWidth( label1.sizeHint().width() );
+ label2.setMinimumWidth( label1.sizeHint().width() );
+ label3.setMinimumWidth( label1.sizeHint().width() );
+ label4.setMinimumWidth( label1.sizeHint().width() );
+ label5.setMinimumWidth( label1.sizeHint().width() );
+ label6.setMinimumWidth( label1.sizeHint().width() );
+
+ lKey = new QLabel( row1 );
+ lFirstName = new QLabel( row2 );
+ lLastName = new QLabel( row3 );
+ lAddress = new QLabel( row4 );
+ lPhone = new QLabel( row5 );
+ lEmail = new QLabel( row6 );
+
+ addPage( page3, "Finish" );
+
+ setFinish( page3, true );
+ setHelpEnabled( page3, false );
+}
+
+// The QWizard.showPage() virtual method callback isn't implemented in the java
+// bindings yet, so use the selected() signal connected to this slot 'doShowPage()'
+// instead..
+public void doShowPage( String title )
+{
+ QWidget page = currentPage();
+
+ if ( page == page1 ) {
+ } else if ( page == page2 ) {
+ } else if ( page == page3 ) {
+ lKey.setText( key.text() );
+ lFirstName.setText( firstName.text() );
+ lLastName.setText( lastName.text() );
+ lAddress.setText( address.text() );
+ lPhone.setText( phone.text() );
+ lEmail.setText( email.text() );
+ }
+
+ if ( page == page1 ) {
+ keyChanged( key.text() );
+ key.setFocus();
+ } else if ( page == page2 ) {
+ dataChanged( firstName.text() );
+ firstName.setFocus();
+ } else if ( page == page3 ) {
+ finishButton().setEnabled( true );
+ finishButton().setFocus();
+ }
+}
+
+void keyChanged( String text )
+{
+ StringBuffer t = new StringBuffer(text);
+ int[] p = { 0 };
+ boolean on = ( key.validator().validate(t, p) == QValidator.Acceptable );
+ nextButton().setEnabled( on );
+}
+
+void dataChanged( String s )
+{
+ if ( !firstName.text().equals("") &&
+ !lastName.text().equals("") &&
+ !email.text().equals("") )
+ nextButton().setEnabled( true );
+ else
+ nextButton().setEnabled( false );
+}
+}