annotate tools/duic/uic.cpp @ 414:b2a803c73b89 default tip

Declare tabArray const.
author David Nadlinger <code@klickverbot.at>
date Fri, 06 May 2011 13:39:49 +0200
parents e78566595089
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
e78566595089 initial import
mandel
parents:
diff changeset
1 /****************************************************************************
e78566595089 initial import
mandel
parents:
diff changeset
2 **
e78566595089 initial import
mandel
parents:
diff changeset
3 ** Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
e78566595089 initial import
mandel
parents:
diff changeset
4 ** Contact: Qt Software Information (qt-info@nokia.com)
e78566595089 initial import
mandel
parents:
diff changeset
5 **
e78566595089 initial import
mandel
parents:
diff changeset
6 ** This file is part of the tools applications of the Qt Toolkit.
e78566595089 initial import
mandel
parents:
diff changeset
7 **
e78566595089 initial import
mandel
parents:
diff changeset
8 ** Commercial Usage
e78566595089 initial import
mandel
parents:
diff changeset
9 ** Licensees holding valid Qt Commercial licenses may use this file in
e78566595089 initial import
mandel
parents:
diff changeset
10 ** accordance with the Qt Commercial License Agreement provided with the
e78566595089 initial import
mandel
parents:
diff changeset
11 ** Software or, alternatively, in accordance with the terms contained in
e78566595089 initial import
mandel
parents:
diff changeset
12 ** a written agreement between you and Nokia.
e78566595089 initial import
mandel
parents:
diff changeset
13 **
e78566595089 initial import
mandel
parents:
diff changeset
14 **
e78566595089 initial import
mandel
parents:
diff changeset
15 ** GNU General Public License Usage
e78566595089 initial import
mandel
parents:
diff changeset
16 ** Alternatively, this file may be used under the terms of the GNU
e78566595089 initial import
mandel
parents:
diff changeset
17 ** General Public License versions 2.0 or 3.0 as published by the Free
e78566595089 initial import
mandel
parents:
diff changeset
18 ** Software Foundation and appearing in the file LICENSE.GPL included in
e78566595089 initial import
mandel
parents:
diff changeset
19 ** the packaging of this file. Please review the following information
e78566595089 initial import
mandel
parents:
diff changeset
20 ** to ensure GNU General Public Licensing requirements will be met:
e78566595089 initial import
mandel
parents:
diff changeset
21 ** http://www.fsf.org/licensing/licenses/info/GPLv2.html and
e78566595089 initial import
mandel
parents:
diff changeset
22 ** http://www.gnu.org/copyleft/gpl.html. In addition, as a special
e78566595089 initial import
mandel
parents:
diff changeset
23 ** exception, Nokia gives you certain additional rights. These rights
e78566595089 initial import
mandel
parents:
diff changeset
24 ** are described in the Nokia Qt GPL Exception version 1.3, included in
e78566595089 initial import
mandel
parents:
diff changeset
25 ** the file GPL_EXCEPTION.txt in this package.
e78566595089 initial import
mandel
parents:
diff changeset
26 **
e78566595089 initial import
mandel
parents:
diff changeset
27 ** Qt for Windows(R) Licensees
e78566595089 initial import
mandel
parents:
diff changeset
28 ** As a special exception, Nokia, as the sole copyright holder for Qt
e78566595089 initial import
mandel
parents:
diff changeset
29 ** Designer, grants users of the Qt/Eclipse Integration plug-in the
e78566595089 initial import
mandel
parents:
diff changeset
30 ** right for the Qt/Eclipse Integration to link to functionality
e78566595089 initial import
mandel
parents:
diff changeset
31 ** provided by Qt Designer and its related libraries.
e78566595089 initial import
mandel
parents:
diff changeset
32 **
e78566595089 initial import
mandel
parents:
diff changeset
33 ** If you are unsure which license is appropriate for your use, please
e78566595089 initial import
mandel
parents:
diff changeset
34 ** contact the sales department at qt-sales@nokia.com.
e78566595089 initial import
mandel
parents:
diff changeset
35 **
e78566595089 initial import
mandel
parents:
diff changeset
36 ****************************************************************************/
e78566595089 initial import
mandel
parents:
diff changeset
37
e78566595089 initial import
mandel
parents:
diff changeset
38 #include "uic.h"
e78566595089 initial import
mandel
parents:
diff changeset
39 #include "ui4.h"
e78566595089 initial import
mandel
parents:
diff changeset
40 #include "driver.h"
e78566595089 initial import
mandel
parents:
diff changeset
41 #include "option.h"
e78566595089 initial import
mandel
parents:
diff changeset
42 #include "treewalker.h"
e78566595089 initial import
mandel
parents:
diff changeset
43 #include "validator.h"
e78566595089 initial import
mandel
parents:
diff changeset
44
e78566595089 initial import
mandel
parents:
diff changeset
45 #ifdef QT_UIC_D_GENERATOR
e78566595089 initial import
mandel
parents:
diff changeset
46 #include "dwriteincludes.h"
e78566595089 initial import
mandel
parents:
diff changeset
47 #include "dwritedeclaration.h"
e78566595089 initial import
mandel
parents:
diff changeset
48 #endif
e78566595089 initial import
mandel
parents:
diff changeset
49
e78566595089 initial import
mandel
parents:
diff changeset
50 #ifdef QT_UIC_JAVA_GENERATOR
e78566595089 initial import
mandel
parents:
diff changeset
51 #include "javawriteincludes.h"
e78566595089 initial import
mandel
parents:
diff changeset
52 #include "javawritedeclaration.h"
e78566595089 initial import
mandel
parents:
diff changeset
53 #endif
e78566595089 initial import
mandel
parents:
diff changeset
54
e78566595089 initial import
mandel
parents:
diff changeset
55 #include <QtXml/QDomDocument>
e78566595089 initial import
mandel
parents:
diff changeset
56 #include <QtCore/QFileInfo>
e78566595089 initial import
mandel
parents:
diff changeset
57 #include <QtCore/QRegExp>
e78566595089 initial import
mandel
parents:
diff changeset
58 #include <QtCore/QTextStream>
e78566595089 initial import
mandel
parents:
diff changeset
59 #include <QtCore/QDateTime>
e78566595089 initial import
mandel
parents:
diff changeset
60
e78566595089 initial import
mandel
parents:
diff changeset
61 #if defined Q_WS_WIN
e78566595089 initial import
mandel
parents:
diff changeset
62 #include <qt_windows.h>
e78566595089 initial import
mandel
parents:
diff changeset
63 #endif
e78566595089 initial import
mandel
parents:
diff changeset
64
e78566595089 initial import
mandel
parents:
diff changeset
65 QT_BEGIN_NAMESPACE
e78566595089 initial import
mandel
parents:
diff changeset
66
e78566595089 initial import
mandel
parents:
diff changeset
67 Uic::Uic(Driver *d)
e78566595089 initial import
mandel
parents:
diff changeset
68 : drv(d),
e78566595089 initial import
mandel
parents:
diff changeset
69 out(d->output()),
e78566595089 initial import
mandel
parents:
diff changeset
70 opt(d->option()),
e78566595089 initial import
mandel
parents:
diff changeset
71 info(d),
e78566595089 initial import
mandel
parents:
diff changeset
72 externalPix(true)
e78566595089 initial import
mandel
parents:
diff changeset
73 {
e78566595089 initial import
mandel
parents:
diff changeset
74 }
e78566595089 initial import
mandel
parents:
diff changeset
75
e78566595089 initial import
mandel
parents:
diff changeset
76 Uic::~Uic()
e78566595089 initial import
mandel
parents:
diff changeset
77 {
e78566595089 initial import
mandel
parents:
diff changeset
78 }
e78566595089 initial import
mandel
parents:
diff changeset
79
e78566595089 initial import
mandel
parents:
diff changeset
80 bool Uic::printDependencies()
e78566595089 initial import
mandel
parents:
diff changeset
81 {
e78566595089 initial import
mandel
parents:
diff changeset
82 QString fileName = opt.inputFile;
e78566595089 initial import
mandel
parents:
diff changeset
83
e78566595089 initial import
mandel
parents:
diff changeset
84 QFile f;
e78566595089 initial import
mandel
parents:
diff changeset
85 if (fileName.isEmpty())
e78566595089 initial import
mandel
parents:
diff changeset
86 f.open(stdin, QIODevice::ReadOnly);
e78566595089 initial import
mandel
parents:
diff changeset
87 else {
e78566595089 initial import
mandel
parents:
diff changeset
88 f.setFileName(fileName);
e78566595089 initial import
mandel
parents:
diff changeset
89 if (!f.open(QIODevice::ReadOnly))
e78566595089 initial import
mandel
parents:
diff changeset
90 return false;
e78566595089 initial import
mandel
parents:
diff changeset
91 }
e78566595089 initial import
mandel
parents:
diff changeset
92
e78566595089 initial import
mandel
parents:
diff changeset
93 QDomDocument doc; // ### generalize. share more code with the other tools!
e78566595089 initial import
mandel
parents:
diff changeset
94 if (!doc.setContent(&f))
e78566595089 initial import
mandel
parents:
diff changeset
95 return false;
e78566595089 initial import
mandel
parents:
diff changeset
96
e78566595089 initial import
mandel
parents:
diff changeset
97 QDomElement root = doc.firstChildElement();
e78566595089 initial import
mandel
parents:
diff changeset
98 DomUI *ui = new DomUI();
e78566595089 initial import
mandel
parents:
diff changeset
99 ui->read(root);
e78566595089 initial import
mandel
parents:
diff changeset
100
e78566595089 initial import
mandel
parents:
diff changeset
101 double version = ui->attributeVersion().toDouble();
e78566595089 initial import
mandel
parents:
diff changeset
102 if (version < 4.0) {
e78566595089 initial import
mandel
parents:
diff changeset
103 delete ui;
e78566595089 initial import
mandel
parents:
diff changeset
104
e78566595089 initial import
mandel
parents:
diff changeset
105 fprintf(stderr, "uic: File generated with too old version of Qt Designer\n");
e78566595089 initial import
mandel
parents:
diff changeset
106 return false;
e78566595089 initial import
mandel
parents:
diff changeset
107 }
e78566595089 initial import
mandel
parents:
diff changeset
108
e78566595089 initial import
mandel
parents:
diff changeset
109 if (DomIncludes *includes = ui->elementIncludes()) {
e78566595089 initial import
mandel
parents:
diff changeset
110 foreach (DomInclude *incl, includes->elementInclude()) {
e78566595089 initial import
mandel
parents:
diff changeset
111 QString file = incl->text();
e78566595089 initial import
mandel
parents:
diff changeset
112 if (file.isEmpty())
e78566595089 initial import
mandel
parents:
diff changeset
113 continue;
e78566595089 initial import
mandel
parents:
diff changeset
114
e78566595089 initial import
mandel
parents:
diff changeset
115 fprintf(stdout, "%s\n", file.toLocal8Bit().constData());
e78566595089 initial import
mandel
parents:
diff changeset
116 }
e78566595089 initial import
mandel
parents:
diff changeset
117 }
e78566595089 initial import
mandel
parents:
diff changeset
118
e78566595089 initial import
mandel
parents:
diff changeset
119 if (DomCustomWidgets *customWidgets = ui->elementCustomWidgets()) {
e78566595089 initial import
mandel
parents:
diff changeset
120 foreach (DomCustomWidget *customWidget, customWidgets->elementCustomWidget()) {
e78566595089 initial import
mandel
parents:
diff changeset
121 if (DomHeader *header = customWidget->elementHeader()) {
e78566595089 initial import
mandel
parents:
diff changeset
122 QString file = header->text();
e78566595089 initial import
mandel
parents:
diff changeset
123 if (file.isEmpty())
e78566595089 initial import
mandel
parents:
diff changeset
124 continue;
e78566595089 initial import
mandel
parents:
diff changeset
125
e78566595089 initial import
mandel
parents:
diff changeset
126 fprintf(stdout, "%s\n", file.toLocal8Bit().constData());
e78566595089 initial import
mandel
parents:
diff changeset
127 }
e78566595089 initial import
mandel
parents:
diff changeset
128 }
e78566595089 initial import
mandel
parents:
diff changeset
129 }
e78566595089 initial import
mandel
parents:
diff changeset
130
e78566595089 initial import
mandel
parents:
diff changeset
131 delete ui;
e78566595089 initial import
mandel
parents:
diff changeset
132
e78566595089 initial import
mandel
parents:
diff changeset
133 return true;
e78566595089 initial import
mandel
parents:
diff changeset
134 }
e78566595089 initial import
mandel
parents:
diff changeset
135
e78566595089 initial import
mandel
parents:
diff changeset
136 void Uic::writeCopyrightHeader(DomUI *ui)
e78566595089 initial import
mandel
parents:
diff changeset
137 {
e78566595089 initial import
mandel
parents:
diff changeset
138 QString comment = ui->elementComment();
e78566595089 initial import
mandel
parents:
diff changeset
139 if (comment.size())
e78566595089 initial import
mandel
parents:
diff changeset
140 out << "/*\n" << comment << "\n*/\n\n";
e78566595089 initial import
mandel
parents:
diff changeset
141
e78566595089 initial import
mandel
parents:
diff changeset
142 out << "/********************************************************************************\n";
e78566595089 initial import
mandel
parents:
diff changeset
143 out << "** Form generated from reading ui file '" << QFileInfo(opt.inputFile).fileName() << "'\n";
e78566595089 initial import
mandel
parents:
diff changeset
144 out << "**\n";
e78566595089 initial import
mandel
parents:
diff changeset
145 out << "** Created: " << QDateTime::currentDateTime().toString() << "\n";
e78566595089 initial import
mandel
parents:
diff changeset
146 out << "** " << QString::fromLatin1("by: QtD User Interface Compiler version %1\n").arg(QLatin1String(QT_VERSION_STR));
e78566595089 initial import
mandel
parents:
diff changeset
147 out << "**\n";
e78566595089 initial import
mandel
parents:
diff changeset
148 out << "** WARNING! All changes made in this file will be lost when recompiling ui file!\n";
e78566595089 initial import
mandel
parents:
diff changeset
149 out << "********************************************************************************/\n\n";
e78566595089 initial import
mandel
parents:
diff changeset
150 }
e78566595089 initial import
mandel
parents:
diff changeset
151
e78566595089 initial import
mandel
parents:
diff changeset
152 bool Uic::write(QIODevice *in)
e78566595089 initial import
mandel
parents:
diff changeset
153 {
e78566595089 initial import
mandel
parents:
diff changeset
154 QDomDocument doc;
e78566595089 initial import
mandel
parents:
diff changeset
155 if (!doc.setContent(in))
e78566595089 initial import
mandel
parents:
diff changeset
156 return false;
e78566595089 initial import
mandel
parents:
diff changeset
157
e78566595089 initial import
mandel
parents:
diff changeset
158 if (option().generator == Option::JavaGenerator || option().generator == Option::DGenerator) {
e78566595089 initial import
mandel
parents:
diff changeset
159 // the Java generator ignores header protection
e78566595089 initial import
mandel
parents:
diff changeset
160 opt.headerProtection = false;
e78566595089 initial import
mandel
parents:
diff changeset
161 }
e78566595089 initial import
mandel
parents:
diff changeset
162
e78566595089 initial import
mandel
parents:
diff changeset
163 QDomElement root = doc.firstChildElement();
e78566595089 initial import
mandel
parents:
diff changeset
164 DomUI *ui = new DomUI();
e78566595089 initial import
mandel
parents:
diff changeset
165 ui->read(root);
e78566595089 initial import
mandel
parents:
diff changeset
166
e78566595089 initial import
mandel
parents:
diff changeset
167 double version = ui->attributeVersion().toDouble();
e78566595089 initial import
mandel
parents:
diff changeset
168 if (version < 4.0) {
e78566595089 initial import
mandel
parents:
diff changeset
169 delete ui;
e78566595089 initial import
mandel
parents:
diff changeset
170
e78566595089 initial import
mandel
parents:
diff changeset
171 fprintf(stderr, "uic: File generated with too old version of Qt Designer\n");
e78566595089 initial import
mandel
parents:
diff changeset
172 return false;
e78566595089 initial import
mandel
parents:
diff changeset
173 }
e78566595089 initial import
mandel
parents:
diff changeset
174
e78566595089 initial import
mandel
parents:
diff changeset
175 QString language = ui->attributeLanguage();
e78566595089 initial import
mandel
parents:
diff changeset
176
e78566595089 initial import
mandel
parents:
diff changeset
177
e78566595089 initial import
mandel
parents:
diff changeset
178 bool rtn = false;
e78566595089 initial import
mandel
parents:
diff changeset
179
e78566595089 initial import
mandel
parents:
diff changeset
180 if (option().generator == Option::JavaGenerator) {
e78566595089 initial import
mandel
parents:
diff changeset
181 #ifdef QT_UIC_JAVA_GENERATOR
e78566595089 initial import
mandel
parents:
diff changeset
182 if (language.toLower() != QLatin1String("jambi")) {
e78566595089 initial import
mandel
parents:
diff changeset
183 fprintf(stderr, "uic: File is not a 'jambi' form\n");
e78566595089 initial import
mandel
parents:
diff changeset
184 return false;
e78566595089 initial import
mandel
parents:
diff changeset
185 }
e78566595089 initial import
mandel
parents:
diff changeset
186 rtn = jwrite (ui);
e78566595089 initial import
mandel
parents:
diff changeset
187 #else
e78566595089 initial import
mandel
parents:
diff changeset
188 fprintf(stderr, "uic: option to generate java code not compiled in\n");
e78566595089 initial import
mandel
parents:
diff changeset
189 #endif
e78566595089 initial import
mandel
parents:
diff changeset
190 } else {
e78566595089 initial import
mandel
parents:
diff changeset
191 #ifdef QT_UIC_D_GENERATOR
e78566595089 initial import
mandel
parents:
diff changeset
192 if (!language.isEmpty() && language.toLower() != QLatin1String("d")) {
e78566595089 initial import
mandel
parents:
diff changeset
193 fprintf(stderr, "uic: File is not a 'd' ui file, language=%s\n", qPrintable(language));
e78566595089 initial import
mandel
parents:
diff changeset
194 return false;
e78566595089 initial import
mandel
parents:
diff changeset
195 }
e78566595089 initial import
mandel
parents:
diff changeset
196
e78566595089 initial import
mandel
parents:
diff changeset
197 rtn = write (ui);
e78566595089 initial import
mandel
parents:
diff changeset
198 #else
e78566595089 initial import
mandel
parents:
diff changeset
199 fprintf(stderr, "uic: option to generate d code not compiled in\n");
e78566595089 initial import
mandel
parents:
diff changeset
200 #endif
e78566595089 initial import
mandel
parents:
diff changeset
201 }
e78566595089 initial import
mandel
parents:
diff changeset
202
e78566595089 initial import
mandel
parents:
diff changeset
203 delete ui;
e78566595089 initial import
mandel
parents:
diff changeset
204
e78566595089 initial import
mandel
parents:
diff changeset
205 return rtn;
e78566595089 initial import
mandel
parents:
diff changeset
206 }
e78566595089 initial import
mandel
parents:
diff changeset
207
e78566595089 initial import
mandel
parents:
diff changeset
208 #ifdef QT_UIC_D_GENERATOR
e78566595089 initial import
mandel
parents:
diff changeset
209 bool Uic::write(DomUI *ui)
e78566595089 initial import
mandel
parents:
diff changeset
210 {
e78566595089 initial import
mandel
parents:
diff changeset
211 using namespace D;
e78566595089 initial import
mandel
parents:
diff changeset
212
e78566595089 initial import
mandel
parents:
diff changeset
213 if (!ui || !ui->elementWidget())
e78566595089 initial import
mandel
parents:
diff changeset
214 return false;
e78566595089 initial import
mandel
parents:
diff changeset
215
e78566595089 initial import
mandel
parents:
diff changeset
216 if (opt.copyrightHeader)
e78566595089 initial import
mandel
parents:
diff changeset
217 writeCopyrightHeader(ui);
e78566595089 initial import
mandel
parents:
diff changeset
218
e78566595089 initial import
mandel
parents:
diff changeset
219 if (opt.headerProtection) {
e78566595089 initial import
mandel
parents:
diff changeset
220 writeHeaderProtectionStart();
e78566595089 initial import
mandel
parents:
diff changeset
221 out << "\n";
e78566595089 initial import
mandel
parents:
diff changeset
222 }
e78566595089 initial import
mandel
parents:
diff changeset
223
e78566595089 initial import
mandel
parents:
diff changeset
224 pixFunction = ui->elementPixmapFunction();
e78566595089 initial import
mandel
parents:
diff changeset
225 if (pixFunction == QLatin1String("QPixmap::fromMimeSource"))
e78566595089 initial import
mandel
parents:
diff changeset
226 pixFunction = QLatin1String("qPixmapFromMimeSource");
e78566595089 initial import
mandel
parents:
diff changeset
227
e78566595089 initial import
mandel
parents:
diff changeset
228 externalPix = ui->elementImages() == 0;
e78566595089 initial import
mandel
parents:
diff changeset
229
e78566595089 initial import
mandel
parents:
diff changeset
230 info.acceptUI(ui);
e78566595089 initial import
mandel
parents:
diff changeset
231 cWidgetsInfo.acceptUI(ui);
e78566595089 initial import
mandel
parents:
diff changeset
232 WriteIncludes writeIncludes(this);
e78566595089 initial import
mandel
parents:
diff changeset
233 writeIncludes.acceptUI(ui);
e78566595089 initial import
mandel
parents:
diff changeset
234
e78566595089 initial import
mandel
parents:
diff changeset
235 Validator(this).acceptUI(ui);
e78566595089 initial import
mandel
parents:
diff changeset
236 WriteDeclaration(this, writeIncludes.scriptsActivated()).acceptUI(ui);
e78566595089 initial import
mandel
parents:
diff changeset
237
e78566595089 initial import
mandel
parents:
diff changeset
238 if (opt.headerProtection)
e78566595089 initial import
mandel
parents:
diff changeset
239 writeHeaderProtectionEnd();
e78566595089 initial import
mandel
parents:
diff changeset
240
e78566595089 initial import
mandel
parents:
diff changeset
241 return true;
e78566595089 initial import
mandel
parents:
diff changeset
242 }
e78566595089 initial import
mandel
parents:
diff changeset
243 #endif
e78566595089 initial import
mandel
parents:
diff changeset
244
e78566595089 initial import
mandel
parents:
diff changeset
245 #ifdef QT_UIC_JAVA_GENERATOR
e78566595089 initial import
mandel
parents:
diff changeset
246 bool Uic::jwrite(DomUI *ui)
e78566595089 initial import
mandel
parents:
diff changeset
247 {
e78566595089 initial import
mandel
parents:
diff changeset
248 using namespace Java;
e78566595089 initial import
mandel
parents:
diff changeset
249
e78566595089 initial import
mandel
parents:
diff changeset
250 if (!ui || !ui->elementWidget())
e78566595089 initial import
mandel
parents:
diff changeset
251 return false;
e78566595089 initial import
mandel
parents:
diff changeset
252
e78566595089 initial import
mandel
parents:
diff changeset
253 if (opt.copyrightHeader)
e78566595089 initial import
mandel
parents:
diff changeset
254 writeCopyrightHeader(ui);
e78566595089 initial import
mandel
parents:
diff changeset
255
e78566595089 initial import
mandel
parents:
diff changeset
256 pixFunction = ui->elementPixmapFunction();
e78566595089 initial import
mandel
parents:
diff changeset
257 if (pixFunction == QLatin1String("QPixmap::fromMimeSource"))
e78566595089 initial import
mandel
parents:
diff changeset
258 pixFunction = QLatin1String("qPixmapFromMimeSource");
e78566595089 initial import
mandel
parents:
diff changeset
259
e78566595089 initial import
mandel
parents:
diff changeset
260 externalPix = ui->elementImages() == 0;
e78566595089 initial import
mandel
parents:
diff changeset
261
e78566595089 initial import
mandel
parents:
diff changeset
262 info.acceptUI(ui);
e78566595089 initial import
mandel
parents:
diff changeset
263 cWidgetsInfo.acceptUI(ui);
e78566595089 initial import
mandel
parents:
diff changeset
264 WriteIncludes(this).acceptUI(ui);
e78566595089 initial import
mandel
parents:
diff changeset
265
e78566595089 initial import
mandel
parents:
diff changeset
266 Validator(this).acceptUI(ui);
e78566595089 initial import
mandel
parents:
diff changeset
267 WriteDeclaration(this).acceptUI(ui);
e78566595089 initial import
mandel
parents:
diff changeset
268
e78566595089 initial import
mandel
parents:
diff changeset
269 return true;
e78566595089 initial import
mandel
parents:
diff changeset
270 }
e78566595089 initial import
mandel
parents:
diff changeset
271 #endif
e78566595089 initial import
mandel
parents:
diff changeset
272
e78566595089 initial import
mandel
parents:
diff changeset
273 #ifdef QT_UIC_D_GENERATOR
e78566595089 initial import
mandel
parents:
diff changeset
274
e78566595089 initial import
mandel
parents:
diff changeset
275 void Uic::writeHeaderProtectionStart()
e78566595089 initial import
mandel
parents:
diff changeset
276 {
e78566595089 initial import
mandel
parents:
diff changeset
277 QString h = drv->headerFileName();
e78566595089 initial import
mandel
parents:
diff changeset
278 out << "#ifndef " << h << "\n"
e78566595089 initial import
mandel
parents:
diff changeset
279 << "#define " << h << "\n";
e78566595089 initial import
mandel
parents:
diff changeset
280 }
e78566595089 initial import
mandel
parents:
diff changeset
281
e78566595089 initial import
mandel
parents:
diff changeset
282 void Uic::writeHeaderProtectionEnd()
e78566595089 initial import
mandel
parents:
diff changeset
283 {
e78566595089 initial import
mandel
parents:
diff changeset
284 QString h = drv->headerFileName();
e78566595089 initial import
mandel
parents:
diff changeset
285 out << "#endif // " << h << "\n";
e78566595089 initial import
mandel
parents:
diff changeset
286 }
e78566595089 initial import
mandel
parents:
diff changeset
287 #endif
e78566595089 initial import
mandel
parents:
diff changeset
288
e78566595089 initial import
mandel
parents:
diff changeset
289 bool Uic::isMainWindow(const QString &className) const
e78566595089 initial import
mandel
parents:
diff changeset
290 {
e78566595089 initial import
mandel
parents:
diff changeset
291 return customWidgetsInfo()->extends(className, QLatin1String("Q3MainWindow"))
e78566595089 initial import
mandel
parents:
diff changeset
292 || customWidgetsInfo()->extends(className, QLatin1String("QMainWindow"));
e78566595089 initial import
mandel
parents:
diff changeset
293 }
e78566595089 initial import
mandel
parents:
diff changeset
294
e78566595089 initial import
mandel
parents:
diff changeset
295 bool Uic::isToolBar(const QString &className) const
e78566595089 initial import
mandel
parents:
diff changeset
296 {
e78566595089 initial import
mandel
parents:
diff changeset
297 return customWidgetsInfo()->extends(className, QLatin1String("Q3ToolBar"))
e78566595089 initial import
mandel
parents:
diff changeset
298 || customWidgetsInfo()->extends(className, QLatin1String("QToolBar"));
e78566595089 initial import
mandel
parents:
diff changeset
299 }
e78566595089 initial import
mandel
parents:
diff changeset
300
e78566595089 initial import
mandel
parents:
diff changeset
301 bool Uic::isButton(const QString &className) const
e78566595089 initial import
mandel
parents:
diff changeset
302 {
e78566595089 initial import
mandel
parents:
diff changeset
303 return customWidgetsInfo()->extends(className, QLatin1String("QRadioButton"))
e78566595089 initial import
mandel
parents:
diff changeset
304 || customWidgetsInfo()->extends(className, QLatin1String("QToolButton"))
e78566595089 initial import
mandel
parents:
diff changeset
305 || customWidgetsInfo()->extends(className, QLatin1String("QCheckBox"))
e78566595089 initial import
mandel
parents:
diff changeset
306 || customWidgetsInfo()->extends(className, QLatin1String("QPushButton"));
e78566595089 initial import
mandel
parents:
diff changeset
307 }
e78566595089 initial import
mandel
parents:
diff changeset
308
e78566595089 initial import
mandel
parents:
diff changeset
309 bool Uic::isContainer(const QString &className) const
e78566595089 initial import
mandel
parents:
diff changeset
310 {
e78566595089 initial import
mandel
parents:
diff changeset
311 return customWidgetsInfo()->extends(className, QLatin1String("QStackedWidget"))
e78566595089 initial import
mandel
parents:
diff changeset
312 || customWidgetsInfo()->extends(className, QLatin1String("QToolBox"))
e78566595089 initial import
mandel
parents:
diff changeset
313 || customWidgetsInfo()->extends(className, QLatin1String("QTabWidget"))
e78566595089 initial import
mandel
parents:
diff changeset
314 || customWidgetsInfo()->extends(className, QLatin1String("QScrollArea"))
e78566595089 initial import
mandel
parents:
diff changeset
315 || customWidgetsInfo()->extends(className, QLatin1String("QMdiArea"))
e78566595089 initial import
mandel
parents:
diff changeset
316 || customWidgetsInfo()->extends(className, QLatin1String("QWizard"))
e78566595089 initial import
mandel
parents:
diff changeset
317 || customWidgetsInfo()->extends(className, QLatin1String("QDockWidget"));
e78566595089 initial import
mandel
parents:
diff changeset
318 }
e78566595089 initial import
mandel
parents:
diff changeset
319
e78566595089 initial import
mandel
parents:
diff changeset
320 bool Uic::isStatusBar(const QString &className) const
e78566595089 initial import
mandel
parents:
diff changeset
321 {
e78566595089 initial import
mandel
parents:
diff changeset
322 return customWidgetsInfo()->extends(className, QLatin1String("QStatusBar"));
e78566595089 initial import
mandel
parents:
diff changeset
323 }
e78566595089 initial import
mandel
parents:
diff changeset
324
e78566595089 initial import
mandel
parents:
diff changeset
325 bool Uic::isMenuBar(const QString &className) const
e78566595089 initial import
mandel
parents:
diff changeset
326 {
e78566595089 initial import
mandel
parents:
diff changeset
327 return customWidgetsInfo()->extends(className, QLatin1String("QMenuBar"));
e78566595089 initial import
mandel
parents:
diff changeset
328 }
e78566595089 initial import
mandel
parents:
diff changeset
329
e78566595089 initial import
mandel
parents:
diff changeset
330 bool Uic::isMenu(const QString &className) const
e78566595089 initial import
mandel
parents:
diff changeset
331 {
e78566595089 initial import
mandel
parents:
diff changeset
332 return customWidgetsInfo()->extends(className, QLatin1String("QMenu"))
e78566595089 initial import
mandel
parents:
diff changeset
333 || customWidgetsInfo()->extends(className, QLatin1String("QPopupMenu"));
e78566595089 initial import
mandel
parents:
diff changeset
334 }
e78566595089 initial import
mandel
parents:
diff changeset
335
e78566595089 initial import
mandel
parents:
diff changeset
336 QT_END_NAMESPACE