diff options
Diffstat (limited to 'src/uml/qumlloopnode.cpp')
-rw-r--r-- | src/uml/qumlloopnode.cpp | 36 |
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; } |