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
|
DEFINES += QT_UIC_CPP_GENERATOR
|
||||||
|
|
||||||
# Input
|
# Input
|
||||||
HEADERS += $$PWD/cppextractimages.h \
|
HEADERS += $$PWD/cppwritedeclaration.h \
|
||||||
$$PWD/cppwritedeclaration.h \
|
|
||||||
$$PWD/cppwriteicondata.h \
|
|
||||||
$$PWD/cppwriteicondeclaration.h \
|
|
||||||
$$PWD/cppwriteiconinitialization.h \
|
|
||||||
$$PWD/cppwriteincludes.h \
|
$$PWD/cppwriteincludes.h \
|
||||||
$$PWD/cppwriteinitialization.h
|
$$PWD/cppwriteinitialization.h
|
||||||
|
|
||||||
SOURCES += $$PWD/cppextractimages.cpp \
|
SOURCES += $$PWD/cppwritedeclaration.cpp \
|
||||||
$$PWD/cppwritedeclaration.cpp \
|
|
||||||
$$PWD/cppwriteicondata.cpp \
|
|
||||||
$$PWD/cppwriteicondeclaration.cpp \
|
|
||||||
$$PWD/cppwriteiconinitialization.cpp \
|
|
||||||
$$PWD/cppwriteincludes.cpp \
|
$$PWD/cppwriteincludes.cpp \
|
||||||
$$PWD/cppwriteinitialization.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 "cppwritedeclaration.h"
|
||||||
#include "cppwriteicondeclaration.h"
|
|
||||||
#include "cppwriteinitialization.h"
|
#include "cppwriteinitialization.h"
|
||||||
#include "cppwriteiconinitialization.h"
|
|
||||||
#include "cppextractimages.h"
|
|
||||||
#include "driver.h"
|
#include "driver.h"
|
||||||
#include "ui4.h"
|
#include "ui4.h"
|
||||||
#include "uic.h"
|
#include "uic.h"
|
||||||
@ -56,47 +53,15 @@ namespace {
|
|||||||
output << "} // namespace " << *it << "\n";
|
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 {
|
namespace CPP {
|
||||||
|
|
||||||
WriteDeclaration::WriteDeclaration(Uic *uic, bool activateScripts) :
|
WriteDeclaration::WriteDeclaration(Uic *uic) :
|
||||||
m_uic(uic),
|
m_uic(uic),
|
||||||
m_driver(uic->driver()),
|
m_driver(uic->driver()),
|
||||||
m_output(uic->output()),
|
m_output(uic->output()),
|
||||||
m_option(uic->option()),
|
m_option(uic->option())
|
||||||
m_activateScripts(activateScripts)
|
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -154,29 +119,7 @@ void WriteDeclaration::acceptUI(DomUI *node)
|
|||||||
|
|
||||||
m_output << "\n";
|
m_output << "\n";
|
||||||
|
|
||||||
WriteInitialization(m_uic, m_activateScripts).acceptUI(node);
|
WriteInitialization(m_uic).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);
|
|
||||||
}
|
|
||||||
|
|
||||||
m_output << "};\n\n";
|
m_output << "};\n\n";
|
||||||
|
|
||||||
|
@ -43,7 +43,7 @@ namespace CPP {
|
|||||||
|
|
||||||
struct WriteDeclaration : public TreeWalker
|
struct WriteDeclaration : public TreeWalker
|
||||||
{
|
{
|
||||||
WriteDeclaration(Uic *uic, bool activateScripts);
|
WriteDeclaration(Uic *uic);
|
||||||
|
|
||||||
void acceptUI(DomUI *node) Q_DECL_OVERRIDE;
|
void acceptUI(DomUI *node) Q_DECL_OVERRIDE;
|
||||||
void acceptWidget(DomWidget *node) Q_DECL_OVERRIDE;
|
void acceptWidget(DomWidget *node) Q_DECL_OVERRIDE;
|
||||||
@ -58,7 +58,6 @@ private:
|
|||||||
Driver *m_driver;
|
Driver *m_driver;
|
||||||
QTextStream &m_output;
|
QTextStream &m_output;
|
||||||
const Option &m_option;
|
const Option &m_option;
|
||||||
const bool m_activateScripts;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace CPP
|
} // 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 {
|
namespace CPP {
|
||||||
|
|
||||||
WriteIncludes::WriteIncludes(Uic *uic)
|
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
|
// 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
|
// 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)
|
void WriteIncludes::acceptUI(DomUI *node)
|
||||||
{
|
{
|
||||||
m_scriptsActivated = false;
|
|
||||||
m_laidOut = false;
|
m_laidOut = false;
|
||||||
m_localIncludes.clear();
|
m_localIncludes.clear();
|
||||||
m_globalIncludes.clear();
|
m_globalIncludes.clear();
|
||||||
@ -231,10 +230,6 @@ void WriteIncludes::acceptCustomWidget(DomCustomWidget *node)
|
|||||||
if (className.isEmpty())
|
if (className.isEmpty())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (const DomScript *domScript = node->elementScript())
|
|
||||||
if (!domScript->text().isEmpty())
|
|
||||||
activateScripts();
|
|
||||||
|
|
||||||
if (!node->elementHeader() || node->elementHeader()->text().isEmpty()) {
|
if (!node->elementHeader() || node->elementHeader()->text().isEmpty()) {
|
||||||
add(className, false); // no header specified
|
add(className, false); // no header specified
|
||||||
} else {
|
} 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
|
} // namespace CPP
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
|
@ -54,7 +54,6 @@ struct WriteIncludes : public TreeWalker
|
|||||||
void acceptLayout(DomLayout *node) Q_DECL_OVERRIDE;
|
void acceptLayout(DomLayout *node) Q_DECL_OVERRIDE;
|
||||||
void acceptSpacer(DomSpacer *node) Q_DECL_OVERRIDE;
|
void acceptSpacer(DomSpacer *node) Q_DECL_OVERRIDE;
|
||||||
void acceptProperty(DomProperty *node) Q_DECL_OVERRIDE;
|
void acceptProperty(DomProperty *node) Q_DECL_OVERRIDE;
|
||||||
void acceptWidgetScripts(const DomScripts &, DomWidget *, const DomWidgets &) Q_DECL_OVERRIDE;
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// custom widgets
|
// custom widgets
|
||||||
@ -68,8 +67,6 @@ struct WriteIncludes : public TreeWalker
|
|||||||
void acceptIncludes(DomIncludes *node) Q_DECL_OVERRIDE;
|
void acceptIncludes(DomIncludes *node) Q_DECL_OVERRIDE;
|
||||||
void acceptInclude(DomInclude *node) Q_DECL_OVERRIDE;
|
void acceptInclude(DomInclude *node) Q_DECL_OVERRIDE;
|
||||||
|
|
||||||
bool scriptsActivated() const { return m_scriptsActivated; }
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void add(const QString &className, bool determineHeader = true, const QString &header = QString(), bool global = false);
|
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 insertInclude(const QString &header, bool global);
|
||||||
void writeHeaders(const OrderedSet &headers, bool global);
|
void writeHeaders(const OrderedSet &headers, bool global);
|
||||||
QString headerForClassName(const QString &className) const;
|
QString headerForClassName(const QString &className) const;
|
||||||
void activateScripts();
|
|
||||||
|
|
||||||
const Uic *m_uic;
|
const Uic *m_uic;
|
||||||
QTextStream &m_output;
|
QTextStream &m_output;
|
||||||
@ -94,7 +90,6 @@ private:
|
|||||||
StringMap m_classToHeader;
|
StringMap m_classToHeader;
|
||||||
StringMap m_oldHeaderToNewHeader;
|
StringMap m_oldHeaderToNewHeader;
|
||||||
|
|
||||||
bool m_scriptsActivated;
|
|
||||||
bool m_laidOut;
|
bool m_laidOut;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -27,7 +27,6 @@
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#include "cppwriteinitialization.h"
|
#include "cppwriteinitialization.h"
|
||||||
#include "cppwriteiconinitialization.h"
|
|
||||||
#include "driver.h"
|
#include "driver.h"
|
||||||
#include "ui4.h"
|
#include "ui4.h"
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
@ -130,11 +129,6 @@ namespace {
|
|||||||
str << indent << varName << "->" << setter << '(' << v << ");\n";
|
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) {
|
static inline bool iconHasStatePixmaps(const DomResourceIcon *i) {
|
||||||
return i->hasElementNormalOff() || i->hasElementNormalOn() ||
|
return i->hasElementNormalOff() || i->hasElementNormalOn() ||
|
||||||
i->hasElementDisabledOff() || i->hasElementDisabledOn() ||
|
i->hasElementDisabledOff() || i->hasElementDisabledOn() ||
|
||||||
@ -464,7 +458,7 @@ static bool needsTranslation(const DomElement *element)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// --- WriteInitialization
|
// --- WriteInitialization
|
||||||
WriteInitialization::WriteInitialization(Uic *uic, bool activateScripts) :
|
WriteInitialization::WriteInitialization(Uic *uic) :
|
||||||
m_uic(uic),
|
m_uic(uic),
|
||||||
m_driver(uic->driver()), m_output(uic->output()), m_option(uic->option()),
|
m_driver(uic->driver()), m_output(uic->output()), m_option(uic->option()),
|
||||||
m_indent(m_option.indent + m_option.indent),
|
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_delayedOut(&m_delayedInitialization, QIODevice::WriteOnly),
|
||||||
m_refreshOut(&m_refreshInitialization, QIODevice::WriteOnly),
|
m_refreshOut(&m_refreshInitialization, QIODevice::WriteOnly),
|
||||||
m_actionOut(&m_delayedActionInitialization, QIODevice::WriteOnly),
|
m_actionOut(&m_delayedActionInitialization, QIODevice::WriteOnly),
|
||||||
m_activateScripts(activateScripts), m_layoutWidget(false),
|
m_layoutWidget(false),
|
||||||
m_firstThemeIcon(true)
|
m_firstThemeIcon(true)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
void WriteInitialization::acceptUI(DomUI *node)
|
void WriteInitialization::acceptUI(DomUI *node)
|
||||||
{
|
{
|
||||||
m_registeredImages.clear();
|
|
||||||
m_actionGroupChain.push(0);
|
m_actionGroupChain.push(0);
|
||||||
m_widgetChain.push(0);
|
m_widgetChain.push(0);
|
||||||
m_layoutChain.push(0);
|
m_layoutChain.push(0);
|
||||||
@ -493,9 +486,6 @@ void WriteInitialization::acceptUI(DomUI *node)
|
|||||||
if (node->elementCustomWidgets())
|
if (node->elementCustomWidgets())
|
||||||
TreeWalker::acceptCustomWidgets(node->elementCustomWidgets());
|
TreeWalker::acceptCustomWidgets(node->elementCustomWidgets());
|
||||||
|
|
||||||
if (node->elementImages())
|
|
||||||
TreeWalker::acceptImages(node->elementImages());
|
|
||||||
|
|
||||||
if (m_option.generateImplemetation)
|
if (m_option.generateImplemetation)
|
||||||
m_output << "#include <" << m_driver->headerFileName() << ">\n\n";
|
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_output << m_option.indent << "void " << "setupUi(" << widgetClassName << " *" << varName << ")\n"
|
||||||
<< m_option.indent << "{\n";
|
<< m_option.indent << "{\n";
|
||||||
|
|
||||||
if (m_activateScripts)
|
|
||||||
writeSetupUIScriptVariableDeclarations(m_indent, m_output);
|
|
||||||
|
|
||||||
const QStringList connections = m_uic->databaseInfo()->connections();
|
const QStringList connections = m_uic->databaseInfo()->connections();
|
||||||
for (int i=0; i<connections.size(); ++i) {
|
for (int i=0; i<connections.size(); ++i) {
|
||||||
QString connection = connections.at(i);
|
QString connection = connections.at(i);
|
||||||
@ -1895,23 +1882,6 @@ QString WriteInitialization::pixCall(const QString &t, const QString &text) cons
|
|||||||
type += QLatin1String("()");
|
type += QLatin1String("()");
|
||||||
return type;
|
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();
|
QString pixFunc = m_uic->pixmapFunction();
|
||||||
if (pixFunc.isEmpty())
|
if (pixFunc.isEmpty())
|
||||||
@ -2429,11 +2399,6 @@ void WriteInitialization::acceptConnection(DomConnection *connection)
|
|||||||
<< ");\n";
|
<< ");\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
DomImage *WriteInitialization::findImage(const QString &name) const
|
|
||||||
{
|
|
||||||
return m_registeredImages.value(name);
|
|
||||||
}
|
|
||||||
|
|
||||||
DomWidget *WriteInitialization::findWidget(QLatin1String widgetClass)
|
DomWidget *WriteInitialization::findWidget(QLatin1String widgetClass)
|
||||||
{
|
{
|
||||||
for (int i = m_widgetChain.count() - 1; i >= 0; --i) {
|
for (int i = m_widgetChain.count() - 1; i >= 0; --i) {
|
||||||
@ -2446,49 +2411,6 @@ DomWidget *WriteInitialization::findWidget(QLatin1String widgetClass)
|
|||||||
return 0;
|
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)
|
static void generateMultiDirectiveBegin(QTextStream &outputStream, const QSet<QString> &directives)
|
||||||
{
|
{
|
||||||
if (directives.isEmpty())
|
if (directives.isEmpty())
|
||||||
|
@ -88,14 +88,13 @@ struct WriteInitialization : public TreeWalker
|
|||||||
typedef QList<DomProperty*> DomPropertyList;
|
typedef QList<DomProperty*> DomPropertyList;
|
||||||
typedef QHash<QString, DomProperty*> DomPropertyMap;
|
typedef QHash<QString, DomProperty*> DomPropertyMap;
|
||||||
|
|
||||||
WriteInitialization(Uic *uic, bool activateScripts);
|
WriteInitialization(Uic *uic);
|
||||||
|
|
||||||
//
|
//
|
||||||
// widgets
|
// widgets
|
||||||
//
|
//
|
||||||
void acceptUI(DomUI *node) Q_DECL_OVERRIDE;
|
void acceptUI(DomUI *node) Q_DECL_OVERRIDE;
|
||||||
void acceptWidget(DomWidget *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 acceptLayout(DomLayout *node) Q_DECL_OVERRIDE;
|
||||||
void acceptSpacer(DomSpacer *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;
|
void acceptConnection(DomConnection *connection) Q_DECL_OVERRIDE;
|
||||||
|
|
||||||
//
|
|
||||||
// images
|
|
||||||
//
|
|
||||||
void acceptImage(DomImage *image) Q_DECL_OVERRIDE;
|
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
Use43UiFile = 0,
|
Use43UiFile = 0,
|
||||||
TopLevelMargin,
|
TopLevelMargin,
|
||||||
@ -229,7 +223,6 @@ private:
|
|||||||
|
|
||||||
QString findDeclaration(const QString &name);
|
QString findDeclaration(const QString &name);
|
||||||
DomWidget *findWidget(QLatin1String widgetClass);
|
DomWidget *findWidget(QLatin1String widgetClass);
|
||||||
DomImage *findImage(const QString &name) const;
|
|
||||||
|
|
||||||
bool isValidObject(const QString &name) const;
|
bool isValidObject(const QString &name) const;
|
||||||
|
|
||||||
@ -263,7 +256,6 @@ private:
|
|||||||
|
|
||||||
QSet<QString> m_buttonGroups;
|
QSet<QString> m_buttonGroups;
|
||||||
QHash<QString, DomWidget*> m_registeredWidgets;
|
QHash<QString, DomWidget*> m_registeredWidgets;
|
||||||
QHash<QString, DomImage*> m_registeredImages;
|
|
||||||
QHash<QString, DomAction*> m_registeredActions;
|
QHash<QString, DomAction*> m_registeredActions;
|
||||||
typedef QHash<uint, QString> ColorBrushHash;
|
typedef QHash<uint, QString> ColorBrushHash;
|
||||||
ColorBrushHash m_colorBrushHash;
|
ColorBrushHash m_colorBrushHash;
|
||||||
@ -314,7 +306,6 @@ private:
|
|||||||
|
|
||||||
QString m_delayedActionInitialization;
|
QString m_delayedActionInitialization;
|
||||||
QTextStream m_actionOut;
|
QTextStream m_actionOut;
|
||||||
const bool m_activateScripts;
|
|
||||||
|
|
||||||
bool m_layoutWidget;
|
bool m_layoutWidget;
|
||||||
bool m_firstThemeIcon;
|
bool m_firstThemeIcon;
|
||||||
|
@ -91,18 +91,6 @@ QString CustomWidgetsInfo::realClassName(const QString &className) const
|
|||||||
return className;
|
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
|
QString CustomWidgetsInfo::customWidgetAddPageMethod(const QString &name) const
|
||||||
{
|
{
|
||||||
if (DomCustomWidget *dcw = m_customWidgets.value(name, 0))
|
if (DomCustomWidget *dcw = m_customWidgets.value(name, 0))
|
||||||
|
@ -57,8 +57,6 @@ public:
|
|||||||
inline DomCustomWidget *customWidget(const QString &name) const
|
inline DomCustomWidget *customWidget(const QString &name) const
|
||||||
{ return m_customWidgets.value(name); }
|
{ return m_customWidgets.value(name); }
|
||||||
|
|
||||||
DomScript *customWidgetScript(const QString &name) const;
|
|
||||||
|
|
||||||
QString customWidgetAddPageMethod(const QString &name) const;
|
QString customWidgetAddPageMethod(const QString &name) const;
|
||||||
|
|
||||||
QString realClassName(const QString &className) const;
|
QString realClassName(const QString &className) const;
|
||||||
|
@ -48,7 +48,6 @@ struct Option
|
|||||||
unsigned int generateNamespace : 1;
|
unsigned int generateNamespace : 1;
|
||||||
unsigned int autoConnection : 1;
|
unsigned int autoConnection : 1;
|
||||||
unsigned int dependencies : 1;
|
unsigned int dependencies : 1;
|
||||||
unsigned int extractImages : 1;
|
|
||||||
unsigned int limitXPM_LineLength : 1;
|
unsigned int limitXPM_LineLength : 1;
|
||||||
unsigned int implicitIncludes: 1;
|
unsigned int implicitIncludes: 1;
|
||||||
unsigned int idBased: 1;
|
unsigned int idBased: 1;
|
||||||
@ -74,7 +73,6 @@ struct Option
|
|||||||
generateNamespace(1),
|
generateNamespace(1),
|
||||||
autoConnection(1),
|
autoConnection(1),
|
||||||
dependencies(0),
|
dependencies(0),
|
||||||
extractImages(0),
|
|
||||||
limitXPM_LineLength(0),
|
limitXPM_LineLength(0),
|
||||||
implicitIncludes(1),
|
implicitIncludes(1),
|
||||||
idBased(0),
|
idBased(0),
|
||||||
|
@ -38,9 +38,6 @@ void TreeWalker::acceptUI(DomUI *ui)
|
|||||||
acceptButtonGroups(domButtonGroups);
|
acceptButtonGroups(domButtonGroups);
|
||||||
|
|
||||||
acceptTabStops(ui->elementTabStops());
|
acceptTabStops(ui->elementTabStops());
|
||||||
|
|
||||||
if (ui->elementImages())
|
|
||||||
acceptImages(ui->elementImages());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void TreeWalker::acceptLayoutDefault(DomLayoutDefault *layoutDefault)
|
void TreeWalker::acceptLayoutDefault(DomLayoutDefault *layoutDefault)
|
||||||
@ -112,8 +109,6 @@ void TreeWalker::acceptWidget(DomWidget *widget)
|
|||||||
|
|
||||||
if (!widget->elementLayout().isEmpty())
|
if (!widget->elementLayout().isEmpty())
|
||||||
acceptLayout(widget->elementLayout().at(0));
|
acceptLayout(widget->elementLayout().at(0));
|
||||||
|
|
||||||
acceptWidgetScripts(widget->elementScript(), widget, childWidgets);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void TreeWalker::acceptSpacer(DomSpacer *spacer)
|
void TreeWalker::acceptSpacer(DomSpacer *spacer)
|
||||||
@ -250,17 +245,6 @@ void TreeWalker::acceptActionRef(DomActionRef *actionRef)
|
|||||||
Q_UNUSED(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)
|
void TreeWalker::acceptIncludes(DomIncludes *includes)
|
||||||
{
|
{
|
||||||
for (int i=0; i<includes->elementInclude().size(); ++i)
|
for (int i=0; i<includes->elementInclude().size(); ++i)
|
||||||
@ -294,10 +278,6 @@ void TreeWalker::acceptConnectionHint(DomConnectionHint *connectionHint)
|
|||||||
Q_UNUSED(connectionHint);
|
Q_UNUSED(connectionHint);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TreeWalker::acceptWidgetScripts(const DomScripts &, DomWidget *, const DomWidgets &)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void TreeWalker::acceptButtonGroups(const DomButtonGroups *domButtonGroups)
|
void TreeWalker::acceptButtonGroups(const DomButtonGroups *domButtonGroups)
|
||||||
{
|
{
|
||||||
const auto &domGroups = domButtonGroups->elementButtonGroup();
|
const auto &domGroups = domButtonGroups->elementButtonGroup();
|
||||||
|
@ -103,9 +103,6 @@ struct TreeWalker
|
|||||||
virtual void acceptProperty(DomProperty *property);
|
virtual void acceptProperty(DomProperty *property);
|
||||||
typedef QVector<DomScript *> DomScripts;
|
typedef QVector<DomScript *> DomScripts;
|
||||||
typedef QVector<DomWidget *> DomWidgets;
|
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 acceptIncludes(DomIncludes *includes);
|
||||||
virtual void acceptInclude(DomInclude *incl);
|
virtual void acceptInclude(DomInclude *incl);
|
||||||
virtual void acceptAction(DomAction *action);
|
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)
|
Uic::Uic(Driver *d)
|
||||||
: drv(d),
|
: drv(d),
|
||||||
out(d->output()),
|
out(d->output()),
|
||||||
opt(d->option()),
|
opt(d->option())
|
||||||
externalPix(true)
|
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -253,15 +252,13 @@ bool Uic::write(DomUI *ui)
|
|||||||
if (pixFunction == QLatin1String("QPixmap::fromMimeSource"))
|
if (pixFunction == QLatin1String("QPixmap::fromMimeSource"))
|
||||||
pixFunction = QLatin1String("qPixmapFromMimeSource");
|
pixFunction = QLatin1String("qPixmapFromMimeSource");
|
||||||
|
|
||||||
externalPix = ui->elementImages() == 0;
|
|
||||||
|
|
||||||
info.acceptUI(ui);
|
info.acceptUI(ui);
|
||||||
cWidgetsInfo.acceptUI(ui);
|
cWidgetsInfo.acceptUI(ui);
|
||||||
WriteIncludes writeIncludes(this);
|
WriteIncludes writeIncludes(this);
|
||||||
writeIncludes.acceptUI(ui);
|
writeIncludes.acceptUI(ui);
|
||||||
|
|
||||||
Validator(this).acceptUI(ui);
|
Validator(this).acceptUI(ui);
|
||||||
WriteDeclaration(this, writeIncludes.scriptsActivated()).acceptUI(ui);
|
WriteDeclaration(this).acceptUI(ui);
|
||||||
|
|
||||||
if (opt.headerProtection)
|
if (opt.headerProtection)
|
||||||
writeHeaderProtectionEnd();
|
writeHeaderProtectionEnd();
|
||||||
|
@ -74,12 +74,6 @@ public:
|
|||||||
inline void setPixmapFunction(const QString &f)
|
inline void setPixmapFunction(const QString &f)
|
||||||
{ pixFunction = f; }
|
{ pixFunction = f; }
|
||||||
|
|
||||||
inline bool hasExternalPixmap() const
|
|
||||||
{ return externalPix; }
|
|
||||||
|
|
||||||
inline void setExternalPixmap(bool b)
|
|
||||||
{ externalPix = b; }
|
|
||||||
|
|
||||||
inline const DatabaseInfo *databaseInfo() const
|
inline const DatabaseInfo *databaseInfo() const
|
||||||
{ return &info; }
|
{ return &info; }
|
||||||
|
|
||||||
@ -123,7 +117,6 @@ private:
|
|||||||
DatabaseInfo info;
|
DatabaseInfo info;
|
||||||
CustomWidgetsInfo cWidgetsInfo;
|
CustomWidgetsInfo cWidgetsInfo;
|
||||||
QString pixFunction;
|
QString pixFunction;
|
||||||
bool externalPix;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
|
Loading…
Reference in New Issue
Block a user