summaryrefslogtreecommitdiffstats
path: root/src/uml/qumlloopnode.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/uml/qumlloopnode.cpp')
-rw-r--r--src/uml/qumlloopnode.cpp36
1 files changed, 8 insertions, 28 deletions
diff --git a/src/uml/qumlloopnode.cpp b/src/uml/qumlloopnode.cpp
index ac585b5d..c55b2dae 100644
--- a/src/uml/qumlloopnode.cpp
+++ b/src/uml/qumlloopnode.cpp
@@ -90,6 +90,14 @@ QUmlLoopNode::QUmlLoopNode(bool createQModelingObject) :
}
/*!
+ Destroys the QUmlLoopNode.
+ */
+QUmlLoopNode::~QUmlLoopNode()
+{
+ QModelingElement::deleteQModelingObject();
+}
+
+/*!
Returns a deep-copied clone of the QUmlLoopNode.
*/
QModelingElement *QUmlLoopNode::clone() const
@@ -97,25 +105,11 @@ QModelingElement *QUmlLoopNode::clone() const
QUmlLoopNode *c = new QUmlLoopNode;
foreach (QUmlComment *element, ownedComments())
c->addOwnedComment(dynamic_cast<QUmlComment *>(element->clone()));
- foreach (QUmlDependency *element, clientDependencies())
- c->addClientDependency(dynamic_cast<QUmlDependency *>(element->clone()));
c->setName(name());
if (nameExpression())
c->setNameExpression(dynamic_cast<QUmlStringExpression *>(nameExpression()->clone()));
c->setVisibility(visibility());
c->setLeaf(isLeaf());
- foreach (QUmlInterruptibleActivityRegion *element, inInterruptibleRegions())
- c->addInInterruptibleRegion(dynamic_cast<QUmlInterruptibleActivityRegion *>(element->clone()));
- foreach (QUmlActivityPartition *element, inPartitions())
- c->addInPartition(dynamic_cast<QUmlActivityPartition *>(element->clone()));
- if (inStructuredNode())
- c->setInStructuredNode(dynamic_cast<QUmlStructuredActivityNode *>(inStructuredNode()->clone()));
- foreach (QUmlActivityEdge *element, incomings())
- c->addIncoming(dynamic_cast<QUmlActivityEdge *>(element->clone()));
- foreach (QUmlActivityEdge *element, outgoings())
- c->addOutgoing(dynamic_cast<QUmlActivityEdge *>(element->clone()));
- foreach (QUmlActivityNode *element, redefinedNodes())
- c->addRedefinedNode(dynamic_cast<QUmlActivityNode *>(element->clone()));
foreach (QUmlExceptionHandler *element, handlers())
c->addHandler(dynamic_cast<QUmlExceptionHandler *>(element->clone()));
c->setLocallyReentrant(isLocallyReentrant());
@@ -129,8 +123,6 @@ QModelingElement *QUmlLoopNode::clone() const
c->addOwnedRule(dynamic_cast<QUmlConstraint *>(element->clone()));
foreach (QUmlPackageImport *element, packageImports())
c->addPackageImport(dynamic_cast<QUmlPackageImport *>(element->clone()));
- if (activity())
- c->setActivity(dynamic_cast<QUmlActivity *>(activity()->clone()));
foreach (QUmlActivityEdge *element, edges())
c->addEdge(dynamic_cast<QUmlActivityEdge *>(element->clone()));
c->setMustIsolate(mustIsolate());
@@ -138,23 +130,11 @@ QModelingElement *QUmlLoopNode::clone() const
c->addNode(dynamic_cast<QUmlActivityNode *>(element->clone()));
foreach (QUmlVariable *element, variables())
c->addVariable(dynamic_cast<QUmlVariable *>(element->clone()));
- foreach (QUmlOutputPin *element, bodyOutputs())
- c->addBodyOutput(dynamic_cast<QUmlOutputPin *>(element->clone()));
- foreach (QUmlExecutableNode *element, bodyParts())
- c->addBodyPart(dynamic_cast<QUmlExecutableNode *>(element->clone()));
- if (decider())
- c->setDecider(dynamic_cast<QUmlOutputPin *>(decider()->clone()));
c->setTestedFirst(isTestedFirst());
- foreach (QUmlOutputPin *element, loopVariables())
- c->addLoopVariable(dynamic_cast<QUmlOutputPin *>(element->clone()));
foreach (QUmlInputPin *element, loopVariableInputs())
c->addLoopVariableInput(dynamic_cast<QUmlInputPin *>(element->clone()));
foreach (QUmlOutputPin *element, results())
c->addResult(dynamic_cast<QUmlOutputPin *>(element->clone()));
- foreach (QUmlExecutableNode *element, setupParts())
- c->addSetupPart(dynamic_cast<QUmlExecutableNode *>(element->clone()));
- foreach (QUmlExecutableNode *element, tests())
- c->addTest(dynamic_cast<QUmlExecutableNode *>(element->clone()));
return c;
}