Remove ancient embedded pixmaps and scripts from uic
Change-Id: Iec06e1af91a6d61226ae484325b1ec82810d634d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
This commit is contained in:
parent
d57bf5e8aa
commit
d6d76df9e0
@ -3,18 +3,10 @@ INCLUDEPATH += $$PWD $$QT_BUILD_TREE/src/tools/uic
|
||||
DEFINES += QT_UIC_CPP_GENERATOR
|
||||
|
||||
# Input
|
||||
HEADERS += $$PWD/cppextractimages.h \
|
||||
$$PWD/cppwritedeclaration.h \
|
||||
$$PWD/cppwriteicondata.h \
|
||||
$$PWD/cppwriteicondeclaration.h \
|
||||
$$PWD/cppwriteiconinitialization.h \
|
||||
HEADERS += $$PWD/cppwritedeclaration.h \
|
||||
$$PWD/cppwriteincludes.h \
|
||||
$$PWD/cppwriteinitialization.h
|
||||
|
||||
SOURCES += $$PWD/cppextractimages.cpp \
|
||||
$$PWD/cppwritedeclaration.cpp \
|
||||
$$PWD/cppwriteicondata.cpp \
|
||||
$$PWD/cppwriteicondeclaration.cpp \
|
||||
$$PWD/cppwriteiconinitialization.cpp \
|
||||
SOURCES += $$PWD/cppwritedeclaration.cpp \
|
||||
$$PWD/cppwriteincludes.cpp \
|
||||
$$PWD/cppwriteinitialization.cpp
|
||||
|
@ -1,140 +0,0 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2016 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the tools applications of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:GPL-EXCEPT$
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
#include "cppextractimages.h"
|
||||
#include "cppwriteicondata.h"
|
||||
#include "driver.h"
|
||||
#include "ui4.h"
|
||||
#include "utils.h"
|
||||
#include "uic.h"
|
||||
|
||||
#include <qtextstream.h>
|
||||
#include <qtextcodec.h>
|
||||
#include <qdir.h>
|
||||
#include <qfile.h>
|
||||
#include <qfileinfo.h>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
namespace CPP {
|
||||
|
||||
ExtractImages::ExtractImages(const Option &opt)
|
||||
: m_output(0), m_option(opt)
|
||||
{
|
||||
}
|
||||
|
||||
void ExtractImages::acceptUI(DomUI *node)
|
||||
{
|
||||
if (!m_option.extractImages)
|
||||
return;
|
||||
|
||||
if (node->elementImages() == 0)
|
||||
return;
|
||||
|
||||
QString className = node->elementClass() + m_option.postfix;
|
||||
|
||||
QFile f;
|
||||
if (m_option.qrcOutputFile.size()) {
|
||||
f.setFileName(m_option.qrcOutputFile);
|
||||
if (!f.open(QIODevice::WriteOnly | QFile::Text)) {
|
||||
fprintf(stderr, "%s: Error: Could not create resource file\n", qPrintable(m_option.messagePrefix()));
|
||||
return;
|
||||
}
|
||||
|
||||
QFileInfo fi(m_option.qrcOutputFile);
|
||||
QDir dir = fi.absoluteDir();
|
||||
if (!dir.exists(QLatin1String("images")) && !dir.mkdir(QLatin1String("images"))) {
|
||||
fprintf(stderr, "%s: Error: Could not create image dir\n", qPrintable(m_option.messagePrefix()));
|
||||
return;
|
||||
}
|
||||
dir.cd(QLatin1String("images"));
|
||||
m_imagesDir = dir;
|
||||
|
||||
m_output = new QTextStream(&f);
|
||||
#ifndef QT_NO_TEXTCODEC
|
||||
m_output->setCodec(QTextCodec::codecForName("UTF-8"));
|
||||
#endif
|
||||
|
||||
QTextStream &out = *m_output;
|
||||
|
||||
out << "<RCC>\n";
|
||||
out << " <qresource prefix=\"/" << className << "\" >\n";
|
||||
TreeWalker::acceptUI(node);
|
||||
out << " </qresource>\n";
|
||||
out << "</RCC>\n";
|
||||
|
||||
f.close();
|
||||
delete m_output;
|
||||
m_output = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void ExtractImages::acceptImages(DomImages *images)
|
||||
{
|
||||
TreeWalker::acceptImages(images);
|
||||
}
|
||||
|
||||
void ExtractImages::acceptImage(DomImage *image)
|
||||
{
|
||||
QString format = image->elementData()->attributeFormat();
|
||||
QString extension = format.left(format.indexOf(QLatin1Char('.'))).toLower();
|
||||
QString fname = m_imagesDir.absoluteFilePath(image->attributeName() + QLatin1Char('.') + extension);
|
||||
|
||||
*m_output << " <file>images/" << image->attributeName() << QLatin1Char('.') + extension << "</file>\n";
|
||||
|
||||
QFile f;
|
||||
f.setFileName(fname);
|
||||
const bool isXPM_GZ = format == QLatin1String("XPM.GZ");
|
||||
QIODevice::OpenMode openMode = QIODevice::WriteOnly;
|
||||
if (isXPM_GZ)
|
||||
openMode |= QIODevice::Text;
|
||||
if (!f.open(openMode)) {
|
||||
fprintf(stderr, "%s: Error: Could not create image file %s: %s",
|
||||
qPrintable(m_option.messagePrefix()),
|
||||
qPrintable(fname), qPrintable(f.errorString()));
|
||||
return;
|
||||
}
|
||||
|
||||
if (isXPM_GZ) {
|
||||
QTextStream *imageOut = new QTextStream(&f);
|
||||
#ifndef QT_NO_TEXTCODEC
|
||||
imageOut->setCodec(QTextCodec::codecForName("UTF-8"));
|
||||
#endif
|
||||
|
||||
CPP::WriteIconData::writeImage(*imageOut, QString(), m_option.limitXPM_LineLength, image);
|
||||
delete imageOut;
|
||||
} else {
|
||||
CPP::WriteIconData::writeImage(f, image);
|
||||
}
|
||||
|
||||
f.close();
|
||||
}
|
||||
|
||||
} // namespace CPP
|
||||
|
||||
QT_END_NAMESPACE
|
@ -1,64 +0,0 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2016 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the tools applications of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:GPL-EXCEPT$
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
#ifndef CPPEXTRACTIMAGES_H
|
||||
#define CPPEXTRACTIMAGES_H
|
||||
|
||||
#include "treewalker.h"
|
||||
#include <qdir.h>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
class QTextStream;
|
||||
class Driver;
|
||||
class Uic;
|
||||
|
||||
struct Option;
|
||||
|
||||
namespace CPP {
|
||||
|
||||
class ExtractImages : public TreeWalker
|
||||
{
|
||||
public:
|
||||
ExtractImages(const Option &opt);
|
||||
|
||||
void acceptUI(DomUI *node) Q_DECL_OVERRIDE;
|
||||
void acceptImages(DomImages *images) Q_DECL_OVERRIDE;
|
||||
void acceptImage(DomImage *image) Q_DECL_OVERRIDE;
|
||||
|
||||
private:
|
||||
QTextStream *m_output;
|
||||
const Option &m_option;
|
||||
QDir m_imagesDir;
|
||||
};
|
||||
|
||||
} // namespace CPP
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
#endif // CPPEXTRACTIMAGES_H
|
@ -27,10 +27,7 @@
|
||||
****************************************************************************/
|
||||
|
||||
#include "cppwritedeclaration.h"
|
||||
#include "cppwriteicondeclaration.h"
|
||||
#include "cppwriteinitialization.h"
|
||||
#include "cppwriteiconinitialization.h"
|
||||
#include "cppextractimages.h"
|
||||
#include "driver.h"
|
||||
#include "ui4.h"
|
||||
#include "uic.h"
|
||||
@ -56,47 +53,15 @@ namespace {
|
||||
output << "} // namespace " << *it << "\n";
|
||||
}
|
||||
}
|
||||
|
||||
void writeScriptContextClass(const QString &indent, QTextStream &str) {
|
||||
str << indent << "class ScriptContext\n"
|
||||
<< indent << "{\n"
|
||||
<< indent << "public:\n"
|
||||
<< indent << " void run(const QString &script, QWidget *widget, const QWidgetList &childWidgets)\n"
|
||||
<< indent << " {\n"
|
||||
<< indent << " QScriptValue widgetObject = scriptEngine.newQObject(widget);\n"
|
||||
<< indent << " QScriptValue childWidgetArray = scriptEngine.newArray (childWidgets.size());\n"
|
||||
<< indent << " for (int i = 0; i < childWidgets.size(); i++)\n"
|
||||
<< indent << " childWidgetArray.setProperty(i, scriptEngine.newQObject(childWidgets[i]));\n"
|
||||
<< indent << " QScriptContext *ctx = scriptEngine.pushContext();\n"
|
||||
<< indent << " ctx ->activationObject().setProperty(QLatin1String(\"widget\"), widgetObject);\n"
|
||||
<< indent << " ctx ->activationObject().setProperty(QLatin1String(\"childWidgets\"), childWidgetArray);\n\n"
|
||||
<< indent << " scriptEngine.evaluate(script);\n"
|
||||
<< indent << " if (scriptEngine.hasUncaughtException ()) {\n"
|
||||
<< indent << " qWarning() << \"An exception occurred at line \" << scriptEngine.uncaughtExceptionLineNumber()\n"
|
||||
<< indent << " << \" of the script for \" << widget->objectName() << \": \" << engineError() << '\\n'\n"
|
||||
<< indent << " << script;\n"
|
||||
<< indent << " }\n\n"
|
||||
<< indent << " scriptEngine.popContext();\n"
|
||||
<< indent << " }\n\n"
|
||||
<< indent << "private:\n"
|
||||
<< indent << " QString engineError()\n"
|
||||
<< indent << " {\n"
|
||||
<< indent << " QScriptValue error = scriptEngine.evaluate(\"Error\");\n"
|
||||
<< indent << " return error.toString();\n"
|
||||
<< indent << " }\n\n"
|
||||
<< indent << " QScriptEngine scriptEngine;\n"
|
||||
<< indent << "};\n\n";
|
||||
}
|
||||
}
|
||||
|
||||
namespace CPP {
|
||||
|
||||
WriteDeclaration::WriteDeclaration(Uic *uic, bool activateScripts) :
|
||||
WriteDeclaration::WriteDeclaration(Uic *uic) :
|
||||
m_uic(uic),
|
||||
m_driver(uic->driver()),
|
||||
m_output(uic->output()),
|
||||
m_option(uic->option()),
|
||||
m_activateScripts(activateScripts)
|
||||
m_option(uic->option())
|
||||
{
|
||||
}
|
||||
|
||||
@ -154,29 +119,7 @@ void WriteDeclaration::acceptUI(DomUI *node)
|
||||
|
||||
m_output << "\n";
|
||||
|
||||
WriteInitialization(m_uic, m_activateScripts).acceptUI(node);
|
||||
|
||||
if (node->elementImages()) {
|
||||
if (m_option.extractImages) {
|
||||
ExtractImages(m_uic->option()).acceptUI(node);
|
||||
} else {
|
||||
m_output << "\n"
|
||||
<< "protected:\n"
|
||||
<< m_option.indent << "enum IconID\n"
|
||||
<< m_option.indent << "{\n";
|
||||
WriteIconDeclaration(m_uic).acceptUI(node);
|
||||
|
||||
m_output << m_option.indent << m_option.indent << "unknown_ID\n"
|
||||
<< m_option.indent << "};\n";
|
||||
|
||||
WriteIconInitialization(m_uic).acceptUI(node);
|
||||
}
|
||||
}
|
||||
|
||||
if (m_activateScripts) {
|
||||
m_output << "\nprivate:\n\n";
|
||||
writeScriptContextClass(m_option.indent, m_output);
|
||||
}
|
||||
WriteInitialization(m_uic).acceptUI(node);
|
||||
|
||||
m_output << "};\n\n";
|
||||
|
||||
|
@ -43,7 +43,7 @@ namespace CPP {
|
||||
|
||||
struct WriteDeclaration : public TreeWalker
|
||||
{
|
||||
WriteDeclaration(Uic *uic, bool activateScripts);
|
||||
WriteDeclaration(Uic *uic);
|
||||
|
||||
void acceptUI(DomUI *node) Q_DECL_OVERRIDE;
|
||||
void acceptWidget(DomWidget *node) Q_DECL_OVERRIDE;
|
||||
@ -58,7 +58,6 @@ private:
|
||||
Driver *m_driver;
|
||||
QTextStream &m_output;
|
||||
const Option &m_option;
|
||||
const bool m_activateScripts;
|
||||
};
|
||||
|
||||
} // namespace CPP
|
||||
|
@ -1,172 +0,0 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2016 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the tools applications of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:GPL-EXCEPT$
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
#include "cppwriteicondata.h"
|
||||
#include "driver.h"
|
||||
#include "ui4.h"
|
||||
#include "uic.h"
|
||||
|
||||
#include <qtextstream.h>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
namespace CPP {
|
||||
|
||||
static QByteArray transformImageData(const QString &data)
|
||||
{
|
||||
int baSize = data.length() / 2;
|
||||
uchar *ba = new uchar[baSize];
|
||||
for (int i = 0; i < baSize; ++i) {
|
||||
char h = data[2 * (i)].toLatin1();
|
||||
char l = data[2 * (i) + 1].toLatin1();
|
||||
uchar r = 0;
|
||||
if (h <= '9')
|
||||
r += h - '0';
|
||||
else
|
||||
r += h - 'a' + 10;
|
||||
r = r << 4;
|
||||
if (l <= '9')
|
||||
r += l - '0';
|
||||
else
|
||||
r += l - 'a' + 10;
|
||||
ba[i] = r;
|
||||
}
|
||||
QByteArray ret(reinterpret_cast<const char *>(ba), baSize);
|
||||
delete [] ba;
|
||||
return ret;
|
||||
}
|
||||
|
||||
static QByteArray unzipXPM(const QString &data, ulong &length)
|
||||
{
|
||||
#ifndef QT_NO_COMPRESS
|
||||
const int lengthOffset = 4;
|
||||
QByteArray ba(lengthOffset, ' ');
|
||||
|
||||
// qUncompress() expects the first 4 bytes to be the expected length of the
|
||||
// uncompressed data
|
||||
ba[0] = (length & 0xff000000) >> 24;
|
||||
ba[1] = (length & 0x00ff0000) >> 16;
|
||||
ba[2] = (length & 0x0000ff00) >> 8;
|
||||
ba[3] = (length & 0x000000ff);
|
||||
ba.append(transformImageData(data));
|
||||
QByteArray baunzip = qUncompress(ba);
|
||||
return baunzip;
|
||||
#else
|
||||
Q_UNUSED(data);
|
||||
Q_UNUSED(length);
|
||||
return QByteArray();
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
WriteIconData::WriteIconData(Uic *uic)
|
||||
: driver(uic->driver()), output(uic->output()), option(uic->option())
|
||||
{
|
||||
}
|
||||
|
||||
void WriteIconData::acceptUI(DomUI *node)
|
||||
{
|
||||
TreeWalker::acceptUI(node);
|
||||
}
|
||||
|
||||
void WriteIconData::acceptImages(DomImages *images)
|
||||
{
|
||||
TreeWalker::acceptImages(images);
|
||||
}
|
||||
|
||||
void WriteIconData::acceptImage(DomImage *image)
|
||||
{
|
||||
// Limit line length when writing code.
|
||||
writeImage(output, option.indent, true, image);
|
||||
}
|
||||
|
||||
void WriteIconData::writeImage(QTextStream &output, const QString &indent,
|
||||
bool limitXPM_LineLength, const DomImage *image)
|
||||
{
|
||||
QString img = image->attributeName() + QLatin1String("_data");
|
||||
QString data = image->elementData()->text();
|
||||
QString fmt = image->elementData()->attributeFormat();
|
||||
int size = image->elementData()->attributeLength();
|
||||
|
||||
if (fmt == QLatin1String("XPM.GZ")) {
|
||||
ulong length = size;
|
||||
QByteArray baunzip = unzipXPM(data, length);
|
||||
length = baunzip.size();
|
||||
// shouldn't we test the initial 'length' against the
|
||||
// resulting 'length' to catch corrupt UIC files?
|
||||
int a = 0;
|
||||
int column = 0;
|
||||
bool inQuote = false;
|
||||
output << indent << "/* XPM */\n"
|
||||
<< indent << "static const char* const " << img << "[] = { \n";
|
||||
while (baunzip[a] != '\"')
|
||||
a++;
|
||||
for (; a < (int) length; a++) {
|
||||
output << baunzip[a];
|
||||
if (baunzip[a] == '\n') {
|
||||
column = 0;
|
||||
} else if (baunzip[a] == '"') {
|
||||
inQuote = !inQuote;
|
||||
}
|
||||
|
||||
column++;
|
||||
if (limitXPM_LineLength && column >= 512 && inQuote) {
|
||||
output << "\"\n\""; // be nice with MSVC & Co.
|
||||
column = 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (! baunzip.trimmed ().endsWith ("};"))
|
||||
output << "};";
|
||||
|
||||
output << "\n\n";
|
||||
} else {
|
||||
output << indent << "static const unsigned char " << img << "[] = { \n";
|
||||
output << indent;
|
||||
int a ;
|
||||
for (a = 0; a < (int) (data.length()/2)-1; a++) {
|
||||
output << "0x" << QString(data[2*a]) << QString(data[2*a+1]) << ',';
|
||||
if (a % 12 == 11)
|
||||
output << '\n' << indent;
|
||||
else
|
||||
output << ' ';
|
||||
}
|
||||
output << "0x" << QString(data[2*a]) << QString(data[2*a+1]) << '\n';
|
||||
output << "};\n\n";
|
||||
}
|
||||
}
|
||||
|
||||
void WriteIconData::writeImage(QIODevice &output, DomImage *image)
|
||||
{
|
||||
const QByteArray array = transformImageData(image->elementData()->text());
|
||||
output.write(array.constData(), array.size());
|
||||
}
|
||||
|
||||
} // namespace CPP
|
||||
|
||||
QT_END_NAMESPACE
|
@ -1,68 +0,0 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2016 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the tools applications of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:GPL-EXCEPT$
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
#ifndef CPPWRITEICONDATA_H
|
||||
#define CPPWRITEICONDATA_H
|
||||
|
||||
#include "treewalker.h"
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
class QTextStream;
|
||||
class QIODevice;
|
||||
class Driver;
|
||||
class Uic;
|
||||
|
||||
struct Option;
|
||||
|
||||
namespace CPP {
|
||||
|
||||
class WriteIconData : public TreeWalker
|
||||
{
|
||||
public:
|
||||
WriteIconData(Uic *uic);
|
||||
|
||||
void acceptUI(DomUI *node) Q_DECL_OVERRIDE;
|
||||
void acceptImages(DomImages *images) Q_DECL_OVERRIDE;
|
||||
void acceptImage(DomImage *image) Q_DECL_OVERRIDE;
|
||||
|
||||
static void writeImage(QTextStream &output, const QString &indent,
|
||||
bool limitXPM_LineLength, const DomImage *image);
|
||||
static void writeImage(QIODevice &output, DomImage *image);
|
||||
|
||||
private:
|
||||
Driver *driver;
|
||||
QTextStream &output;
|
||||
const Option &option;
|
||||
};
|
||||
|
||||
} // namespace CPP
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
#endif // CPPWRITEICONDATA_H
|
@ -1,67 +0,0 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2016 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the tools applications of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:GPL-EXCEPT$
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
#include "cppwriteicondeclaration.h"
|
||||
#include "driver.h"
|
||||
#include "ui4.h"
|
||||
#include "uic.h"
|
||||
|
||||
#include <qtextstream.h>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
namespace CPP {
|
||||
|
||||
WriteIconDeclaration::WriteIconDeclaration(Uic *uic)
|
||||
: driver(uic->driver()), output(uic->output()), option(uic->option())
|
||||
{
|
||||
}
|
||||
|
||||
void WriteIconDeclaration::acceptUI(DomUI *node)
|
||||
{
|
||||
TreeWalker::acceptUI(node);
|
||||
}
|
||||
|
||||
void WriteIconDeclaration::acceptImages(DomImages *images)
|
||||
{
|
||||
TreeWalker::acceptImages(images);
|
||||
}
|
||||
|
||||
void WriteIconDeclaration::acceptImage(DomImage *image)
|
||||
{
|
||||
QString name = image->attributeName();
|
||||
if (name.isEmpty())
|
||||
return;
|
||||
|
||||
driver->insertPixmap(name);
|
||||
output << option.indent << option.indent << name << "_ID,\n";
|
||||
}
|
||||
|
||||
} // namespace CPP
|
||||
|
||||
QT_END_NAMESPACE
|
@ -1,63 +0,0 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2016 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the tools applications of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:GPL-EXCEPT$
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
#ifndef CPPWRITEICONDECLARATION_H
|
||||
#define CPPWRITEICONDECLARATION_H
|
||||
|
||||
#include "treewalker.h"
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
class QTextStream;
|
||||
class Driver;
|
||||
class Uic;
|
||||
|
||||
struct Option;
|
||||
|
||||
namespace CPP {
|
||||
|
||||
class WriteIconDeclaration : public TreeWalker
|
||||
{
|
||||
public:
|
||||
WriteIconDeclaration(Uic *uic);
|
||||
|
||||
void acceptUI(DomUI *node) Q_DECL_OVERRIDE;
|
||||
void acceptImages(DomImages *images) Q_DECL_OVERRIDE;
|
||||
void acceptImage(DomImage *image) Q_DECL_OVERRIDE;
|
||||
|
||||
private:
|
||||
Driver *driver;
|
||||
QTextStream &output;
|
||||
const Option &option;
|
||||
};
|
||||
|
||||
} // namespace CPP
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
#endif // CPPWRITEICONDECLARATION_H
|
@ -1,102 +0,0 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2016 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the tools applications of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:GPL-EXCEPT$
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
#include "cppwriteiconinitialization.h"
|
||||
#include "cppwriteicondata.h"
|
||||
#include "driver.h"
|
||||
#include "ui4.h"
|
||||
#include "utils.h"
|
||||
#include "uic.h"
|
||||
|
||||
#include <qtextstream.h>
|
||||
#include <qstring.h>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
namespace CPP {
|
||||
|
||||
WriteIconInitialization::WriteIconInitialization(Uic *uic)
|
||||
: driver(uic->driver()), output(uic->output()), option(uic->option())
|
||||
{
|
||||
this->uic = uic;
|
||||
}
|
||||
|
||||
void WriteIconInitialization::acceptUI(DomUI *node)
|
||||
{
|
||||
if (node->elementImages() == 0)
|
||||
return;
|
||||
|
||||
QString className = node->elementClass() + option.postfix;
|
||||
|
||||
output << option.indent << "static QPixmap " << iconFromDataFunction() << "(IconID id)\n"
|
||||
<< option.indent << "{\n";
|
||||
|
||||
WriteIconData(uic).acceptUI(node);
|
||||
|
||||
output << option.indent << "switch (id) {\n";
|
||||
|
||||
TreeWalker::acceptUI(node);
|
||||
|
||||
output << option.indent << option.indent << "default: return QPixmap();\n";
|
||||
|
||||
output << option.indent << "} // switch\n"
|
||||
<< option.indent << "} // icon\n\n";
|
||||
}
|
||||
|
||||
QString WriteIconInitialization::iconFromDataFunction()
|
||||
{
|
||||
return QLatin1String("qt_get_icon");
|
||||
}
|
||||
|
||||
void WriteIconInitialization::acceptImages(DomImages *images)
|
||||
{
|
||||
TreeWalker::acceptImages(images);
|
||||
}
|
||||
|
||||
void WriteIconInitialization::acceptImage(DomImage *image)
|
||||
{
|
||||
QString img = image->attributeName() + QLatin1String("_data");
|
||||
QString data = image->elementData()->text();
|
||||
QString fmt = image->elementData()->attributeFormat();
|
||||
|
||||
QString imageId = image->attributeName() + QLatin1String("_ID");
|
||||
QString imageData = image->attributeName() + QLatin1String("_data");
|
||||
QString ind = option.indent + option.indent;
|
||||
|
||||
output << ind << "case " << imageId << ": ";
|
||||
|
||||
if (fmt == QLatin1String("XPM.GZ")) {
|
||||
output << "return " << "QPixmap((const char**)" << imageData << ");\n";
|
||||
} else {
|
||||
output << " { QImage img; img.loadFromData(" << imageData << ", sizeof(" << imageData << "), " << fixString(fmt, ind) << "); return QPixmap::fromImage(img); }\n";
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace CPP
|
||||
|
||||
QT_END_NAMESPACE
|
@ -1,68 +0,0 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2016 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the tools applications of the Qt Toolkit.
|
||||
**
|
||||
** $QT_BEGIN_LICENSE:GPL-EXCEPT$
|
||||
** Commercial License Usage
|
||||
** Licensees holding valid commercial Qt licenses may use this file in
|
||||
** accordance with the commercial license agreement provided with the
|
||||
** Software or, alternatively, in accordance with the terms contained in
|
||||
** a written agreement between you and The Qt Company. For licensing terms
|
||||
** and conditions see https://www.qt.io/terms-conditions. For further
|
||||
** information use the contact form at https://www.qt.io/contact-us.
|
||||
**
|
||||
** GNU General Public License Usage
|
||||
** Alternatively, this file may be used under the terms of the GNU
|
||||
** General Public License version 3 as published by the Free Software
|
||||
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
||||
** included in the packaging of this file. Please review the following
|
||||
** information to ensure the GNU General Public License requirements will
|
||||
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
||||
**
|
||||
** $QT_END_LICENSE$
|
||||
**
|
||||
****************************************************************************/
|
||||
|
||||
#ifndef CPPWRITEICONINITIALIZATION_H
|
||||
#define CPPWRITEICONINITIALIZATION_H
|
||||
|
||||
#include "treewalker.h"
|
||||
|
||||
class QString;
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
class QTextStream;
|
||||
class Driver;
|
||||
class Uic;
|
||||
|
||||
struct Option;
|
||||
|
||||
namespace CPP {
|
||||
|
||||
class WriteIconInitialization : public TreeWalker
|
||||
{
|
||||
public:
|
||||
WriteIconInitialization(Uic *uic);
|
||||
|
||||
void acceptUI(DomUI *node) Q_DECL_OVERRIDE;
|
||||
void acceptImages(DomImages *images) Q_DECL_OVERRIDE;
|
||||
void acceptImage(DomImage *image) Q_DECL_OVERRIDE;
|
||||
|
||||
static QString iconFromDataFunction();
|
||||
|
||||
private:
|
||||
Uic *uic;
|
||||
Driver *driver;
|
||||
QTextStream &output;
|
||||
const Option &option;
|
||||
};
|
||||
|
||||
} // namespace CPP
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
#endif // CPPWRITEICONINITIALIZATION_H
|
@ -69,7 +69,7 @@ static inline QString moduleHeader(const QString &module, const QString &header)
|
||||
namespace CPP {
|
||||
|
||||
WriteIncludes::WriteIncludes(Uic *uic)
|
||||
: m_uic(uic), m_output(uic->output()), m_scriptsActivated(false), m_laidOut(false)
|
||||
: m_uic(uic), m_output(uic->output()), m_laidOut(false)
|
||||
{
|
||||
// When possible (no namespace) use the "QtModule/QClass" convention
|
||||
// and create a re-mapping of the old header "qclass.h" to it. Do not do this
|
||||
@ -92,7 +92,6 @@ WriteIncludes::WriteIncludes(Uic *uic)
|
||||
|
||||
void WriteIncludes::acceptUI(DomUI *node)
|
||||
{
|
||||
m_scriptsActivated = false;
|
||||
m_laidOut = false;
|
||||
m_localIncludes.clear();
|
||||
m_globalIncludes.clear();
|
||||
@ -231,10 +230,6 @@ void WriteIncludes::acceptCustomWidget(DomCustomWidget *node)
|
||||
if (className.isEmpty())
|
||||
return;
|
||||
|
||||
if (const DomScript *domScript = node->elementScript())
|
||||
if (!domScript->text().isEmpty())
|
||||
activateScripts();
|
||||
|
||||
if (!node->elementHeader() || node->elementHeader()->text().isEmpty()) {
|
||||
add(className, false); // no header specified
|
||||
} else {
|
||||
@ -296,21 +291,6 @@ void WriteIncludes::writeHeaders(const OrderedSet &headers, bool global)
|
||||
}
|
||||
}
|
||||
|
||||
void WriteIncludes::acceptWidgetScripts(const DomScripts &scripts, DomWidget *, const DomWidgets &)
|
||||
{
|
||||
if (!scripts.empty()) {
|
||||
activateScripts();
|
||||
}
|
||||
}
|
||||
|
||||
void WriteIncludes::activateScripts()
|
||||
{
|
||||
if (!m_scriptsActivated) {
|
||||
add(QLatin1String("QScriptEngine"));
|
||||
add(QLatin1String("QDebug"));
|
||||
m_scriptsActivated = true;
|
||||
}
|
||||
}
|
||||
} // namespace CPP
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
@ -54,7 +54,6 @@ struct WriteIncludes : public TreeWalker
|
||||
void acceptLayout(DomLayout *node) Q_DECL_OVERRIDE;
|
||||
void acceptSpacer(DomSpacer *node) Q_DECL_OVERRIDE;
|
||||
void acceptProperty(DomProperty *node) Q_DECL_OVERRIDE;
|
||||
void acceptWidgetScripts(const DomScripts &, DomWidget *, const DomWidgets &) Q_DECL_OVERRIDE;
|
||||
|
||||
//
|
||||
// custom widgets
|
||||
@ -68,8 +67,6 @@ struct WriteIncludes : public TreeWalker
|
||||
void acceptIncludes(DomIncludes *node) Q_DECL_OVERRIDE;
|
||||
void acceptInclude(DomInclude *node) Q_DECL_OVERRIDE;
|
||||
|
||||
bool scriptsActivated() const { return m_scriptsActivated; }
|
||||
|
||||
private:
|
||||
void add(const QString &className, bool determineHeader = true, const QString &header = QString(), bool global = false);
|
||||
|
||||
@ -79,7 +76,6 @@ private:
|
||||
void insertInclude(const QString &header, bool global);
|
||||
void writeHeaders(const OrderedSet &headers, bool global);
|
||||
QString headerForClassName(const QString &className) const;
|
||||
void activateScripts();
|
||||
|
||||
const Uic *m_uic;
|
||||
QTextStream &m_output;
|
||||
@ -94,7 +90,6 @@ private:
|
||||
StringMap m_classToHeader;
|
||||
StringMap m_oldHeaderToNewHeader;
|
||||
|
||||
bool m_scriptsActivated;
|
||||
bool m_laidOut;
|
||||
};
|
||||
|
||||
|
@ -27,7 +27,6 @@
|
||||
****************************************************************************/
|
||||
|
||||
#include "cppwriteinitialization.h"
|
||||
#include "cppwriteiconinitialization.h"
|
||||
#include "driver.h"
|
||||
#include "ui4.h"
|
||||
#include "utils.h"
|
||||
@ -130,11 +129,6 @@ namespace {
|
||||
str << indent << varName << "->" << setter << '(' << v << ");\n";
|
||||
}
|
||||
|
||||
void writeSetupUIScriptVariableDeclarations(const QString &indent, QTextStream &str) {
|
||||
str << indent << "ScriptContext scriptContext;\n"
|
||||
<< indent << "QWidgetList childWidgets;\n";
|
||||
}
|
||||
|
||||
static inline bool iconHasStatePixmaps(const DomResourceIcon *i) {
|
||||
return i->hasElementNormalOff() || i->hasElementNormalOn() ||
|
||||
i->hasElementDisabledOff() || i->hasElementDisabledOn() ||
|
||||
@ -464,7 +458,7 @@ static bool needsTranslation(const DomElement *element)
|
||||
}
|
||||
|
||||
// --- WriteInitialization
|
||||
WriteInitialization::WriteInitialization(Uic *uic, bool activateScripts) :
|
||||
WriteInitialization::WriteInitialization(Uic *uic) :
|
||||
m_uic(uic),
|
||||
m_driver(uic->driver()), m_output(uic->output()), m_option(uic->option()),
|
||||
m_indent(m_option.indent + m_option.indent),
|
||||
@ -475,14 +469,13 @@ WriteInitialization::WriteInitialization(Uic *uic, bool activateScripts) :
|
||||
m_delayedOut(&m_delayedInitialization, QIODevice::WriteOnly),
|
||||
m_refreshOut(&m_refreshInitialization, QIODevice::WriteOnly),
|
||||
m_actionOut(&m_delayedActionInitialization, QIODevice::WriteOnly),
|
||||
m_activateScripts(activateScripts), m_layoutWidget(false),
|
||||
m_layoutWidget(false),
|
||||
m_firstThemeIcon(true)
|
||||
{
|
||||
}
|
||||
|
||||
void WriteInitialization::acceptUI(DomUI *node)
|
||||
{
|
||||
m_registeredImages.clear();
|
||||
m_actionGroupChain.push(0);
|
||||
m_widgetChain.push(0);
|
||||
m_layoutChain.push(0);
|
||||
@ -493,9 +486,6 @@ void WriteInitialization::acceptUI(DomUI *node)
|
||||
if (node->elementCustomWidgets())
|
||||
TreeWalker::acceptCustomWidgets(node->elementCustomWidgets());
|
||||
|
||||
if (node->elementImages())
|
||||
TreeWalker::acceptImages(node->elementImages());
|
||||
|
||||
if (m_option.generateImplemetation)
|
||||
m_output << "#include <" << m_driver->headerFileName() << ">\n\n";
|
||||
|
||||
@ -515,9 +505,6 @@ void WriteInitialization::acceptUI(DomUI *node)
|
||||
m_output << m_option.indent << "void " << "setupUi(" << widgetClassName << " *" << varName << ")\n"
|
||||
<< m_option.indent << "{\n";
|
||||
|
||||
if (m_activateScripts)
|
||||
writeSetupUIScriptVariableDeclarations(m_indent, m_output);
|
||||
|
||||
const QStringList connections = m_uic->databaseInfo()->connections();
|
||||
for (int i=0; i<connections.size(); ++i) {
|
||||
QString connection = connections.at(i);
|
||||
@ -1895,23 +1882,6 @@ QString WriteInitialization::pixCall(const QString &t, const QString &text) cons
|
||||
type += QLatin1String("()");
|
||||
return type;
|
||||
}
|
||||
if (const DomImage *image = findImage(text)) {
|
||||
if (m_option.extractImages) {
|
||||
const QString format = image->elementData()->attributeFormat();
|
||||
const QString extension = format.left(format.indexOf(QLatin1Char('.'))).toLower();
|
||||
return QLatin1String("QPixmap(QString::fromUtf8(\":/")
|
||||
+ m_generatedClass
|
||||
+ QLatin1String("/images/")
|
||||
+ text
|
||||
+ QLatin1Char('.')
|
||||
+ extension
|
||||
+ QLatin1String("\"))");
|
||||
}
|
||||
return WriteIconInitialization::iconFromDataFunction()
|
||||
+ QLatin1Char('(')
|
||||
+ text
|
||||
+ QLatin1String("_ID)");
|
||||
}
|
||||
|
||||
QString pixFunc = m_uic->pixmapFunction();
|
||||
if (pixFunc.isEmpty())
|
||||
@ -2429,11 +2399,6 @@ void WriteInitialization::acceptConnection(DomConnection *connection)
|
||||
<< ");\n";
|
||||
}
|
||||
|
||||
DomImage *WriteInitialization::findImage(const QString &name) const
|
||||
{
|
||||
return m_registeredImages.value(name);
|
||||
}
|
||||
|
||||
DomWidget *WriteInitialization::findWidget(QLatin1String widgetClass)
|
||||
{
|
||||
for (int i = m_widgetChain.count() - 1; i >= 0; --i) {
|
||||
@ -2446,49 +2411,6 @@ DomWidget *WriteInitialization::findWidget(QLatin1String widgetClass)
|
||||
return 0;
|
||||
}
|
||||
|
||||
void WriteInitialization::acceptImage(DomImage *image)
|
||||
{
|
||||
if (!image->hasAttributeName())
|
||||
return;
|
||||
|
||||
m_registeredImages.insert(image->attributeName(), image);
|
||||
}
|
||||
|
||||
void WriteInitialization::acceptWidgetScripts(const DomScripts &widgetScripts, DomWidget *node, const DomWidgets &childWidgets)
|
||||
{
|
||||
// Add the per-class custom scripts to the per-widget ones.
|
||||
DomScripts scripts(widgetScripts);
|
||||
|
||||
if (DomScript *customWidgetScript = m_uic->customWidgetsInfo()->customWidgetScript(node->attributeClass()))
|
||||
scripts.push_front(customWidgetScript);
|
||||
|
||||
if (scripts.empty())
|
||||
return;
|
||||
|
||||
// concatenate script snippets
|
||||
QString script;
|
||||
for (const DomScript *domScript : qAsConst(scripts)) {
|
||||
const QString snippet = domScript->text();
|
||||
if (!snippet.isEmpty())
|
||||
script += QStringRef(&snippet).trimmed() + QLatin1Char('\n');
|
||||
}
|
||||
if (script.isEmpty())
|
||||
return;
|
||||
|
||||
// Build the list of children and insert call
|
||||
m_output << m_indent << "childWidgets.clear();\n";
|
||||
if (!childWidgets.empty()) {
|
||||
m_output << m_indent << "childWidgets";
|
||||
for (DomWidget *child : childWidgets)
|
||||
m_output << " << " << m_driver->findOrInsertWidget(child);
|
||||
m_output << ";\n";
|
||||
}
|
||||
m_output << m_indent << "scriptContext.run("
|
||||
<< writeString(script, m_dindent) << ", "
|
||||
<< m_driver->findOrInsertWidget(node) << ", childWidgets);\n";
|
||||
}
|
||||
|
||||
|
||||
static void generateMultiDirectiveBegin(QTextStream &outputStream, const QSet<QString> &directives)
|
||||
{
|
||||
if (directives.isEmpty())
|
||||
|
@ -88,14 +88,13 @@ struct WriteInitialization : public TreeWalker
|
||||
typedef QList<DomProperty*> DomPropertyList;
|
||||
typedef QHash<QString, DomProperty*> DomPropertyMap;
|
||||
|
||||
WriteInitialization(Uic *uic, bool activateScripts);
|
||||
WriteInitialization(Uic *uic);
|
||||
|
||||
//
|
||||
// widgets
|
||||
//
|
||||
void acceptUI(DomUI *node) Q_DECL_OVERRIDE;
|
||||
void acceptWidget(DomWidget *node) Q_DECL_OVERRIDE;
|
||||
void acceptWidgetScripts(const DomScripts &, DomWidget *node, const DomWidgets &childWidgets) Q_DECL_OVERRIDE;
|
||||
|
||||
void acceptLayout(DomLayout *node) Q_DECL_OVERRIDE;
|
||||
void acceptSpacer(DomSpacer *node) Q_DECL_OVERRIDE;
|
||||
@ -130,11 +129,6 @@ struct WriteInitialization : public TreeWalker
|
||||
//
|
||||
void acceptConnection(DomConnection *connection) Q_DECL_OVERRIDE;
|
||||
|
||||
//
|
||||
// images
|
||||
//
|
||||
void acceptImage(DomImage *image) Q_DECL_OVERRIDE;
|
||||
|
||||
enum {
|
||||
Use43UiFile = 0,
|
||||
TopLevelMargin,
|
||||
@ -229,7 +223,6 @@ private:
|
||||
|
||||
QString findDeclaration(const QString &name);
|
||||
DomWidget *findWidget(QLatin1String widgetClass);
|
||||
DomImage *findImage(const QString &name) const;
|
||||
|
||||
bool isValidObject(const QString &name) const;
|
||||
|
||||
@ -263,7 +256,6 @@ private:
|
||||
|
||||
QSet<QString> m_buttonGroups;
|
||||
QHash<QString, DomWidget*> m_registeredWidgets;
|
||||
QHash<QString, DomImage*> m_registeredImages;
|
||||
QHash<QString, DomAction*> m_registeredActions;
|
||||
typedef QHash<uint, QString> ColorBrushHash;
|
||||
ColorBrushHash m_colorBrushHash;
|
||||
@ -314,7 +306,6 @@ private:
|
||||
|
||||
QString m_delayedActionInitialization;
|
||||
QTextStream m_actionOut;
|
||||
const bool m_activateScripts;
|
||||
|
||||
bool m_layoutWidget;
|
||||
bool m_firstThemeIcon;
|
||||
|
@ -91,18 +91,6 @@ QString CustomWidgetsInfo::realClassName(const QString &className) const
|
||||
return className;
|
||||
}
|
||||
|
||||
DomScript *CustomWidgetsInfo::customWidgetScript(const QString &name) const
|
||||
{
|
||||
if (m_customWidgets.empty())
|
||||
return 0;
|
||||
|
||||
const NameCustomWidgetMap::const_iterator it = m_customWidgets.constFind(name);
|
||||
if (it == m_customWidgets.constEnd())
|
||||
return 0;
|
||||
|
||||
return it.value()->elementScript();
|
||||
}
|
||||
|
||||
QString CustomWidgetsInfo::customWidgetAddPageMethod(const QString &name) const
|
||||
{
|
||||
if (DomCustomWidget *dcw = m_customWidgets.value(name, 0))
|
||||
|
@ -57,8 +57,6 @@ public:
|
||||
inline DomCustomWidget *customWidget(const QString &name) const
|
||||
{ return m_customWidgets.value(name); }
|
||||
|
||||
DomScript *customWidgetScript(const QString &name) const;
|
||||
|
||||
QString customWidgetAddPageMethod(const QString &name) const;
|
||||
|
||||
QString realClassName(const QString &className) const;
|
||||
|
@ -48,7 +48,6 @@ struct Option
|
||||
unsigned int generateNamespace : 1;
|
||||
unsigned int autoConnection : 1;
|
||||
unsigned int dependencies : 1;
|
||||
unsigned int extractImages : 1;
|
||||
unsigned int limitXPM_LineLength : 1;
|
||||
unsigned int implicitIncludes: 1;
|
||||
unsigned int idBased: 1;
|
||||
@ -74,7 +73,6 @@ struct Option
|
||||
generateNamespace(1),
|
||||
autoConnection(1),
|
||||
dependencies(0),
|
||||
extractImages(0),
|
||||
limitXPM_LineLength(0),
|
||||
implicitIncludes(1),
|
||||
idBased(0),
|
||||
|
@ -38,9 +38,6 @@ void TreeWalker::acceptUI(DomUI *ui)
|
||||
acceptButtonGroups(domButtonGroups);
|
||||
|
||||
acceptTabStops(ui->elementTabStops());
|
||||
|
||||
if (ui->elementImages())
|
||||
acceptImages(ui->elementImages());
|
||||
}
|
||||
|
||||
void TreeWalker::acceptLayoutDefault(DomLayoutDefault *layoutDefault)
|
||||
@ -112,8 +109,6 @@ void TreeWalker::acceptWidget(DomWidget *widget)
|
||||
|
||||
if (!widget->elementLayout().isEmpty())
|
||||
acceptLayout(widget->elementLayout().at(0));
|
||||
|
||||
acceptWidgetScripts(widget->elementScript(), widget, childWidgets);
|
||||
}
|
||||
|
||||
void TreeWalker::acceptSpacer(DomSpacer *spacer)
|
||||
@ -250,17 +245,6 @@ void TreeWalker::acceptActionRef(DomActionRef *actionRef)
|
||||
Q_UNUSED(actionRef);
|
||||
}
|
||||
|
||||
void TreeWalker::acceptImages(DomImages *images)
|
||||
{
|
||||
for (int i=0; i<images->elementImage().size(); ++i)
|
||||
acceptImage(images->elementImage().at(i));
|
||||
}
|
||||
|
||||
void TreeWalker::acceptImage(DomImage *image)
|
||||
{
|
||||
Q_UNUSED(image);
|
||||
}
|
||||
|
||||
void TreeWalker::acceptIncludes(DomIncludes *includes)
|
||||
{
|
||||
for (int i=0; i<includes->elementInclude().size(); ++i)
|
||||
@ -294,10 +278,6 @@ void TreeWalker::acceptConnectionHint(DomConnectionHint *connectionHint)
|
||||
Q_UNUSED(connectionHint);
|
||||
}
|
||||
|
||||
void TreeWalker::acceptWidgetScripts(const DomScripts &, DomWidget *, const DomWidgets &)
|
||||
{
|
||||
}
|
||||
|
||||
void TreeWalker::acceptButtonGroups(const DomButtonGroups *domButtonGroups)
|
||||
{
|
||||
const auto &domGroups = domButtonGroups->elementButtonGroup();
|
||||
|
@ -103,9 +103,6 @@ struct TreeWalker
|
||||
virtual void acceptProperty(DomProperty *property);
|
||||
typedef QVector<DomScript *> DomScripts;
|
||||
typedef QVector<DomWidget *> DomWidgets;
|
||||
virtual void acceptWidgetScripts(const DomScripts &, DomWidget *node, const DomWidgets &childWidgets);
|
||||
virtual void acceptImages(DomImages *images);
|
||||
virtual void acceptImage(DomImage *image);
|
||||
virtual void acceptIncludes(DomIncludes *includes);
|
||||
virtual void acceptInclude(DomInclude *incl);
|
||||
virtual void acceptAction(DomAction *action);
|
||||
|
File diff suppressed because it is too large
Load Diff
1209
src/tools/uic/ui4.h
1209
src/tools/uic/ui4.h
File diff suppressed because it is too large
Load Diff
@ -52,8 +52,7 @@ QT_BEGIN_NAMESPACE
|
||||
Uic::Uic(Driver *d)
|
||||
: drv(d),
|
||||
out(d->output()),
|
||||
opt(d->option()),
|
||||
externalPix(true)
|
||||
opt(d->option())
|
||||
{
|
||||
}
|
||||
|
||||
@ -253,15 +252,13 @@ bool Uic::write(DomUI *ui)
|
||||
if (pixFunction == QLatin1String("QPixmap::fromMimeSource"))
|
||||
pixFunction = QLatin1String("qPixmapFromMimeSource");
|
||||
|
||||
externalPix = ui->elementImages() == 0;
|
||||
|
||||
info.acceptUI(ui);
|
||||
cWidgetsInfo.acceptUI(ui);
|
||||
WriteIncludes writeIncludes(this);
|
||||
writeIncludes.acceptUI(ui);
|
||||
|
||||
Validator(this).acceptUI(ui);
|
||||
WriteDeclaration(this, writeIncludes.scriptsActivated()).acceptUI(ui);
|
||||
WriteDeclaration(this).acceptUI(ui);
|
||||
|
||||
if (opt.headerProtection)
|
||||
writeHeaderProtectionEnd();
|
||||
|
@ -74,12 +74,6 @@ public:
|
||||
inline void setPixmapFunction(const QString &f)
|
||||
{ pixFunction = f; }
|
||||
|
||||
inline bool hasExternalPixmap() const
|
||||
{ return externalPix; }
|
||||
|
||||
inline void setExternalPixmap(bool b)
|
||||
{ externalPix = b; }
|
||||
|
||||
inline const DatabaseInfo *databaseInfo() const
|
||||
{ return &info; }
|
||||
|
||||
@ -123,7 +117,6 @@ private:
|
||||
DatabaseInfo info;
|
||||
CustomWidgetsInfo cWidgetsInfo;
|
||||
QString pixFunction;
|
||||
bool externalPix;
|
||||
};
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
Loading…
Reference in New Issue
Block a user