diff options
author | Aleksei German <aleksei.german@qt.io> | 2020-07-28 17:03:35 +0200 |
---|---|---|
committer | Thomas Hartmann <thomas.hartmann@qt.io> | 2020-08-27 10:05:44 +0000 |
commit | f642c02eb651b8146c57f735e03e4db29078abca (patch) | |
tree | 561ed8450b1a4ee8eb7526999e9a556109edec49 /src/plugins/qmldesigner/designercore | |
parent | ac5d35a53d81212b8ca99af792f312d336e2f087 (diff) |
QmlDesigner: Annotations for States
- Added Annotations support for States
Task: QDS-2312
Change-Id: I204ec958f85bd0f05eae0abbb3848d6d59e7e397
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
Diffstat (limited to 'src/plugins/qmldesigner/designercore')
-rw-r--r-- | src/plugins/qmldesigner/designercore/include/qmlstate.h | 8 | ||||
-rw-r--r-- | src/plugins/qmldesigner/designercore/model/qmlstate.cpp | 39 |
2 files changed, 47 insertions, 0 deletions
diff --git a/src/plugins/qmldesigner/designercore/include/qmlstate.h b/src/plugins/qmldesigner/designercore/include/qmlstate.h index 156e441615..7c43ac8776 100644 --- a/src/plugins/qmldesigner/designercore/include/qmlstate.h +++ b/src/plugins/qmldesigner/designercore/include/qmlstate.h @@ -34,6 +34,8 @@ namespace QmlDesigner { class AbstractViewAbstractVieweGroup; class QmlObjectNode; class QmlModelStateGroup; +class Annotation; +class AnnotationEditor; class QMLDESIGNERCORE_EXPORT QmlModelState : public QmlModelNodeFacade { @@ -72,6 +74,12 @@ public: void setAsDefault(); bool isDefault() const; + void setAnnotation(const Annotation &annotation, const QString &id); + Annotation annotation() const; + QString annotationName() const; + bool hasAnnotation() const; + void removeAnnotation(); + protected: void addChangeSetIfNotExists(const ModelNode &node); static QmlModelState createBaseState(const AbstractView *view); diff --git a/src/plugins/qmldesigner/designercore/model/qmlstate.cpp b/src/plugins/qmldesigner/designercore/model/qmlstate.cpp index 89bbec351e..4a38985ad1 100644 --- a/src/plugins/qmldesigner/designercore/model/qmlstate.cpp +++ b/src/plugins/qmldesigner/designercore/model/qmlstate.cpp @@ -32,6 +32,8 @@ #include "bindingproperty.h" #include "qmlchangeset.h" #include "qmlitemnode.h" +#include "annotation.h" +#include "annotationeditor/annotationeditor.h" #include <utils/qtcassert.h> @@ -304,6 +306,43 @@ bool QmlModelState::isDefault() const return false; } +void QmlModelState::setAnnotation(const Annotation &annotation, const QString &id) +{ + if (modelNode().isValid()) { + modelNode().setCustomId(id); + modelNode().setAnnotation(annotation); + } +} + +Annotation QmlModelState::annotation() const +{ + if (modelNode().isValid()) + return modelNode().annotation(); + return {}; +} + +QString QmlModelState::annotationName() const +{ + if (modelNode().isValid()) + return modelNode().customId(); + return {}; +} + +bool QmlModelState::hasAnnotation() const +{ + if (modelNode().isValid()) + return modelNode().hasAnnotation() || modelNode().hasCustomId(); + return false; +} + +void QmlModelState::removeAnnotation() +{ + if (modelNode().isValid()) { + modelNode().removeCustomId(); + modelNode().removeAnnotation(); + } +} + QmlModelState QmlModelState::createBaseState(const AbstractView *view) { QmlModelState qmlModelState(view->rootModelNode()); |