annotate examples/dialogs/classwizard/classwizard.d @ 321:d458ed66e871 signals

minor stuff
author eldar_ins@eldar-laptop
date Sat, 26 Dec 2009 05:10:16 +0500
parents 256ab6cb8e85
children 7a3c43424dca
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
145
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
1 /****************************************************************************
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
2 **
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
3 ** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
4 ** Contact: Qt Software Information (qt-info@nokia.com)
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
5 **
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
6 ** This file is part of the examples of the Qt Toolkit.
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
7 **
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
8 ** $QT_BEGIN_LICENSE:LGPL$
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
9 ** Commercial Usage
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
10 ** Licensees holding valid Qt Commercial licenses may use this file in
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
11 ** accordance with the Qt Commercial License Agreement provided with the
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
12 ** Software or, alternatively, in accordance with the terms contained in
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
13 ** a written agreement between you and Nokia.
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
14 **
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
15 ** GNU Lesser General Public License Usage
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
16 ** Alternatively, this file may be used under the terms of the GNU Lesser
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
17 ** General Public License version 2.1 as published by the Free Software
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
18 ** Foundation and appearing in the file LICENSE.LGPL included in the
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
19 ** packaging of this file. Please review the following information to
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
20 ** ensure the GNU Lesser General Public License version 2.1 requirements
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
21 ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
22 **
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
23 ** In addition, as a special exception, Nokia gives you certain
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
24 ** additional rights. These rights are described in the Nokia Qt LGPL
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
25 ** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
26 ** package.
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
27 **
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
28 ** GNU General Public License Usage
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
29 ** Alternatively, this file may be used under the terms of the GNU
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
30 ** General Public License version 3.0 as published by the Free Software
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
31 ** Foundation and appearing in the file LICENSE.GPL included in the
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
32 ** packaging of this file. Please review the following information to
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
33 ** ensure the GNU General Public License version 3.0 requirements will be
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
34 ** met: http://www.gnu.org/copyleft/gpl.html.
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
35 **
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
36 ** If you are unsure which license is appropriate for your use, please
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
37 ** contact the sales department at qt-sales@nokia.com.
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
38 ** $QT_END_LICENSE$
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
39 **
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
40 ****************************************************************************/
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
41 module classwizard;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
42
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
43
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
44 import qt.gui.QWizardPage;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
45 import qt.gui.QCheckBox;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
46 import qt.gui.QGroupBox;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
47 import qt.gui.QLabel;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
48 import qt.gui.QLineEdit;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
49 import qt.gui.QRadioButton;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
50 import qt.gui.QMessageBox;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
51 import qt.gui.QVBoxLayout;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
52 import qt.gui.QGridLayout;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
53 import qt.core.QFile;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
54 import qt.core.QDir;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
55 import qt.core.QRegExp;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
56
321
d458ed66e871 minor stuff
eldar_ins@eldar-laptop
parents: 282
diff changeset
57 import std.string : format;
145
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
58
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
59
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
60 class ClassWizard : public QWizard
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
61 {
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
62 public:
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
63
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
64 this(QWidget parent = null)
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
65 {
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
66 super(parent);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
67 addPage(new IntroPage);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
68 addPage(new ClassInfoPage);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
69 addPage(new CodeStylePage);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
70 addPage(new OutputFilesPage);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
71 addPage(new ConclusionPage);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
72
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
73 setPixmap(QWizard.BannerPixmap, new QPixmap(":/images/banner.png"));
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
74 setPixmap(QWizard.BackgroundPixmap, new QPixmap(":/images/background.png"));
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
75
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
76 setWindowTitle(tr("Class Wizard"));
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
77 }
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
78
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
79 void accept()
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
80 {
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
81 string className = field("className").toString();
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
82 string baseClass = field("baseClass").toString();
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
83 string macroName = field("macroName").toString();
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
84 string baseInclude = field("baseInclude").toString();
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
85
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
86 string outputDir = field("outputDir").toString();
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
87 string header = field("header").toString();
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
88 string implementation = field("implementation").toString();
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
89
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
90 string block;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
91
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
92 if (field("comment").toBool()) {
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
93 block ~= "/*\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
94 block ~= " " ~ header ~ "\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
95 block ~= "*/\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
96 block ~= "\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
97 }
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
98 if (field("protect").toBool()) {
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
99 block ~= "#ifndef " ~ macroName ~ "\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
100 block ~= "#define " ~ macroName ~ "\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
101 block ~= "\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
102 }
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
103 if (field("includeBase").toBool()) {
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
104 block ~= "#include " ~ baseInclude ~ "\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
105 block ~= "\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
106 }
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
107
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
108 block ~= "class " ~ className;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
109 if (baseClass.length)
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
110 block ~= " : public " ~ baseClass;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
111 block ~= "\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
112 block ~= "{\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
113
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
114 /* qmake ignore */
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
115
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
116 if (field("qobjectMacro").toBool()) {
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
117 block ~= " \n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
118 block ~= "\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
119 }
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
120 block ~= "public:\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
121
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
122 if (field("qobjectCtor").toBool()) {
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
123 block ~= " " ~ className ~ "(QObject *parent = 0);\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
124 } else if (field("qwidgetCtor").toBool()) {
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
125 block ~= " " ~ className ~ "(QWidget *parent = 0);\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
126 } else if (field("defaultCtor").toBool()) {
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
127 block ~= " " ~ className ~ "();\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
128 if (field("copyCtor").toBool()) {
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
129 block ~= " " ~ className ~ "(const " ~ className ~ " &other);\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
130 block ~= "\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
131 block ~= " " ~ className ~ " &operator=" ~ "(const " ~ className ~ " &other);\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
132 }
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
133 }
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
134 block ~= "};\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
135
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
136 if (field("protect").toBool()) {
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
137 block ~= "\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
138 block ~= "#endif\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
139 }
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
140
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
141 auto headerFile = new QFile(outputDir ~ "/" ~ header);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
142 if (!headerFile.open(QFile.WriteOnly | QFile.Text)) {
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
143 QMessageBox.warning(null, tr("Simple Wizard"),
215
8aaa84d48451 Improve examples.
SokoL_SD
parents: 211
diff changeset
144 format(tr("Cannot write file %s:\n%s"),
145
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
145 headerFile.fileName(),
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
146 headerFile.errorString()));
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
147 return;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
148 }
180
39921f499a22 Fix #26
SokoL_SD
parents: 145
diff changeset
149 headerFile.write(block);
145
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
150
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
151 block.length = 0;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
152
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
153 if (field("comment").toBool()) {
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
154 block ~= "/*\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
155 block ~= " " ~ implementation ~ "\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
156 block ~= "*/\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
157 block ~= "\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
158 }
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
159 block ~= "#include \"" ~ header ~ "\"\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
160 block ~= "\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
161
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
162 if (field("qobjectCtor").toBool()) {
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
163 block ~= className ~ "." ~ className ~ "(QObject *parent)\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
164 block ~= " : " ~ baseClass ~ "(parent)\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
165 block ~= "{\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
166 block ~= "}\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
167 } else if (field("qwidgetCtor").toBool()) {
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
168 block ~= className ~ "." ~ className ~ "(QWidget *parent)\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
169 block ~= " : " ~ baseClass ~ "(parent)\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
170 block ~= "{\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
171 block ~= "}\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
172 } else if (field("defaultCtor").toBool()) {
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
173 block ~= className ~ "." ~ className ~ "()\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
174 block ~= "{\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
175 block ~= " // missing code\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
176 block ~= "}\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
177
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
178 if (field("copyCtor").toBool()) {
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
179 block ~= "\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
180 block ~= className ~ "." ~ className ~ "(const " ~ className ~ " &other)\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
181 block ~= "{\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
182 block ~= " *this = other;\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
183 block ~= "}\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
184 block ~= "\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
185 block ~= className ~ " &" ~ className ~ ".operator=(const " ~ className ~ " &other)\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
186 block ~= "{\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
187 if (baseClass.length)
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
188 block ~= " " ~ baseClass ~ ".operator=(other);\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
189 block ~= " // missing code\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
190 block ~= " return *this;\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
191 block ~= "}\n";
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
192 }
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
193 }
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
194
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
195 auto implementationFile = new QFile(outputDir ~ "/" ~ implementation);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
196 if (!implementationFile.open(QFile.WriteOnly | QFile.Text)) {
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
197 QMessageBox.warning(null, tr("Simple Wizard"),
215
8aaa84d48451 Improve examples.
SokoL_SD
parents: 211
diff changeset
198 format(tr("Cannot write file %s:\n%s"),
145
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
199 implementationFile.fileName(),
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
200 implementationFile.errorString()));
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
201 return;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
202 }
180
39921f499a22 Fix #26
SokoL_SD
parents: 145
diff changeset
203 implementationFile.write(block);
145
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
204
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
205 QDialog.accept();
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
206 }
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
207 }
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
208
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
209
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
210 class IntroPage : public QWizardPage
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
211 {
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
212 public:
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
213
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
214 this(QWidget parent = null)
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
215 {
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
216 super(parent);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
217 setTitle(tr("Introduction"));
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
218 setPixmap(QWizard.WatermarkPixmap, new QPixmap(":/images/watermark1.png"));
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
219
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
220 label = new QLabel(tr("This wizard will generate a skeleton C++ class "
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
221 "definition, including a few functions. You simply "
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
222 "need to specify the class name and set a few "
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
223 "options to produce a header file and an "
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
224 "implementation file for your new C++ class."));
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
225 label.setWordWrap(true);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
226
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
227 QVBoxLayout layout = new QVBoxLayout;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
228 layout.addWidget(label);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
229 setLayout(layout);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
230 }
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
231
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
232 private:
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
233
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
234 QLabel label;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
235 }
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
236
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
237 class ClassInfoPage : public QWizardPage
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
238 {
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
239 public:
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
240
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
241 this(QWidget parent = null)
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
242 {
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
243 super(parent);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
244 setTitle(tr("Class Information"));
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
245 setSubTitle(tr("Specify basic information about the class for which you want to generate skeleton source code files."));
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
246 setPixmap(QWizard.LogoPixmap, new QPixmap(":/images/logo1.png"));
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
247
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
248 classNameLabel = new QLabel(tr("&Class name:"));
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
249 classNameLineEdit = new QLineEdit;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
250 classNameLabel.setBuddy(classNameLineEdit);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
251
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
252 baseClassLabel = new QLabel(tr("B&ase class:"));
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
253 baseClassLineEdit = new QLineEdit;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
254 baseClassLabel.setBuddy(baseClassLineEdit);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
255
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
256 qobjectMacroCheckBox = new QCheckBox(tr("Generate &macro"));
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
257
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
258 groupBox = new QGroupBox(tr("C&onstructor"));
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
259
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
260 qobjectCtorRadioButton = new QRadioButton(tr("&QObject-style constructor"));
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
261 qwidgetCtorRadioButton = new QRadioButton(tr("Q&Widget-style constructor"));
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
262 defaultCtorRadioButton = new QRadioButton(tr("&Default constructor"));
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
263 copyCtorCheckBox = new QCheckBox(tr("&Generate copy constructor and operator="));
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
264
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
265 defaultCtorRadioButton.setChecked(true);
282
256ab6cb8e85 Signals look-up andNew syntax for connect. The old one will not work from now on. This will allow for the signals overload. Although changes are done for both D1 and D2 versions, D1 won't work because of compiler bugs. I am tired of waiting for fixes.
eldar
parents: 215
diff changeset
266 connect!("toggled")(defaultCtorRadioButton, &copyCtorCheckBox.setEnabled);
145
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
267
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
268 registerField("className*", classNameLineEdit);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
269 registerField("baseClass", baseClassLineEdit);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
270 registerField("qobjectMacro", qobjectMacroCheckBox);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
271 registerField("qobjectCtor", qobjectCtorRadioButton);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
272 registerField("qwidgetCtor", qwidgetCtorRadioButton);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
273 registerField("defaultCtor", defaultCtorRadioButton);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
274 registerField("copyCtor", copyCtorCheckBox);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
275
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
276 QVBoxLayout groupBoxLayout = new QVBoxLayout;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
277
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
278 groupBoxLayout.addWidget(qobjectCtorRadioButton);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
279 groupBoxLayout.addWidget(qwidgetCtorRadioButton);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
280 groupBoxLayout.addWidget(defaultCtorRadioButton);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
281 groupBoxLayout.addWidget(copyCtorCheckBox);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
282 groupBox.setLayout(groupBoxLayout);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
283
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
284 QGridLayout layout = new QGridLayout;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
285 layout.addWidget(classNameLabel, 0, 0);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
286 layout.addWidget(classNameLineEdit, 0, 1);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
287 layout.addWidget(baseClassLabel, 1, 0);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
288 layout.addWidget(baseClassLineEdit, 1, 1);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
289 layout.addWidget(qobjectMacroCheckBox, 2, 0, 1, 2);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
290 layout.addWidget(groupBox, 3, 0, 1, 2);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
291 setLayout(layout);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
292 }
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
293
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
294 private:
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
295
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
296 QLabel classNameLabel;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
297 QLabel baseClassLabel;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
298 QLineEdit classNameLineEdit;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
299 QLineEdit baseClassLineEdit;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
300 QCheckBox qobjectMacroCheckBox;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
301 QGroupBox groupBox;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
302 QRadioButton qobjectCtorRadioButton;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
303 QRadioButton qwidgetCtorRadioButton;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
304 QRadioButton defaultCtorRadioButton;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
305 QCheckBox copyCtorCheckBox;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
306 }
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
307
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
308 class CodeStylePage : public QWizardPage
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
309 {
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
310 public:
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
311
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
312 this(QWidget parent = null)
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
313 {
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
314 super(parent);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
315 setTitle(tr("Code Style Options"));
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
316 setSubTitle(tr("Choose the formatting of the generated code."));
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
317 setPixmap(QWizard.LogoPixmap, new QPixmap(":/images/logo2.png"));
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
318
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
319 commentCheckBox = new QCheckBox(tr("&Start generated files with a comment"));
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
320 commentCheckBox.setChecked(true);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
321
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
322 protectCheckBox = new QCheckBox(tr("&Protect header file against multiple inclusions"));
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
323 protectCheckBox.setChecked(true);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
324
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
325 macroNameLabel = new QLabel(tr("&Macro name:"));
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
326 macroNameLineEdit = new QLineEdit;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
327 macroNameLabel.setBuddy(macroNameLineEdit);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
328
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
329 includeBaseCheckBox = new QCheckBox(tr("&Include base class definition"));
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
330 baseIncludeLabel = new QLabel(tr("Base class include:"));
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
331 baseIncludeLineEdit = new QLineEdit;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
332 baseIncludeLabel.setBuddy(baseIncludeLineEdit);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
333
282
256ab6cb8e85 Signals look-up andNew syntax for connect. The old one will not work from now on. This will allow for the signals overload. Although changes are done for both D1 and D2 versions, D1 won't work because of compiler bugs. I am tired of waiting for fixes.
eldar
parents: 215
diff changeset
334 connect!("toggled")(protectCheckBox, &macroNameLabel.setEnabled);
256ab6cb8e85 Signals look-up andNew syntax for connect. The old one will not work from now on. This will allow for the signals overload. Although changes are done for both D1 and D2 versions, D1 won't work because of compiler bugs. I am tired of waiting for fixes.
eldar
parents: 215
diff changeset
335 connect!("toggled")(includeBaseCheckBox, &macroNameLabel.setEnabled);
145
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
336
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
337 registerField("comment", commentCheckBox);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
338 registerField("protect", protectCheckBox);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
339 registerField("macroName", macroNameLineEdit);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
340 registerField("includeBase", includeBaseCheckBox);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
341 registerField("baseInclude", baseIncludeLineEdit);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
342
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
343 QGridLayout layout = new QGridLayout;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
344 layout.setColumnMinimumWidth(0, 20);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
345 layout.addWidget(commentCheckBox, 0, 0, 1, 3);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
346 layout.addWidget(protectCheckBox, 1, 0, 1, 3);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
347 layout.addWidget(macroNameLabel, 2, 1);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
348 layout.addWidget(macroNameLineEdit, 2, 2);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
349 layout.addWidget(includeBaseCheckBox, 3, 0, 1, 3);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
350 layout.addWidget(baseIncludeLabel, 4, 1);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
351 layout.addWidget(baseIncludeLineEdit, 4, 2);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
352
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
353 setLayout(layout);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
354 }
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
355
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
356 protected:
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
357
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
358 void initializePage()
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
359 {
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
360 string className = field("className").toString();
211
7ea67ec3cf29 another fixes in examples
SokoL_SD
parents: 180
diff changeset
361 macroNameLineEdit.setText(toupper(className) ~ "_H");
145
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
362
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
363 string baseClass = field("baseClass").toString();
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
364
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
365 includeBaseCheckBox.setChecked(baseClass.length != 0);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
366 includeBaseCheckBox.setEnabled(baseClass.length != 0);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
367 baseIncludeLabel.setEnabled(baseClass.length != 0);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
368 baseIncludeLineEdit.setEnabled(baseClass.length != 0);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
369
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
370 if (baseClass.length == 0) {
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
371 baseIncludeLineEdit.clear();
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
372 } else if ((new QRegExp("Q[A-Z].*")).exactMatch(baseClass)) {
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
373 baseIncludeLineEdit.setText("<" ~ baseClass ~ ">");
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
374 } else {
211
7ea67ec3cf29 another fixes in examples
SokoL_SD
parents: 180
diff changeset
375 baseIncludeLineEdit.setText("\"" ~ tolower(baseClass) ~ ".h\"");
145
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
376 }
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
377 }
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
378
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
379 private:
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
380
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
381 QCheckBox commentCheckBox;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
382 QCheckBox protectCheckBox;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
383 QCheckBox includeBaseCheckBox;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
384 QLabel macroNameLabel;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
385 QLabel baseIncludeLabel;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
386 QLineEdit macroNameLineEdit;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
387 QLineEdit baseIncludeLineEdit;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
388 }
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
389
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
390 class OutputFilesPage : public QWizardPage
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
391 {
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
392 public:
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
393
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
394 this(QWidget parent = null)
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
395 {
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
396 super(parent);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
397 setTitle(tr("Output Files"));
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
398 setSubTitle(tr("Specify where you want the wizard to put the generated skeleton code."));
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
399 setPixmap(QWizard.LogoPixmap, new QPixmap(":/images/logo3.png"));
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
400
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
401 outputDirLabel = new QLabel(tr("&Output directory:"));
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
402 outputDirLineEdit = new QLineEdit;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
403 outputDirLabel.setBuddy(outputDirLineEdit);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
404
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
405 headerLabel = new QLabel(tr("&Header file name:"));
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
406 headerLineEdit = new QLineEdit;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
407 headerLabel.setBuddy(headerLineEdit);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
408
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
409 implementationLabel = new QLabel(tr("&Implementation file name:"));
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
410 implementationLineEdit = new QLineEdit;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
411 implementationLabel.setBuddy(implementationLineEdit);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
412
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
413 registerField("outputDir*", outputDirLineEdit);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
414 registerField("header*", headerLineEdit);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
415 registerField("implementation*", implementationLineEdit);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
416
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
417 QGridLayout layout = new QGridLayout;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
418 layout.addWidget(outputDirLabel, 0, 0);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
419 layout.addWidget(outputDirLineEdit, 0, 1);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
420 layout.addWidget(headerLabel, 1, 0);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
421 layout.addWidget(headerLineEdit, 1, 1);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
422 layout.addWidget(implementationLabel, 2, 0);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
423 layout.addWidget(implementationLineEdit, 2, 1);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
424 setLayout(layout);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
425 }
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
426
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
427 protected:
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
428
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
429 void initializePage()
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
430 {
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
431 string className = field("className").toString();
211
7ea67ec3cf29 another fixes in examples
SokoL_SD
parents: 180
diff changeset
432 headerLineEdit.setText(tolower(className) ~ ".h");
7ea67ec3cf29 another fixes in examples
SokoL_SD
parents: 180
diff changeset
433 implementationLineEdit.setText(tolower(className) ~ ".cpp");
145
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
434 outputDirLineEdit.setText(QDir.convertSeparators(QDir.tempPath()));
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
435 }
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
436
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
437 private:
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
438
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
439 QLabel outputDirLabel;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
440 QLabel headerLabel;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
441 QLabel implementationLabel;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
442 QLineEdit outputDirLineEdit;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
443 QLineEdit headerLineEdit;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
444 QLineEdit implementationLineEdit;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
445 }
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
446
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
447 class ConclusionPage : public QWizardPage
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
448 {
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
449 public:
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
450
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
451 this(QWidget parent = null)
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
452 {
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
453 super(parent);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
454 setTitle(tr("Conclusion"));
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
455 setPixmap(QWizard.WatermarkPixmap, new QPixmap(":/images/watermark2.png"));
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
456
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
457 label = new QLabel;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
458 label.setWordWrap(true);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
459
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
460 QVBoxLayout layout = new QVBoxLayout;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
461 layout.addWidget(label);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
462 setLayout(layout);
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
463 }
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
464
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
465 protected:
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
466
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
467 void initializePage()
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
468 {
211
7ea67ec3cf29 another fixes in examples
SokoL_SD
parents: 180
diff changeset
469 string finishText = wizard().buttonText(QWizard.FinishButton);
215
8aaa84d48451 Improve examples.
SokoL_SD
parents: 211
diff changeset
470 // TODO: port to D2: auto pos = remove(finishText, '&');
8aaa84d48451 Improve examples.
SokoL_SD
parents: 211
diff changeset
471 label.setText(format(tr("Click %s to generate the class skeleton."), finishText));
145
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
472 }
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
473
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
474 private:
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
475
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
476 QLabel label;
7648ee2e023b fix classwizard
mandel
parents:
diff changeset
477 }