diff options
Diffstat (limited to 'src/plugins/qmldesigner')
-rw-r--r-- | src/plugins/qmldesigner/designercore/include/nodeinstance.h | 2 | ||||
-rw-r--r-- | src/plugins/qmldesigner/designercore/instances/nodeinstance.cpp | 16 |
2 files changed, 18 insertions, 0 deletions
diff --git a/src/plugins/qmldesigner/designercore/include/nodeinstance.h b/src/plugins/qmldesigner/designercore/include/nodeinstance.h index 9595396ae9..56b8141bde 100644 --- a/src/plugins/qmldesigner/designercore/include/nodeinstance.h +++ b/src/plugins/qmldesigner/designercore/include/nodeinstance.h @@ -90,6 +90,7 @@ public: bool hasAnchors() const; QString error() const; bool hasError() const; + QStringList allStateNames() const; protected: void setProperty(const PropertyName &name, const QVariant &value); @@ -117,6 +118,7 @@ protected: InformationName setInformationAnchor(const PropertyName &sourceAnchorLine, const PropertyName &targetAnchorLine, qint32 targetInstanceId); InformationName setInformationInstanceTypeForProperty(const PropertyName &property, const TypeName &type); InformationName setInformationHasBindingForProperty(const PropertyName &property, bool hasProperty); + InformationName setAllStates(const QStringList &states); void setParentId(qint32 instanceId); void setRenderPixmap(const QImage &image); diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstance.cpp b/src/plugins/qmldesigner/designercore/instances/nodeinstance.cpp index 15d09e4516..453c1b31a4 100644 --- a/src/plugins/qmldesigner/designercore/instances/nodeinstance.cpp +++ b/src/plugins/qmldesigner/designercore/instances/nodeinstance.cpp @@ -76,6 +76,7 @@ public: QString errorMessage; QHash<PropertyName, QPair<PropertyName, qint32> > anchors; + QStringList allStates; }; NodeInstance::NodeInstance() = default; @@ -169,6 +170,10 @@ bool NodeInstance::hasError() const return !d->errorMessage.isEmpty(); } +QStringList NodeInstance::allStateNames() const +{ + return d->allStates; +} bool NodeInstance::isValid() const { @@ -592,6 +597,16 @@ InformationName NodeInstance::setInformationHasBindingForProperty(const Property return NoInformationChange; } +InformationName NodeInstance::setAllStates(const QStringList &states) +{ + if (d->allStates != states) { + d->allStates = states; + return AllStates; + } + + return NoInformationChange; +} + InformationName NodeInstance::setInformation(InformationName name, const QVariant &information, const QVariant &secondInformation, const QVariant &thirdInformation) { switch (name) { @@ -614,6 +629,7 @@ InformationName NodeInstance::setInformation(InformationName name, const QVarian case Anchor: return setInformationAnchor(information.toByteArray(), secondInformation.toByteArray(), thirdInformation.value<qint32>()); case InstanceTypeForProperty: return setInformationInstanceTypeForProperty(information.toByteArray(), secondInformation.toByteArray()); case HasBindingForProperty: return setInformationHasBindingForProperty(information.toByteArray(), secondInformation.toBool()); + case AllStates: return setAllStates(information.toStringList()); case NoName: default: break; } |