summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp23
-rw-r--r--share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.h1
2 files changed, 22 insertions, 2 deletions
diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp
index 83382fb198..2d2edeee4a 100644
--- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp
+++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.cpp
@@ -571,11 +571,30 @@ QVariant ObjectNodeInstance::property(const PropertyName &name) const
return property.read();
}
+void ObjectNodeInstance::ensureVector3DDotProperties(PropertyNameList &list) const
+{
+ const PropertyNameList properties = { "rotation", "scale", "pivot" };
+ for (const auto &property : properties) {
+ if (list.contains(property) && instanceType(property) == "QVector3D") {
+ const PropertyNameList dotProperties = { "x", "y", "z" };
+ for (const auto &dotProperty : dotProperties) {
+ const PropertyName dotPropertyName = property + "." + dotProperty;
+ if (!list.contains(dotPropertyName))
+ list.append(dotPropertyName);
+ }
+ }
+ }
+}
+
PropertyNameList ObjectNodeInstance::propertyNames() const
{
+ PropertyNameList list;
if (isValid())
- return QmlPrivateGate::allPropertyNames(object());
- return PropertyNameList();
+ list = QmlPrivateGate::allPropertyNames(object());
+
+ ensureVector3DDotProperties(list);
+
+ return list;
}
QString ObjectNodeInstance::instanceType(const PropertyName &name) const
diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.h b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.h
index ced76dee58..d716c4d755 100644
--- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.h
+++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/objectnodeinstance.h
@@ -209,6 +209,7 @@ protected:
static QVariant enumationValue(const Enumeration &enumeration);
void initializePropertyWatcher(const ObjectNodeInstance::Pointer &objectNodeInstance);
+ void ensureVector3DDotProperties(PropertyNameList &list) const;
private:
QString m_id;