summaryrefslogtreecommitdiffstats
path: root/src/uml/qumlobjectnode.h
diff options
context:
space:
mode:
authorSandro S. Andrade <sandroandrade@kde.org>2013-08-25 09:33:35 -0300
committerSandro S. Andrade <sandroandrade@kde.org>2013-08-25 14:34:42 +0200
commitea1a2ed03ac0880ef969e01598016de0581fbd41 (patch)
tree57bc0b889a3fbb33f72019759940d945e72d4873 /src/uml/qumlobjectnode.h
parentd1ee48c7b8f3032f4806522417a2bfdcc802bcc3 (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.h150
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