1 /****************************************************************************
2 **
3 ** Copyright (C) 2016 The Qt Company Ltd.
4 ** Contact: https://www.qt.io/licensing/
5 **
6 ** This file is part of the examples of the Qt Toolkit.
7 **
8 ** $QT_BEGIN_LICENSE:BSD$
9 ** Commercial License Usage
10 ** Licensees holding valid commercial Qt licenses may use this file in
11 ** accordance with the commercial license agreement provided with the
12 ** Software or, alternatively, in accordance with the terms contained in
13 ** a written agreement between you and The Qt Company. For licensing terms
14 ** and conditions see https://www.qt.io/terms-conditions. For further
15 ** information use the contact form at https://www.qt.io/contact-us.
16 **
17 ** BSD License Usage
18 ** Alternatively, you may use this file under the terms of the BSD license
19 ** as follows:
20 **
21 ** "Redistribution and use in source and binary forms, with or without
22 ** modification, are permitted provided that the following conditions are
23 ** met:
24 **   * Redistributions of source code must retain the above copyright
25 **     notice, this list of conditions and the following disclaimer.
26 **   * Redistributions in binary form must reproduce the above copyright
27 **     notice, this list of conditions and the following disclaimer in
28 **     the documentation and/or other materials provided with the
29 **     distribution.
30 **   * Neither the name of The Qt Company Ltd nor the names of its
31 **     contributors may be used to endorse or promote products derived
32 **     from this software without specific prior written permission.
33 **
34 **
35 ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
36 ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
37 ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
38 ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
39 ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
40 ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
41 ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
42 ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
43 ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
44 ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
45 ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
46 **
47 ** $QT_END_LICENSE$
48 **
49 ****************************************************************************/
50 
51 #ifndef LICENSEWIZARD_H
52 #define LICENSEWIZARD_H
53 
54 #include <QWizard>
55 
56 QT_BEGIN_NAMESPACE
57 class QCheckBox;
58 class QLabel;
59 class QLineEdit;
60 class QRadioButton;
61 QT_END_NAMESPACE
62 
63 //! [0] //! [1]
64 class LicenseWizard (QWizard):
65 //! [0]
66 //! [2]
67     Page_Intro = 1
68     Page_Evaluate = 2
69     Page_Register = 3
70     Page_Details = 4
71     Page_Conclusion = 5
72 //! [2]
73 
74     def __init__(self, parent):
75         ...
76 
77     def showHelp(self):
78         ...
79 //! [3]
80 
81 //! [1] //! [3]
82 
83 //! [4]
84 class IntroPage : public QWizardPage
85 {
86     Q_OBJECT
87 
88 public:
89     IntroPage(QWidget *parent = 0);
90 
91     int nextId() const;
92 
93 private:
94     QLabel *topLabel;
95     QRadioButton *registerRadioButton;
96     QRadioButton *evaluateRadioButton;
97 };
98 //! [4]
99 
100 //! [5]
101 class EvaluatePage : public QWizardPage
102 {
103     Q_OBJECT
104 
105 public:
106     EvaluatePage(QWidget *parent = 0);
107 
108     int nextId() const;
109 
110 private:
111     QLabel *nameLabel;
112     QLabel *emailLabel;
113     QLineEdit *nameLineEdit;
114     QLineEdit *emailLineEdit;
115 };
116 //! [5]
117 
118 class RegisterPage : public QWizardPage
119 {
120     Q_OBJECT
121 
122 public:
123     RegisterPage(QWidget *parent = 0);
124 
125     int nextId() const;
126 
127 private:
128     QLabel *nameLabel;
129     QLabel *upgradeKeyLabel;
130     QLineEdit *nameLineEdit;
131     QLineEdit *upgradeKeyLineEdit;
132 };
133 
134 class DetailsPage : public QWizardPage
135 {
136     Q_OBJECT
137 
138 public:
139     DetailsPage(QWidget *parent = 0);
140 
141     int nextId() const;
142 
143 private:
144     QLabel *companyLabel;
145     QLabel *emailLabel;
146     QLabel *postalLabel;
147     QLineEdit *companyLineEdit;
148     QLineEdit *emailLineEdit;
149     QLineEdit *postalLineEdit;
150 };
151 
152 //! [6]
153 class ConclusionPage : public QWizardPage
154 {
155     Q_OBJECT
156 
157 public:
158     ConclusionPage(QWidget *parent = 0);
159 
160     void initializePage();
161     int nextId() const;
162     void setVisible(bool visible);
163 
164 private slots:
165     void printButtonClicked();
166 
167 private:
168     QLabel *bottomLabel;
169     QCheckBox *agreeCheckBox;
170 };
171 //! [6]
172 
173 #endif
174