forked from qt-creator/qt-creator
QmlDesigner: Add createQmlVisualNode()
Change-Id: I7e1a739a58b740c2b5fc171e66ce7b6950bb1a26 Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
This commit is contained in:
@@ -101,6 +101,13 @@ public:
|
||||
const ItemLibraryEntry &itemLibraryEntry,
|
||||
const Position &position,
|
||||
NodeAbstractProperty parentproperty);
|
||||
|
||||
static QmlVisualNode createQmlVisualNode(AbstractView *view,
|
||||
const ItemLibraryEntry &itemLibraryEntry,
|
||||
const QVector3D &position);
|
||||
|
||||
static NodeListProperty findSceneNodeProperty(AbstractView *view);
|
||||
|
||||
private:
|
||||
void setDoubleProperty(const PropertyName &name, double value);
|
||||
};
|
||||
|
@@ -39,6 +39,8 @@
|
||||
#include "modelmerger.h"
|
||||
#include "rewritingexception.h"
|
||||
|
||||
#include <utils/qtcassert.h>
|
||||
|
||||
#include <QUrl>
|
||||
#include <QPlainTextEdit>
|
||||
#include <QFileInfo>
|
||||
@@ -289,6 +291,32 @@ QmlObjectNode QmlVisualNode::createQmlObjectNode(AbstractView *view,
|
||||
return newQmlObjectNode;
|
||||
}
|
||||
|
||||
QmlVisualNode QmlVisualNode::createQmlVisualNode(AbstractView *view,
|
||||
const ItemLibraryEntry &itemLibraryEntry,
|
||||
const QVector3D &position)
|
||||
{
|
||||
NodeAbstractProperty sceneNodeProperty = findSceneNodeProperty(view);
|
||||
QTC_ASSERT(sceneNodeProperty.isValid(), return {});
|
||||
ModelNode node = createQmlObjectNode(view, itemLibraryEntry, position, sceneNodeProperty).modelNode();
|
||||
|
||||
return node;
|
||||
}
|
||||
|
||||
NodeListProperty QmlVisualNode::findSceneNodeProperty(AbstractView *view)
|
||||
{
|
||||
QTC_ASSERT(view, return {});
|
||||
|
||||
QList<ModelNode> quickViews = view->allModelNodesOfType("QtQuick3D.View3D");
|
||||
QTC_ASSERT(!quickViews.isEmpty(), return {});
|
||||
const ModelNode quickView = quickViews.first();
|
||||
|
||||
QList<ModelNode> nodes = quickView.directSubModelNodesOfType("QtQuick3D.Node");
|
||||
QTC_ASSERT(!nodes.isEmpty(), return {});
|
||||
const ModelNode node = nodes.first();
|
||||
|
||||
return node.defaultNodeListProperty();
|
||||
}
|
||||
|
||||
QList<ModelNode> toModelNodeList(const QList<QmlVisualNode> &qmlVisualNodeList)
|
||||
{
|
||||
QList<ModelNode> modelNodeList;
|
||||
|
Reference in New Issue
Block a user