diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2019-10-01 14:43:37 +0200 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2019-10-14 10:42:29 +0200 |
commit | ee62b2824fe91e95a3f8218b93ba55a2ef6660d0 (patch) | |
tree | ff403362ee4b73c9d90c640d29bf22a0aba94c23 /tools/qmlplugindump/qmlstreamwriter.h | |
parent | 8cb08ca42157bb43b523103a6d1be94534be0597 (diff) | |
download | qtdeclarative-ee62b2824fe91e95a3f8218b93ba55a2ef6660d0.tar.gz |
Add support for semi-automatic QML type registrations
We can use the new moc JSON output to collect all meta-objects at build
time and, for those that include QML element registration meta-data,
generate code that automatically registers these types with QML. This
eliminates the need to call qmlRegisterType manually.
For now this generates free-standing functions (per module) that need to
be called manually. This is intended as an intermediate step.
Task-number: QTBUG-68796
Change-Id: Ib414eef9757344feee488ebc7388f957b975347f
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'tools/qmlplugindump/qmlstreamwriter.h')
-rw-r--r-- | tools/qmlplugindump/qmlstreamwriter.h | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/tools/qmlplugindump/qmlstreamwriter.h b/tools/qmlplugindump/qmlstreamwriter.h deleted file mode 100644 index cb642159ea..0000000000 --- a/tools/qmlplugindump/qmlstreamwriter.h +++ /dev/null @@ -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$ -** -****************************************************************************/ - -#ifndef QMLSTREAMWRITER_H -#define QMLSTREAMWRITER_H - -#include <QtCore/QIODevice> -#include <QtCore/QList> -#include <QtCore/QString> -#include <QtCore/QScopedPointer> -#include <QtCore/QPair> - -class QmlStreamWriter -{ -public: - QmlStreamWriter(QByteArray *array); - - void writeStartDocument(); - void writeEndDocument(); - void writeLibraryImport(const QString &uri, int majorVersion, int minorVersion, const QString &as = QString()); - //void writeFilesystemImport(const QString &file, const QString &as = QString()); - void writeStartObject(const QString &component); - void writeEndObject(); - void writeScriptBinding(const QString &name, const QString &rhs); - void writeScriptObjectLiteralBinding(const QString &name, const QList<QPair<QString, QString> > &keyValue); - void writeArrayBinding(const QString &name, const QStringList &elements); - void write(const QString &data); - void writeBooleanBinding(const QString &name, bool value); - -private: - void writeIndent(); - void writePotentialLine(const QByteArray &line); - void flushPotentialLinesWithNewlines(); - - int m_indentDepth; - QList<QByteArray> m_pendingLines; - int m_pendingLineLength; - bool m_maybeOneline; - QScopedPointer<QIODevice> m_stream; -}; - -#endif // QMLSTREAMWRITER_H |