summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Hartmann <thomas.hartmann@qt.io>2022-06-22 17:11:51 +0200
committerThomas Hartmann <thomas.hartmann@qt.io>2022-06-22 15:19:41 +0000
commit5fa46d665971bc0c7fbd2373400c5f2120ece922 (patch)
tree444f2c8e26ee287ecffe5edc0cf5928a05aa37fd
parentb63675db6ece28e1a7f896f297724f4ebaf47f2e (diff)
downloadqt-creator-5fa46d665971bc0c7fbd2373400c5f2120ece922.tar.gz
QmlDesigner: Add createModelNode without explicit versions
This makes it easier to create properly versioned ModelNodes. Change-Id: I2a81021daa5e57af6740e447826124f1554a2c78 Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
-rw-r--r--src/plugins/qmldesigner/designercore/include/abstractview.h2
-rw-r--r--src/plugins/qmldesigner/designercore/model/abstractview.cpp7
2 files changed, 9 insertions, 0 deletions
diff --git a/src/plugins/qmldesigner/designercore/include/abstractview.h b/src/plugins/qmldesigner/designercore/include/abstractview.h
index 2eecf8df5a..6971f5f39e 100644
--- a/src/plugins/qmldesigner/designercore/include/abstractview.h
+++ b/src/plugins/qmldesigner/designercore/include/abstractview.h
@@ -134,6 +134,8 @@ public:
RewriterTransaction beginRewriterTransaction(const QByteArray &identifier);
+ ModelNode createModelNode(const TypeName &typeName);
+
ModelNode createModelNode(const TypeName &typeName,
int majorVersion,
int minorVersion,
diff --git a/src/plugins/qmldesigner/designercore/model/abstractview.cpp b/src/plugins/qmldesigner/designercore/model/abstractview.cpp
index 6826c9ed4d..e728c61358 100644
--- a/src/plugins/qmldesigner/designercore/model/abstractview.cpp
+++ b/src/plugins/qmldesigner/designercore/model/abstractview.cpp
@@ -31,6 +31,7 @@
#include "nodeinstanceview.h"
#include <qmlstate.h>
#include <qmltimeline.h>
+#include <nodemetainfo.h>
#include <qmldesignerconstants.h>
#include <nodelistproperty.h>
#include <variantproperty.h>
@@ -89,6 +90,12 @@ RewriterTransaction AbstractView::beginRewriterTransaction(const QByteArray &ide
return RewriterTransaction(this, identifier);
}
+ModelNode AbstractView::createModelNode(const TypeName &typeName)
+{
+ const NodeMetaInfo metaInfo = model()->metaInfo(typeName);
+ return createModelNode(typeName, metaInfo.majorVersion(), metaInfo.minorVersion());
+}
+
ModelNode AbstractView::createModelNode(const TypeName &typeName,
int majorVersion,
int minorVersion,