diff options
author | Sandro S. Andrade <sandroandrade@kde.org> | 2013-08-25 09:33:35 -0300 |
---|---|---|
committer | Sandro S. Andrade <sandroandrade@kde.org> | 2013-08-25 14:34:42 +0200 |
commit | ea1a2ed03ac0880ef969e01598016de0581fbd41 (patch) | |
tree | 57bc0b889a3fbb33f72019759940d945e72d4873 /src/uml/qumlobjectnode.h | |
parent | d1ee48c7b8f3032f4806522417a2bfdcc802bcc3 (diff) |
Provide new UML metamodel implementation
- QtWrappedObject is going to be replaced by QtModeling
- DuSE-MT broken until refactoring finishes
Change-Id: I628704ea9dac715d672638a2a9fee2071055dd92
Reviewed-by: Sandro S. Andrade <sandroandrade@kde.org>
Diffstat (limited to 'src/uml/qumlobjectnode.h')
-rw-r--r-- | src/uml/qumlobjectnode.h | 150 |
1 files changed, 16 insertions, 134 deletions
diff --git a/src/uml/qumlobjectnode.h b/src/uml/qumlobjectnode.h index 0e832e8b..aa6e375e 100644 --- a/src/uml/qumlobjectnode.h +++ b/src/uml/qumlobjectnode.h @@ -43,156 +43,38 @@ #include <QtUml/QtUmlGlobal> -// Base class includes -#include <QtWrappedObjects/QWrappedObject> #include <QtUml/QUmlActivityNode> #include <QtUml/QUmlTypedElement> - -// QtUml includes #include <QtUml/QtUmlNamespace> -// Qt includes -#include <QtCore/QSet> - QT_BEGIN_HEADER QT_BEGIN_NAMESPACE QT_MODULE(QtUml) -// Forward decls for function parameters -class QUmlState; class QUmlBehavior; +class QUmlState; class QUmlValueSpecification; class QUmlObjectNodePrivate; - -class Q_UML_EXPORT QUmlObjectNode : public QWrappedObject +class Q_UML_EXPORT QUmlObjectNode : public QUmlActivityNode, public QUmlTypedElement { - Q_OBJECT - Q_CLASSINFO("MetaModelPrefix", "QUml") - - Q_PROPERTY(QSet<QUmlElement *> ownedElements READ ownedElements) - Q_PROPERTY(QUmlElement * owner READ owner) - Q_PROPERTY(QSet<QUmlComment *> ownedComments READ ownedComments) - - Q_PROPERTY(QString name READ name WRITE setName) - Q_PROPERTY(QtUml::VisibilityKind visibility READ visibility WRITE setVisibility) - Q_PROPERTY(QString qualifiedName READ qualifiedName STORED false) - Q_PROPERTY(QUmlStringExpression * nameExpression READ nameExpression WRITE setNameExpression) - Q_PROPERTY(QUmlNamespace * namespace_ READ namespace_) - Q_PROPERTY(QSet<QUmlDependency *> clientDependencies READ clientDependencies) - - Q_PROPERTY(bool isLeaf READ isLeaf WRITE setLeaf RESET unsetLeaf) - Q_PROPERTY(QSet<QUmlRedefinableElement *> redefinedElements READ redefinedElements) - Q_PROPERTY(QSet<QUmlClassifier *> redefinitionContexts READ redefinitionContexts) - - Q_PROPERTY(QSet<QUmlActivityNode *> redefinedNodes READ redefinedNodes) - Q_PROPERTY(QSet<QUmlActivityEdge *> incomings READ incomings) - Q_PROPERTY(QUmlActivity * activity READ activity WRITE setActivity) - Q_PROPERTY(QSet<QUmlActivityGroup *> inGroup READ inGroup) - Q_PROPERTY(QUmlStructuredActivityNode * inStructuredNode READ inStructuredNode WRITE setInStructuredNode) - Q_PROPERTY(QSet<QUmlActivityPartition *> inPartition READ inPartition) - Q_PROPERTY(QSet<QUmlInterruptibleActivityRegion *> inInterruptibleRegion READ inInterruptibleRegion) - Q_PROPERTY(QSet<QUmlActivityEdge *> outgoings READ outgoings) - - Q_PROPERTY(QUmlType * type READ type WRITE setType) - - Q_PROPERTY(bool isControlType READ isControlType WRITE setControlType RESET unsetControlType) - Q_PROPERTY(QtUml::ObjectNodeOrderingKind ordering READ ordering WRITE setOrdering RESET unsetOrdering) - Q_PROPERTY(QUmlValueSpecification * upperBound READ upperBound WRITE setUpperBound) - Q_PROPERTY(QUmlBehavior * selection READ selection WRITE setSelection) - Q_PROPERTY(QSet<QUmlState *> inState READ inState) - - Q_DISABLE_COPY(QUmlObjectNode) - Q_DECLARE_PRIVATE(QUmlObjectNode) - public: - Q_INVOKABLE explicit QUmlObjectNode(QWrappedObject *wrapper = 0, QWrappedObject *parent = 0); - virtual ~QUmlObjectNode(); - - // Association ends from aggregated QUmlElement - Q_INVOKABLE QSet<QUmlElement *> ownedElements() const; - Q_INVOKABLE QUmlElement *owner() const; - Q_INVOKABLE QSet<QUmlComment *> ownedComments() const; - Q_INVOKABLE void addOwnedComment(QUmlComment *ownedComment); - Q_INVOKABLE void removeOwnedComment(QUmlComment *ownedComment); - - // Attributes from aggregated QUmlNamedElement - Q_INVOKABLE QString name() const; - Q_INVOKABLE void setName(QString name); - Q_INVOKABLE QtUml::VisibilityKind visibility() const; - Q_INVOKABLE void setVisibility(QtUml::VisibilityKind visibility); - Q_INVOKABLE QString qualifiedName() const; - - // Association ends from aggregated QUmlNamedElement - Q_INVOKABLE QUmlStringExpression *nameExpression() const; - Q_INVOKABLE void setNameExpression(QUmlStringExpression *nameExpression); - Q_INVOKABLE QUmlNamespace *namespace_() const; - Q_INVOKABLE QSet<QUmlDependency *> clientDependencies() const; - Q_INVOKABLE void addClientDependency(QUmlDependency *clientDependency); - Q_INVOKABLE void removeClientDependency(QUmlDependency *clientDependency); - - // Attributes from aggregated QUmlRedefinableElement - Q_INVOKABLE bool isLeaf() const; - Q_INVOKABLE void setLeaf(bool isLeaf); - Q_INVOKABLE void unsetLeaf(); - - // Association ends from aggregated QUmlRedefinableElement - Q_INVOKABLE QSet<QUmlRedefinableElement *> redefinedElements() const; - Q_INVOKABLE QSet<QUmlClassifier *> redefinitionContexts() const; - - // Association ends from aggregated QUmlActivityNode - Q_INVOKABLE QSet<QUmlActivityNode *> redefinedNodes() const; - Q_INVOKABLE void addRedefinedNode(QUmlActivityNode *redefinedNode); - Q_INVOKABLE void removeRedefinedNode(QUmlActivityNode *redefinedNode); - Q_INVOKABLE QSet<QUmlActivityEdge *> incomings() const; - Q_INVOKABLE void addIncoming(QUmlActivityEdge *incoming); - Q_INVOKABLE void removeIncoming(QUmlActivityEdge *incoming); - Q_INVOKABLE QUmlActivity *activity() const; - Q_INVOKABLE void setActivity(QUmlActivity *activity); - Q_INVOKABLE QSet<QUmlActivityGroup *> inGroup() const; - Q_INVOKABLE QUmlStructuredActivityNode *inStructuredNode() const; - Q_INVOKABLE void setInStructuredNode(QUmlStructuredActivityNode *inStructuredNode); - Q_INVOKABLE QSet<QUmlActivityPartition *> inPartition() const; - Q_INVOKABLE void addInPartition(QUmlActivityPartition *inPartition); - Q_INVOKABLE void removeInPartition(QUmlActivityPartition *inPartition); - Q_INVOKABLE QSet<QUmlInterruptibleActivityRegion *> inInterruptibleRegion() const; - Q_INVOKABLE void addInInterruptibleRegion(QUmlInterruptibleActivityRegion *inInterruptibleRegion); - Q_INVOKABLE void removeInInterruptibleRegion(QUmlInterruptibleActivityRegion *inInterruptibleRegion); - Q_INVOKABLE QSet<QUmlActivityEdge *> outgoings() const; - Q_INVOKABLE void addOutgoing(QUmlActivityEdge *outgoing); - Q_INVOKABLE void removeOutgoing(QUmlActivityEdge *outgoing); - - // Association ends from aggregated QUmlTypedElement - Q_INVOKABLE QUmlType *type() const; - Q_INVOKABLE void setType(QUmlType *type); - - // Attributes from QUmlObjectNode - Q_INVOKABLE bool isControlType() const; - Q_INVOKABLE void setControlType(bool isControlType); - Q_INVOKABLE void unsetControlType(); - Q_INVOKABLE QtUml::ObjectNodeOrderingKind ordering() const; - Q_INVOKABLE void setOrdering(QtUml::ObjectNodeOrderingKind ordering); - Q_INVOKABLE void unsetOrdering(); - - // Association ends from QUmlObjectNode - Q_INVOKABLE QUmlValueSpecification *upperBound() const; - Q_INVOKABLE void setUpperBound(QUmlValueSpecification *upperBound); - Q_INVOKABLE QUmlBehavior *selection() const; - Q_INVOKABLE void setSelection(QUmlBehavior *selection); - Q_INVOKABLE QSet<QUmlState *> inState() const; - Q_INVOKABLE void addInState(QUmlState *inState); - Q_INVOKABLE void removeInState(QUmlState *inState); - - virtual void setPropertyData(); - -protected: - explicit QUmlObjectNode(QUmlObjectNodePrivate &dd, QWrappedObject *wrapper = 0, QWrappedObject *parent = 0); - -private: - QUmlActivityNode *_wrappedUmlActivityNode; - QUmlTypedElement *_wrappedUmlTypedElement; + Q_DECL_HIDDEN QUmlObjectNode(bool create_d_ptr = true); + + // Owned attributes + QSet<QUmlState *> inState() const; + void addInState(QSet<QUmlState *> inState); + void removeInState(QSet<QUmlState *> inState); + bool isControlType() const; + void setControlType(bool isControlType); + QtUml::ObjectNodeOrderingKind ordering() const; + void setOrdering(QtUml::ObjectNodeOrderingKind ordering); + QUmlBehavior *selection() const; + void setSelection(QUmlBehavior *selection); + QUmlValueSpecification *upperBound() const; + void setUpperBound(QUmlValueSpecification *upperBound); }; QT_END_NAMESPACE |