diff options
author | Juha Vuolle <juha.vuolle@insta.fi> | 2021-02-02 10:28:54 +0200 |
---|---|---|
committer | Juha Vuolle <juha.vuolle@insta.fi> | 2021-02-03 10:44:06 +0200 |
commit | 2de6d216b402295e3c3ae0b0a2935080835c5743 (patch) | |
tree | ef3bb39fead4a6e4cfd36823eb52415d739a6464 | |
parent | 4fe43e74a2eebdc40529cd0478d19a79a71a4508 (diff) |
Make StateMachine QML plugin optional
This change adds a small regular library that handles the StateMachine
QML element registration. The current QML plugin now links against this
new library, and the QML plugin is optional.
Few collateral changes:
- Remove a warning about deprecated QString constructor usage
- Reduce unnecessary dependencies to private libraries
- Mark former QML plugin headers clearly as private
Task-number: QTBUG-89832
Change-Id: I26dd76f4355819d2436b45564409c98b99e2463e
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Karsten Heimrich <karsten.heimrich@qt.io>
-rw-r--r-- | src/CMakeLists.txt | 1 | ||||
-rw-r--r-- | src/imports/statemachine/CMakeLists.txt | 17 | ||||
-rw-r--r-- | src/imports/statemachine/plugin.cpp | 15 | ||||
-rw-r--r-- | src/imports/statemachine/qmldir | 4 | ||||
-rw-r--r-- | src/imports/statemachine/statemachine.pro | 27 | ||||
-rw-r--r-- | src/statemachineqml/CMakeLists.txt | 28 | ||||
-rw-r--r-- | src/statemachineqml/childrenprivate_p.h (renamed from src/imports/statemachine/childrenprivate.h) | 11 | ||||
-rw-r--r-- | src/statemachineqml/doc/images/statemachine-button-history.png (renamed from src/imports/statemachine/doc/images/statemachine-button-history.png) | bin | 8074 -> 8074 bytes | |||
-rw-r--r-- | src/statemachineqml/doc/images/statemachine-button-nested.png (renamed from src/imports/statemachine/doc/images/statemachine-button-nested.png) | bin | 7051 -> 7051 bytes | |||
-rw-r--r-- | src/statemachineqml/doc/images/statemachine-button.png (renamed from src/imports/statemachine/doc/images/statemachine-button.png) | bin | 4233 -> 4233 bytes | |||
-rw-r--r-- | src/statemachineqml/doc/images/statemachine-finished.png (renamed from src/imports/statemachine/doc/images/statemachine-finished.png) | bin | 5518 -> 5518 bytes | |||
-rw-r--r-- | src/statemachineqml/doc/images/statemachine-nonparallel.png (renamed from src/imports/statemachine/doc/images/statemachine-nonparallel.png) | bin | 5350 -> 5350 bytes | |||
-rw-r--r-- | src/statemachineqml/doc/images/statemachine-parallel.png (renamed from src/imports/statemachine/doc/images/statemachine-parallel.png) | bin | 8631 -> 8631 bytes | |||
-rw-r--r-- | src/statemachineqml/doc/snippets/qml/statemachine/Button.qml (renamed from src/imports/statemachine/doc/snippets/qml/statemachine/Button.qml) | 0 | ||||
-rw-r--r-- | src/statemachineqml/doc/snippets/qml/statemachine/basicstate.qml (renamed from src/imports/statemachine/doc/snippets/qml/statemachine/basicstate.qml) | 0 | ||||
-rw-r--r-- | src/statemachineqml/doc/snippets/qml/statemachine/finalstate.qml (renamed from src/imports/statemachine/doc/snippets/qml/statemachine/finalstate.qml) | 0 | ||||
-rw-r--r-- | src/statemachineqml/doc/snippets/qml/statemachine/guardcondition.qml (renamed from src/imports/statemachine/doc/snippets/qml/statemachine/guardcondition.qml) | 0 | ||||
-rw-r--r-- | src/statemachineqml/doc/snippets/qml/statemachine/historystate.qml (renamed from src/imports/statemachine/doc/snippets/qml/statemachine/historystate.qml) | 0 | ||||
-rw-r--r-- | src/statemachineqml/doc/snippets/qml/statemachine/signaltransition.qml (renamed from src/imports/statemachine/doc/snippets/qml/statemachine/signaltransition.qml) | 0 | ||||
-rw-r--r-- | src/statemachineqml/doc/snippets/qml/statemachine/signaltransitionsignal.qml (renamed from src/imports/statemachine/doc/snippets/qml/statemachine/signaltransitionsignal.qml) | 0 | ||||
-rw-r--r-- | src/statemachineqml/doc/snippets/qml/statemachine/simplestatemachine.qml (renamed from src/imports/statemachine/doc/snippets/qml/statemachine/simplestatemachine.qml) | 0 | ||||
-rw-r--r-- | src/statemachineqml/doc/snippets/qml/statemachine/statemachine-button-history.qml (renamed from src/imports/statemachine/doc/snippets/qml/statemachine/statemachine-button-history.qml) | 0 | ||||
-rw-r--r-- | src/statemachineqml/doc/snippets/qml/statemachine/statemachine-button-nested-ignore-quit.qml (renamed from src/imports/statemachine/doc/snippets/qml/statemachine/statemachine-button-nested-ignore-quit.qml) | 0 | ||||
-rw-r--r-- | src/statemachineqml/doc/snippets/qml/statemachine/statemachine-button-nested.qml (renamed from src/imports/statemachine/doc/snippets/qml/statemachine/statemachine-button-nested.qml) | 0 | ||||
-rw-r--r-- | src/statemachineqml/doc/snippets/qml/statemachine/statemachine-button.qml (renamed from src/imports/statemachine/doc/snippets/qml/statemachine/statemachine-button.qml) | 0 | ||||
-rw-r--r-- | src/statemachineqml/doc/snippets/qml/statemachine/timeouttransition.qml (renamed from src/imports/statemachine/doc/snippets/qml/statemachine/timeouttransition.qml) | 0 | ||||
-rw-r--r-- | src/statemachineqml/doc/src/statemachine.qdoc (renamed from src/imports/statemachine/doc/src/statemachine.qdoc) | 0 | ||||
-rw-r--r-- | src/statemachineqml/finalstate.cpp (renamed from src/imports/statemachine/finalstate.cpp) | 2 | ||||
-rw-r--r-- | src/statemachineqml/finalstate_p.h (renamed from src/imports/statemachine/finalstate.h) | 18 | ||||
-rw-r--r-- | src/statemachineqml/qstatemachineqmlglobals_p.h | 74 | ||||
-rw-r--r-- | src/statemachineqml/signaltransition.cpp (renamed from src/imports/statemachine/signaltransition.cpp) | 6 | ||||
-rw-r--r-- | src/statemachineqml/signaltransition_p.h (renamed from src/imports/statemachine/signaltransition.h) | 15 | ||||
-rw-r--r-- | src/statemachineqml/state.cpp (renamed from src/imports/statemachine/state.cpp) | 4 | ||||
-rw-r--r-- | src/statemachineqml/state_p.h (renamed from src/imports/statemachine/state.h) | 16 | ||||
-rw-r--r-- | src/statemachineqml/statemachine.cpp (renamed from src/imports/statemachine/statemachine.cpp) | 7 | ||||
-rw-r--r-- | src/statemachineqml/statemachine_p.h (renamed from src/imports/statemachine/statemachine.h) | 16 | ||||
-rw-r--r-- | src/statemachineqml/statemachineforeign_p.h (renamed from src/imports/statemachine/statemachineforeign.h) | 21 | ||||
-rw-r--r-- | src/statemachineqml/timeouttransition.cpp (renamed from src/imports/statemachine/timeouttransition.cpp) | 4 | ||||
-rw-r--r-- | src/statemachineqml/timeouttransition_p.h (renamed from src/imports/statemachine/timeouttransition.h) | 15 | ||||
-rw-r--r-- | sync.profile | 1 |
40 files changed, 221 insertions, 81 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index c6335df..f72f7ef 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -3,6 +3,7 @@ add_subdirectory(scxml) add_subdirectory(statemachine) if(TARGET Qt::Qml) + add_subdirectory(statemachineqml) add_subdirectory(scxmlqml) add_subdirectory(imports) endif() diff --git a/src/imports/statemachine/CMakeLists.txt b/src/imports/statemachine/CMakeLists.txt index 5cbe931..e200f27 100644 --- a/src/imports/statemachine/CMakeLists.txt +++ b/src/imports/statemachine/CMakeLists.txt @@ -9,21 +9,14 @@ qt_internal_add_qml_module(qtqmlstatemachine VERSION "${CMAKE_PROJECT_VERSION}" CLASSNAME QtQmlStateMachinePlugin SKIP_TYPE_REGISTRATION - GENERATE_QMLTYPES - INSTALL_QMLTYPES + PLUGIN_OPTIONAL SOURCES - childrenprivate.h - finalstate.cpp finalstate.h plugin.cpp - signaltransition.cpp signaltransition.h - state.cpp state.h - statemachine.cpp statemachine.h - statemachineforeign.h - timeouttransition.cpp timeouttransition.h PUBLIC_LIBRARIES - Qt::CorePrivate - Qt::QmlPrivate - Qt::StateMachine + Qt::Core + Qt::Qml + LIBRARIES + Qt::StateMachineQmlPrivate ) #### Keys ignored in scope 1:.:.:statemachine.pro:<TRUE>: diff --git a/src/imports/statemachine/plugin.cpp b/src/imports/statemachine/plugin.cpp index c370504..1c2e211 100644 --- a/src/imports/statemachine/plugin.cpp +++ b/src/imports/statemachine/plugin.cpp @@ -37,18 +37,9 @@ ** ****************************************************************************/ -#include "finalstate.h" -#include "signaltransition.h" -#include "state.h" -#include "statemachine.h" -#include "timeouttransition.h" -#include "statemachineforeign.h" - -#include <QHistoryState> -#include <QQmlExtensionPlugin> -#include <qqml.h> - -extern void qml_register_types_QtQml_StateMachine(); +#include <QtStateMachineQml/private/qstatemachineqmlglobals_p.h> +#include <QtQml/qqmlextensionplugin.h> +#include <QtQml/qqml.h> QT_BEGIN_NAMESPACE diff --git a/src/imports/statemachine/qmldir b/src/imports/statemachine/qmldir deleted file mode 100644 index 8bc3831..0000000 --- a/src/imports/statemachine/qmldir +++ /dev/null @@ -1,4 +0,0 @@ -module QtQml.StateMachine -plugin qtqmlstatemachine -classname QtQmlStateMachinePlugin -typeinfo plugins.qmltypes diff --git a/src/imports/statemachine/statemachine.pro b/src/imports/statemachine/statemachine.pro deleted file mode 100644 index ed94f46..0000000 --- a/src/imports/statemachine/statemachine.pro +++ /dev/null @@ -1,27 +0,0 @@ -CXX_MODULE = qml -TARGET = qtqmlstatemachine -TARGETPATH = QtQml/StateMachine -QML_IMPORT_VERSION = $$QT_VERSION - -QT = statemachine core-private qml-private - -SOURCES = \ - $$PWD/finalstate.cpp \ - $$PWD/signaltransition.cpp \ - $$PWD/state.cpp \ - $$PWD/statemachine.cpp \ - $$PWD/timeouttransition.cpp \ - $$PWD/plugin.cpp - -HEADERS = \ - $$PWD/childrenprivate.h \ - $$PWD/finalstate.h \ - $$PWD/signaltransition.h \ - $$PWD/state.h \ - $$PWD/statemachine.h \ - $$PWD/timeouttransition.h \ - $$PWD/statemachineforeign.h - -CONFIG += qmltypes install_qmltypes - -load(qml_plugin) diff --git a/src/statemachineqml/CMakeLists.txt b/src/statemachineqml/CMakeLists.txt new file mode 100644 index 0000000..e8f52fa --- /dev/null +++ b/src/statemachineqml/CMakeLists.txt @@ -0,0 +1,28 @@ +qt_internal_add_module(StateMachineQml + GENERATE_METATYPES + SOURCES + qstatemachineqmlglobals_p.h + finalstate_p.h finalstate.cpp + signaltransition_p.h signaltransition.cpp + state_p.h state.cpp + statemachine_p.h statemachine.cpp + timeouttransition_p.h timeouttransition.cpp + childrenprivate_p.h + statemachineforeign_p.h + DEFINES + QT_BUILD_STATEMACHINEQML_LIB + PUBLIC_LIBRARIES + Qt::Core + Qt::Qml + Qt::StateMachine +) + +set_target_properties(StateMachineQml PROPERTIES + QT_QML_MODULE_INSTALL_QMLTYPES TRUE + QT_QML_MODULE_VERSION ${CMAKE_PROJECT_VERSION} + QT_QML_MODULE_URI QtQml.StateMachine + QT_QMLTYPES_FILENAME plugins.qmltypes + QT_QML_MODULE_INSTALL_DIR "${INSTALL_QMLDIR}/QtQml/StateMachine" +) + +qt6_qml_type_registration(StateMachineQml) diff --git a/src/imports/statemachine/childrenprivate.h b/src/statemachineqml/childrenprivate_p.h index 8eab308..b92637f 100644 --- a/src/imports/statemachine/childrenprivate.h +++ b/src/statemachineqml/childrenprivate_p.h @@ -40,6 +40,17 @@ #ifndef QQMLCHILDRENPRIVATE_H #define QQMLCHILDRENPRIVATE_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + #include <QAbstractState> #include <QAbstractTransition> #include <QStateMachine> diff --git a/src/imports/statemachine/doc/images/statemachine-button-history.png b/src/statemachineqml/doc/images/statemachine-button-history.png Binary files differindex 0462b3b..0462b3b 100644 --- a/src/imports/statemachine/doc/images/statemachine-button-history.png +++ b/src/statemachineqml/doc/images/statemachine-button-history.png diff --git a/src/imports/statemachine/doc/images/statemachine-button-nested.png b/src/statemachineqml/doc/images/statemachine-button-nested.png Binary files differindex 762ac14..762ac14 100644 --- a/src/imports/statemachine/doc/images/statemachine-button-nested.png +++ b/src/statemachineqml/doc/images/statemachine-button-nested.png diff --git a/src/imports/statemachine/doc/images/statemachine-button.png b/src/statemachineqml/doc/images/statemachine-button.png Binary files differindex 10102bd..10102bd 100644 --- a/src/imports/statemachine/doc/images/statemachine-button.png +++ b/src/statemachineqml/doc/images/statemachine-button.png diff --git a/src/imports/statemachine/doc/images/statemachine-finished.png b/src/statemachineqml/doc/images/statemachine-finished.png Binary files differindex 0ac081d..0ac081d 100644 --- a/src/imports/statemachine/doc/images/statemachine-finished.png +++ b/src/statemachineqml/doc/images/statemachine-finished.png diff --git a/src/imports/statemachine/doc/images/statemachine-nonparallel.png b/src/statemachineqml/doc/images/statemachine-nonparallel.png Binary files differindex f9850a7..f9850a7 100644 --- a/src/imports/statemachine/doc/images/statemachine-nonparallel.png +++ b/src/statemachineqml/doc/images/statemachine-nonparallel.png diff --git a/src/imports/statemachine/doc/images/statemachine-parallel.png b/src/statemachineqml/doc/images/statemachine-parallel.png Binary files differindex a65c297..a65c297 100644 --- a/src/imports/statemachine/doc/images/statemachine-parallel.png +++ b/src/statemachineqml/doc/images/statemachine-parallel.png diff --git a/src/imports/statemachine/doc/snippets/qml/statemachine/Button.qml b/src/statemachineqml/doc/snippets/qml/statemachine/Button.qml index 38d1347..38d1347 100644 --- a/src/imports/statemachine/doc/snippets/qml/statemachine/Button.qml +++ b/src/statemachineqml/doc/snippets/qml/statemachine/Button.qml diff --git a/src/imports/statemachine/doc/snippets/qml/statemachine/basicstate.qml b/src/statemachineqml/doc/snippets/qml/statemachine/basicstate.qml index d8da3f9..d8da3f9 100644 --- a/src/imports/statemachine/doc/snippets/qml/statemachine/basicstate.qml +++ b/src/statemachineqml/doc/snippets/qml/statemachine/basicstate.qml diff --git a/src/imports/statemachine/doc/snippets/qml/statemachine/finalstate.qml b/src/statemachineqml/doc/snippets/qml/statemachine/finalstate.qml index 984daad..984daad 100644 --- a/src/imports/statemachine/doc/snippets/qml/statemachine/finalstate.qml +++ b/src/statemachineqml/doc/snippets/qml/statemachine/finalstate.qml diff --git a/src/imports/statemachine/doc/snippets/qml/statemachine/guardcondition.qml b/src/statemachineqml/doc/snippets/qml/statemachine/guardcondition.qml index f1ec89b..f1ec89b 100644 --- a/src/imports/statemachine/doc/snippets/qml/statemachine/guardcondition.qml +++ b/src/statemachineqml/doc/snippets/qml/statemachine/guardcondition.qml diff --git a/src/imports/statemachine/doc/snippets/qml/statemachine/historystate.qml b/src/statemachineqml/doc/snippets/qml/statemachine/historystate.qml index 28e4e06..28e4e06 100644 --- a/src/imports/statemachine/doc/snippets/qml/statemachine/historystate.qml +++ b/src/statemachineqml/doc/snippets/qml/statemachine/historystate.qml diff --git a/src/imports/statemachine/doc/snippets/qml/statemachine/signaltransition.qml b/src/statemachineqml/doc/snippets/qml/statemachine/signaltransition.qml index 925d728..925d728 100644 --- a/src/imports/statemachine/doc/snippets/qml/statemachine/signaltransition.qml +++ b/src/statemachineqml/doc/snippets/qml/statemachine/signaltransition.qml diff --git a/src/imports/statemachine/doc/snippets/qml/statemachine/signaltransitionsignal.qml b/src/statemachineqml/doc/snippets/qml/statemachine/signaltransitionsignal.qml index d5510cb..d5510cb 100644 --- a/src/imports/statemachine/doc/snippets/qml/statemachine/signaltransitionsignal.qml +++ b/src/statemachineqml/doc/snippets/qml/statemachine/signaltransitionsignal.qml diff --git a/src/imports/statemachine/doc/snippets/qml/statemachine/simplestatemachine.qml b/src/statemachineqml/doc/snippets/qml/statemachine/simplestatemachine.qml index fc1768f..fc1768f 100644 --- a/src/imports/statemachine/doc/snippets/qml/statemachine/simplestatemachine.qml +++ b/src/statemachineqml/doc/snippets/qml/statemachine/simplestatemachine.qml diff --git a/src/imports/statemachine/doc/snippets/qml/statemachine/statemachine-button-history.qml b/src/statemachineqml/doc/snippets/qml/statemachine/statemachine-button-history.qml index b6cd325..b6cd325 100644 --- a/src/imports/statemachine/doc/snippets/qml/statemachine/statemachine-button-history.qml +++ b/src/statemachineqml/doc/snippets/qml/statemachine/statemachine-button-history.qml diff --git a/src/imports/statemachine/doc/snippets/qml/statemachine/statemachine-button-nested-ignore-quit.qml b/src/statemachineqml/doc/snippets/qml/statemachine/statemachine-button-nested-ignore-quit.qml index 77cf253..77cf253 100644 --- a/src/imports/statemachine/doc/snippets/qml/statemachine/statemachine-button-nested-ignore-quit.qml +++ b/src/statemachineqml/doc/snippets/qml/statemachine/statemachine-button-nested-ignore-quit.qml diff --git a/src/imports/statemachine/doc/snippets/qml/statemachine/statemachine-button-nested.qml b/src/statemachineqml/doc/snippets/qml/statemachine/statemachine-button-nested.qml index 19ab693..19ab693 100644 --- a/src/imports/statemachine/doc/snippets/qml/statemachine/statemachine-button-nested.qml +++ b/src/statemachineqml/doc/snippets/qml/statemachine/statemachine-button-nested.qml diff --git a/src/imports/statemachine/doc/snippets/qml/statemachine/statemachine-button.qml b/src/statemachineqml/doc/snippets/qml/statemachine/statemachine-button.qml index 8fcbe61..8fcbe61 100644 --- a/src/imports/statemachine/doc/snippets/qml/statemachine/statemachine-button.qml +++ b/src/statemachineqml/doc/snippets/qml/statemachine/statemachine-button.qml diff --git a/src/imports/statemachine/doc/snippets/qml/statemachine/timeouttransition.qml b/src/statemachineqml/doc/snippets/qml/statemachine/timeouttransition.qml index b629e84..b629e84 100644 --- a/src/imports/statemachine/doc/snippets/qml/statemachine/timeouttransition.qml +++ b/src/statemachineqml/doc/snippets/qml/statemachine/timeouttransition.qml diff --git a/src/imports/statemachine/doc/src/statemachine.qdoc b/src/statemachineqml/doc/src/statemachine.qdoc index 231b85a..231b85a 100644 --- a/src/imports/statemachine/doc/src/statemachine.qdoc +++ b/src/statemachineqml/doc/src/statemachine.qdoc diff --git a/src/imports/statemachine/finalstate.cpp b/src/statemachineqml/finalstate.cpp index 4d4c6b2..dcc59c2 100644 --- a/src/imports/statemachine/finalstate.cpp +++ b/src/statemachineqml/finalstate.cpp @@ -37,7 +37,7 @@ ** ****************************************************************************/ -#include "finalstate.h" +#include "finalstate_p.h" #include <QQmlContext> #include <QQmlEngine> diff --git a/src/imports/statemachine/finalstate.h b/src/statemachineqml/finalstate_p.h index 3b7c451..c43b13e 100644 --- a/src/imports/statemachine/finalstate.h +++ b/src/statemachineqml/finalstate_p.h @@ -40,8 +40,20 @@ #ifndef QQMLFINALSTATE_H #define QQMLFINALSTATE_H -#include "childrenprivate.h" -#include "statemachine.h" +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include "qstatemachineqmlglobals_p.h" +#include "childrenprivate_p.h" +#include "statemachine_p.h" #include <QtStateMachine/QFinalState> #include <QtQml/QQmlListProperty> @@ -50,7 +62,7 @@ QT_BEGIN_NAMESPACE -class FinalState : public QFinalState +class Q_STATEMACHINEQML_PRIVATE_EXPORT FinalState : public QFinalState { Q_OBJECT Q_PROPERTY(QQmlListProperty<QObject> children READ children NOTIFY childrenChanged) diff --git a/src/statemachineqml/qstatemachineqmlglobals_p.h b/src/statemachineqml/qstatemachineqmlglobals_p.h new file mode 100644 index 0000000..ec51c34 --- /dev/null +++ b/src/statemachineqml/qstatemachineqmlglobals_p.h @@ -0,0 +1,74 @@ +/**************************************************************************** +** +** Copyright (C) 2021 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the QtSTATEMACHINE module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** 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 Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 3 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL3 included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 3 requirements +** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 2.0 or (at your option) the GNU General +** Public license version 3 or any later version approved by the KDE Free +** Qt Foundation. The licenses are as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +** 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-2.0.html and +** https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QSTATEMACHINEQMLGLOBALS_P_H +#define QSTATEMACHINEQMLGLOBALS_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include <QtCore/qglobal.h> + +QT_BEGIN_NAMESPACE + +#if !defined(QT_STATIC) +# if defined(QT_BUILD_STATEMACHINEQML_LIB) +# define Q_STATEMACHINEQML_EXPORT Q_DECL_EXPORT +# else +# define Q_STATEMACHINEQML_EXPORT Q_DECL_IMPORT +# endif +#else +# define Q_STATEMACHINEQML_EXPORT +#endif + +#define Q_STATEMACHINEQML_PRIVATE_EXPORT Q_STATEMACHINEQML_EXPORT + +QT_END_NAMESPACE + +void Q_STATEMACHINEQML_PRIVATE_EXPORT qml_register_types_QtQml_StateMachine(); + +#endif // QSTATEMACHINEQMLGLOBALS_P_H diff --git a/src/imports/statemachine/signaltransition.cpp b/src/statemachineqml/signaltransition.cpp index c600081..df4c038 100644 --- a/src/imports/statemachine/signaltransition.cpp +++ b/src/statemachineqml/signaltransition.cpp @@ -37,7 +37,7 @@ ** ****************************************************************************/ -#include "signaltransition.h" +#include "signaltransition_p.h" #include <QStateMachine> #include <QMetaProperty> @@ -77,7 +77,7 @@ bool SignalTransition::eventTest(QEvent *event) QMetaMethod metaMethod = e->sender()->metaObject()->method(e->signalIndex()); const auto parameterNames = metaMethod.parameterNames(); for (int i = 0; i < count; i++) - context.setContextProperty(parameterNames[i], QVariant::fromValue(e->arguments().at(i))); + context.setContextProperty(QString::fromUtf8(parameterNames[i]), QVariant::fromValue(e->arguments().at(i))); QQmlExpression expr(m_guard, &context, this); QVariant result = expr.evaluate(); @@ -346,4 +346,4 @@ void SignalTransitionParser::applyBindings( \sa signal */ -#include "moc_signaltransition.cpp" +#include "moc_signaltransition_p.cpp" diff --git a/src/imports/statemachine/signaltransition.h b/src/statemachineqml/signaltransition_p.h index d1286eb..a736444 100644 --- a/src/imports/statemachine/signaltransition.h +++ b/src/statemachineqml/signaltransition_p.h @@ -40,6 +40,19 @@ #ifndef SIGNALTRANSITION_H #define SIGNALTRANSITION_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include "qstatemachineqmlglobals_p.h" + #include <QtStateMachine/QSignalTransition> #include <QtCore/QVariant> #include <QtQml/QJSValue> @@ -52,7 +65,7 @@ QT_BEGIN_NAMESPACE -class SignalTransition : public QSignalTransition, public QQmlParserStatus +class Q_STATEMACHINEQML_PRIVATE_EXPORT SignalTransition : public QSignalTransition, public QQmlParserStatus { Q_OBJECT Q_INTERFACES(QQmlParserStatus) diff --git a/src/imports/statemachine/state.cpp b/src/statemachineqml/state.cpp index ff0f55f..eafaeb8 100644 --- a/src/imports/statemachine/state.cpp +++ b/src/statemachineqml/state.cpp @@ -37,7 +37,7 @@ ** ****************************************************************************/ -#include "state.h" +#include "state_p.h" #include <QQmlContext> #include <QQmlEngine> @@ -237,4 +237,4 @@ QQmlListProperty<QObject> State::children() \endlist */ -#include "moc_state.cpp" +#include "moc_state_p.cpp" diff --git a/src/imports/statemachine/state.h b/src/statemachineqml/state_p.h index e2e75bb..494eb63 100644 --- a/src/imports/statemachine/state.h +++ b/src/statemachineqml/state_p.h @@ -40,7 +40,19 @@ #ifndef STATE_H #define STATE_H -#include "childrenprivate.h" +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include "qstatemachineqmlglobals_p.h" +#include "childrenprivate_p.h" #include <QtStateMachine/QState> #include <QtQml/QQmlParserStatus> @@ -49,7 +61,7 @@ QT_BEGIN_NAMESPACE -class State : public QState, public QQmlParserStatus +class Q_STATEMACHINEQML_PRIVATE_EXPORT State : public QState, public QQmlParserStatus { Q_OBJECT Q_INTERFACES(QQmlParserStatus) diff --git a/src/imports/statemachine/statemachine.cpp b/src/statemachineqml/statemachine.cpp index de6c842..c5e05fb 100644 --- a/src/imports/statemachine/statemachine.cpp +++ b/src/statemachineqml/statemachine.cpp @@ -37,16 +37,13 @@ ** ****************************************************************************/ -#include "statemachine.h" +#include "statemachine_p.h" #include <QAbstractTransition> #include <QQmlContext> #include <QQmlEngine> #include <QQmlInfo> -#include <private/qqmlopenmetaobject_p.h> -#include <private/qqmlengine_p.h> - StateMachine::StateMachine(QObject *parent) : QStateMachine(parent), m_completed(false), m_running(false) { @@ -231,4 +228,4 @@ QQmlListProperty<QObject> StateMachine::children() \sa running, stop(), State::finished */ -#include "moc_statemachine.cpp" +#include "moc_statemachine_p.cpp" diff --git a/src/imports/statemachine/statemachine.h b/src/statemachineqml/statemachine_p.h index 1d5fd5d..797543a 100644 --- a/src/imports/statemachine/statemachine.h +++ b/src/statemachineqml/statemachine_p.h @@ -40,7 +40,19 @@ #ifndef STATEMACHINE_H #define STATEMACHINE_H -#include "childrenprivate.h" +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include "qstatemachineqmlglobals_p.h" +#include "childrenprivate_p.h" #include <QtStateMachine/QStateMachine> #include <QtQml/QQmlParserStatus> @@ -49,7 +61,7 @@ QT_BEGIN_NAMESPACE -class StateMachine : public QStateMachine, public QQmlParserStatus +class Q_STATEMACHINEQML_PRIVATE_EXPORT StateMachine : public QStateMachine, public QQmlParserStatus { Q_OBJECT Q_INTERFACES(QQmlParserStatus) diff --git a/src/imports/statemachine/statemachineforeign.h b/src/statemachineqml/statemachineforeign_p.h index 8456ded..3636290 100644 --- a/src/imports/statemachine/statemachineforeign.h +++ b/src/statemachineqml/statemachineforeign_p.h @@ -40,13 +40,26 @@ #ifndef STATEMACHINEFOREIGN_H #define STATEMACHINEFOREIGN_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include "qstatemachineqmlglobals_p.h" + #include <QtQml/qqml.h> #include <QtStateMachine/qhistorystate.h> #include <QtStateMachine/qstate.h> #include <QtStateMachine/qabstractstate.h> #include <QtStateMachine/qsignaltransition.h> -struct QHistoryStateForeign +struct Q_STATEMACHINEQML_PRIVATE_EXPORT QHistoryStateForeign { Q_GADGET QML_FOREIGN(QHistoryState) @@ -54,7 +67,7 @@ struct QHistoryStateForeign QML_ADDED_IN_VERSION(1, 0) }; -struct QStateForeign +struct Q_STATEMACHINEQML_PRIVATE_EXPORT QStateForeign { Q_GADGET QML_FOREIGN(QState) @@ -63,7 +76,7 @@ struct QStateForeign QML_UNCREATABLE("Don't use this, use State instead.") }; -struct QAbstractStateForeign +struct Q_STATEMACHINEQML_PRIVATE_EXPORT QAbstractStateForeign { Q_GADGET QML_FOREIGN(QAbstractState) @@ -72,7 +85,7 @@ struct QAbstractStateForeign QML_UNCREATABLE("Don't use this, use State instead.") }; -struct QSignalTransitionForeign +struct Q_STATEMACHINEQML_PRIVATE_EXPORT QSignalTransitionForeign { Q_GADGET QML_FOREIGN(QSignalTransition) diff --git a/src/imports/statemachine/timeouttransition.cpp b/src/statemachineqml/timeouttransition.cpp index b0400b7..4c0c368 100644 --- a/src/imports/statemachine/timeouttransition.cpp +++ b/src/statemachineqml/timeouttransition.cpp @@ -37,7 +37,7 @@ ** ****************************************************************************/ -#include "timeouttransition.h" +#include "timeouttransition_p.h" #include <QQmlInfo> #include <QTimer> @@ -111,4 +111,4 @@ void TimeoutTransition::componentComplete() \brief The timeout interval in milliseconds. */ -#include "moc_timeouttransition.cpp" +#include "moc_timeouttransition_p.cpp" diff --git a/src/imports/statemachine/timeouttransition.h b/src/statemachineqml/timeouttransition_p.h index 6fa2dd9..64b838b 100644 --- a/src/imports/statemachine/timeouttransition.h +++ b/src/statemachineqml/timeouttransition_p.h @@ -40,6 +40,19 @@ #ifndef TIMEOUTTRANSITION_H #define TIMEOUTTRANSITION_H +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include "qstatemachineqmlglobals_p.h" + #include <QtStateMachine/QSignalTransition> #include <QtQml/QQmlParserStatus> #include <QtQml/qqml.h> @@ -47,7 +60,7 @@ QT_BEGIN_NAMESPACE class QTimer; -class TimeoutTransition : public QSignalTransition, public QQmlParserStatus +class Q_STATEMACHINEQML_PRIVATE_EXPORT TimeoutTransition : public QSignalTransition, public QQmlParserStatus { Q_OBJECT Q_PROPERTY(int timeout READ timeout WRITE setTimeout NOTIFY timeoutChanged) diff --git a/sync.profile b/sync.profile index 557bcc3..f79fdae 100644 --- a/sync.profile +++ b/sync.profile @@ -2,6 +2,7 @@ "QtScxml" => "$basedir/src/scxml", "QtScxmlQml" => "$basedir/src/scxmlqml", "QtStateMachine" => "$basedir/src/statemachine", + "QtStateMachineQml" => "$basedir/src/statemachineqml" ); %moduleheaders = ( # restrict the module headers to those found in relative path ); |