diff options
author | Miikka Heikkinen <miikka.heikkinen@qt.io> | 2022-09-23 14:06:48 +0300 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@qt.io> | 2022-09-23 14:12:15 +0000 |
commit | 3d672dbf16ec2ff5bbfe633ab077d5ee90a6e1df (patch) | |
tree | 4e72b874bfb6f9064740e3bcaa9214916f4b772d | |
parent | 5b0bb021152f7e414d22d344b23bce07df29e859 (diff) | |
download | qt-creator-3d672dbf16ec2ff5bbfe633ab077d5ee90a6e1df.tar.gz |
QmlDesigner: Fix material 2D view preview for material root components
Change-Id: I7930e5087014b47ccc054109cbb607ef9c373515
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
6 files changed, 21 insertions, 15 deletions
diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quick3dmaterialnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quick3dmaterialnodeinstance.cpp index fbfe6c2a2e..97b0c2bf87 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quick3dmaterialnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quick3dmaterialnodeinstance.cpp @@ -37,12 +37,13 @@ Quick3DMaterialNodeInstance::~Quick3DMaterialNodeInstance() { } -void Quick3DMaterialNodeInstance::initialize(const ObjectNodeInstance::Pointer &objectNodeInstance, - InstanceContainer::NodeFlags flags) +void Quick3DMaterialNodeInstance::invokeDummyViewCreate() const { - m_dummyRootViewCreateFunction = "createViewForMaterial"; - - Quick3DRenderableNodeInstance::initialize(objectNodeInstance, flags); + QMetaObject::invokeMethod(m_dummyRootView, "createViewForMaterial", + Q_ARG(QVariant, QVariant::fromValue(object())), + Q_ARG(QVariant, ""), + Q_ARG(QVariant, ""), + Q_ARG(QVariant, "")); } Quick3DMaterialNodeInstance::Pointer Quick3DMaterialNodeInstance::create(QObject *object) diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quick3dmaterialnodeinstance.h b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quick3dmaterialnodeinstance.h index b55cbb3f30..d035761a8e 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quick3dmaterialnodeinstance.h +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quick3dmaterialnodeinstance.h @@ -41,11 +41,10 @@ public: ~Quick3DMaterialNodeInstance() override; static Pointer create(QObject *objectToBeWrapped); - void initialize(const ObjectNodeInstance::Pointer &objectNodeInstance, - InstanceContainer::NodeFlags flags) override; protected: explicit Quick3DMaterialNodeInstance(QObject *node); + void invokeDummyViewCreate() const override; }; } // namespace Internal diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quick3dnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quick3dnodeinstance.cpp index eec52e9992..5dde70d257 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quick3dnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quick3dnodeinstance.cpp @@ -46,6 +46,12 @@ Quick3DNodeInstance::Quick3DNodeInstance(QObject *node) { } +void Quick3DNodeInstance::invokeDummyViewCreate() const +{ + QMetaObject::invokeMethod(m_dummyRootView, "createViewForNode", + Q_ARG(QVariant, QVariant::fromValue(object()))); +} + Quick3DNodeInstance::~Quick3DNodeInstance() { } @@ -79,8 +85,6 @@ void Quick3DNodeInstance::initialize(const ObjectNodeInstance::Pointer &objectNo } } - m_dummyRootViewCreateFunction = "createViewForNode"; - Quick3DRenderableNodeInstance::initialize(objectNodeInstance, flags); #else Q_UNUSED(objectNodeInstance) diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quick3dnodeinstance.h b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quick3dnodeinstance.h index ea44f277fb..e2b1ebb7e9 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quick3dnodeinstance.h +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quick3dnodeinstance.h @@ -47,6 +47,7 @@ public: protected: explicit Quick3DNodeInstance(QObject *node); + void invokeDummyViewCreate() const override; private: QQuick3DNode *quick3DNode() const; diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quick3drenderablenodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quick3drenderablenodeinstance.cpp index cae64ad04c..94506929ee 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quick3drenderablenodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quick3drenderablenodeinstance.cpp @@ -50,7 +50,7 @@ Quick3DRenderableNodeInstance::~Quick3DRenderableNodeInstance() } void Quick3DRenderableNodeInstance::initialize(const ObjectNodeInstance::Pointer &objectNodeInstance, - InstanceContainer::NodeFlags flags) + InstanceContainer::NodeFlags flags) { #ifdef QUICK3D_MODULE #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) @@ -67,8 +67,7 @@ void Quick3DRenderableNodeInstance::initialize(const ObjectNodeInstance::Pointer component.loadUrl(QUrl("qrc:/qtquickplugin/mockfiles/qt6/ModelNode3DImageView.qml")); m_dummyRootView = qobject_cast<QQuickItem *>(component.create()); - QMetaObject::invokeMethod(m_dummyRootView, m_dummyRootViewCreateFunction, - Q_ARG(QVariant, QVariant::fromValue(object()))); + invokeDummyViewCreate(); nodeInstanceServer()->setRootItem(m_dummyRootView); } @@ -215,6 +214,10 @@ Qt5NodeInstanceServer *Quick3DRenderableNodeInstance::qt5NodeInstanceServer() co return qobject_cast<Qt5NodeInstanceServer *>(nodeInstanceServer()); } +void Quick3DRenderableNodeInstance::invokeDummyViewCreate() const +{ +} + } // namespace Internal } // namespace QmlDesigner diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quick3drenderablenodeinstance.h b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quick3drenderablenodeinstance.h index 208144cb52..f24b149528 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quick3drenderablenodeinstance.h +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quick3drenderablenodeinstance.h @@ -57,10 +57,8 @@ public: protected: explicit Quick3DRenderableNodeInstance(QObject *node); Qt5NodeInstanceServer *qt5NodeInstanceServer() const; + virtual void invokeDummyViewCreate() const; - QByteArray m_dummyRootViewCreateFunction; - -private: QQuickItem *m_dummyRootView = nullptr; }; |