summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@qt.io>2022-09-23 14:06:48 +0300
committerMiikka Heikkinen <miikka.heikkinen@qt.io>2022-09-23 14:12:15 +0000
commit3d672dbf16ec2ff5bbfe633ab077d5ee90a6e1df (patch)
tree4e72b874bfb6f9064740e3bcaa9214916f4b772d
parent5b0bb021152f7e414d22d344b23bce07df29e859 (diff)
downloadqt-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>
-rw-r--r--share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quick3dmaterialnodeinstance.cpp11
-rw-r--r--share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quick3dmaterialnodeinstance.h3
-rw-r--r--share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quick3dnodeinstance.cpp8
-rw-r--r--share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quick3dnodeinstance.h1
-rw-r--r--share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quick3drenderablenodeinstance.cpp9
-rw-r--r--share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quick3drenderablenodeinstance.h4
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;
};