diff options
Diffstat (limited to 'src/uml/qumltransition.cpp')
-rw-r--r-- | src/uml/qumltransition.cpp | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/src/uml/qumltransition.cpp b/src/uml/qumltransition.cpp index 63e1aabd..0d8d7fb3 100644 --- a/src/uml/qumltransition.cpp +++ b/src/uml/qumltransition.cpp @@ -86,6 +86,14 @@ QUmlTransition::QUmlTransition(bool createQModelingObject) : } /*! + Destroys the QUmlTransition. + */ +QUmlTransition::~QUmlTransition() +{ + QModelingElement::deleteQModelingObject(); +} + +/*! Returns a deep-copied clone of the QUmlTransition. */ QModelingElement *QUmlTransition::clone() const @@ -93,8 +101,6 @@ QModelingElement *QUmlTransition::clone() const QUmlTransition *c = new QUmlTransition; 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())); @@ -106,19 +112,11 @@ QModelingElement *QUmlTransition::clone() const c->addOwnedRule(dynamic_cast<QUmlConstraint *>(element->clone())); foreach (QUmlPackageImport *element, packageImports()) c->addPackageImport(dynamic_cast<QUmlPackageImport *>(element->clone())); - if (container()) - c->setContainer(dynamic_cast<QUmlRegion *>(container()->clone())); if (effect()) c->setEffect(dynamic_cast<QUmlBehavior *>(effect()->clone())); if (guard()) c->setGuard(dynamic_cast<QUmlConstraint *>(guard()->clone())); c->setKind(kind()); - if (redefinedTransition()) - c->setRedefinedTransition(dynamic_cast<QUmlTransition *>(redefinedTransition()->clone())); - if (source()) - c->setSource(dynamic_cast<QUmlVertex *>(source()->clone())); - if (target()) - c->setTarget(dynamic_cast<QUmlVertex *>(target()->clone())); foreach (QUmlTrigger *element, triggers()) c->addTrigger(dynamic_cast<QUmlTrigger *>(element->clone())); return c; |