forked from qt-creator/qt-creator
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>
This commit is contained in:
@@ -37,12 +37,13 @@ Quick3DMaterialNodeInstance::~Quick3DMaterialNodeInstance()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
void Quick3DMaterialNodeInstance::initialize(const ObjectNodeInstance::Pointer &objectNodeInstance,
|
void Quick3DMaterialNodeInstance::invokeDummyViewCreate() const
|
||||||
InstanceContainer::NodeFlags flags)
|
|
||||||
{
|
{
|
||||||
m_dummyRootViewCreateFunction = "createViewForMaterial";
|
QMetaObject::invokeMethod(m_dummyRootView, "createViewForMaterial",
|
||||||
|
Q_ARG(QVariant, QVariant::fromValue(object())),
|
||||||
Quick3DRenderableNodeInstance::initialize(objectNodeInstance, flags);
|
Q_ARG(QVariant, ""),
|
||||||
|
Q_ARG(QVariant, ""),
|
||||||
|
Q_ARG(QVariant, ""));
|
||||||
}
|
}
|
||||||
|
|
||||||
Quick3DMaterialNodeInstance::Pointer Quick3DMaterialNodeInstance::create(QObject *object)
|
Quick3DMaterialNodeInstance::Pointer Quick3DMaterialNodeInstance::create(QObject *object)
|
||||||
|
@@ -41,11 +41,10 @@ public:
|
|||||||
|
|
||||||
~Quick3DMaterialNodeInstance() override;
|
~Quick3DMaterialNodeInstance() override;
|
||||||
static Pointer create(QObject *objectToBeWrapped);
|
static Pointer create(QObject *objectToBeWrapped);
|
||||||
void initialize(const ObjectNodeInstance::Pointer &objectNodeInstance,
|
|
||||||
InstanceContainer::NodeFlags flags) override;
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
explicit Quick3DMaterialNodeInstance(QObject *node);
|
explicit Quick3DMaterialNodeInstance(QObject *node);
|
||||||
|
void invokeDummyViewCreate() const override;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
|
@@ -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()
|
Quick3DNodeInstance::~Quick3DNodeInstance()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
@@ -79,8 +85,6 @@ void Quick3DNodeInstance::initialize(const ObjectNodeInstance::Pointer &objectNo
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
m_dummyRootViewCreateFunction = "createViewForNode";
|
|
||||||
|
|
||||||
Quick3DRenderableNodeInstance::initialize(objectNodeInstance, flags);
|
Quick3DRenderableNodeInstance::initialize(objectNodeInstance, flags);
|
||||||
#else
|
#else
|
||||||
Q_UNUSED(objectNodeInstance)
|
Q_UNUSED(objectNodeInstance)
|
||||||
|
@@ -47,6 +47,7 @@ public:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
explicit Quick3DNodeInstance(QObject *node);
|
explicit Quick3DNodeInstance(QObject *node);
|
||||||
|
void invokeDummyViewCreate() const override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QQuick3DNode *quick3DNode() const;
|
QQuick3DNode *quick3DNode() const;
|
||||||
|
@@ -50,7 +50,7 @@ Quick3DRenderableNodeInstance::~Quick3DRenderableNodeInstance()
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Quick3DRenderableNodeInstance::initialize(const ObjectNodeInstance::Pointer &objectNodeInstance,
|
void Quick3DRenderableNodeInstance::initialize(const ObjectNodeInstance::Pointer &objectNodeInstance,
|
||||||
InstanceContainer::NodeFlags flags)
|
InstanceContainer::NodeFlags flags)
|
||||||
{
|
{
|
||||||
#ifdef QUICK3D_MODULE
|
#ifdef QUICK3D_MODULE
|
||||||
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
|
#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"));
|
component.loadUrl(QUrl("qrc:/qtquickplugin/mockfiles/qt6/ModelNode3DImageView.qml"));
|
||||||
m_dummyRootView = qobject_cast<QQuickItem *>(component.create());
|
m_dummyRootView = qobject_cast<QQuickItem *>(component.create());
|
||||||
|
|
||||||
QMetaObject::invokeMethod(m_dummyRootView, m_dummyRootViewCreateFunction,
|
invokeDummyViewCreate();
|
||||||
Q_ARG(QVariant, QVariant::fromValue(object())));
|
|
||||||
|
|
||||||
nodeInstanceServer()->setRootItem(m_dummyRootView);
|
nodeInstanceServer()->setRootItem(m_dummyRootView);
|
||||||
}
|
}
|
||||||
@@ -215,6 +214,10 @@ Qt5NodeInstanceServer *Quick3DRenderableNodeInstance::qt5NodeInstanceServer() co
|
|||||||
return qobject_cast<Qt5NodeInstanceServer *>(nodeInstanceServer());
|
return qobject_cast<Qt5NodeInstanceServer *>(nodeInstanceServer());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Quick3DRenderableNodeInstance::invokeDummyViewCreate() const
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
} // namespace QmlDesigner
|
} // namespace QmlDesigner
|
||||||
|
|
||||||
|
@@ -57,10 +57,8 @@ public:
|
|||||||
protected:
|
protected:
|
||||||
explicit Quick3DRenderableNodeInstance(QObject *node);
|
explicit Quick3DRenderableNodeInstance(QObject *node);
|
||||||
Qt5NodeInstanceServer *qt5NodeInstanceServer() const;
|
Qt5NodeInstanceServer *qt5NodeInstanceServer() const;
|
||||||
|
virtual void invokeDummyViewCreate() const;
|
||||||
|
|
||||||
QByteArray m_dummyRootViewCreateFunction;
|
|
||||||
|
|
||||||
private:
|
|
||||||
QQuickItem *m_dummyRootView = nullptr;
|
QQuickItem *m_dummyRootView = nullptr;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user