diff options
Diffstat (limited to 'src/uml/qumlbehavior.cpp')
-rw-r--r-- | src/uml/qumlbehavior.cpp | 30 |
1 files changed, 8 insertions, 22 deletions
diff --git a/src/uml/qumlbehavior.cpp b/src/uml/qumlbehavior.cpp index 0a70e029..d8322252 100644 --- a/src/uml/qumlbehavior.cpp +++ b/src/uml/qumlbehavior.cpp @@ -102,6 +102,14 @@ QUmlBehavior::QUmlBehavior() : } /*! + Destroys the QUmlBehavior. + */ +QUmlBehavior::~QUmlBehavior() +{ + QModelingElement::deleteQModelingObject(); +} + +/*! Returns a deep-copied clone of the QUmlBehavior. */ QModelingElement *QUmlBehavior::clone() const @@ -109,8 +117,6 @@ QModelingElement *QUmlBehavior::clone() const QUmlBehavior *c = new QUmlBehavior; 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())); @@ -120,11 +126,7 @@ QModelingElement *QUmlBehavior::clone() const c->addOwnedRule(dynamic_cast<QUmlConstraint *>(element->clone())); foreach (QUmlPackageImport *element, packageImports()) c->addPackageImport(dynamic_cast<QUmlPackageImport *>(element->clone())); - if (owningTemplateParameter()) - c->setOwningTemplateParameter(dynamic_cast<QUmlTemplateParameter *>(owningTemplateParameter()->clone())); c->setVisibility(visibility()); - if (package()) - c->setPackage(dynamic_cast<QUmlPackage *>(package()->clone())); c->setLeaf(isLeaf()); foreach (QUmlTemplateBinding *element, templateBindings()) c->addTemplateBinding(dynamic_cast<QUmlTemplateBinding *>(element->clone())); @@ -137,22 +139,10 @@ QModelingElement *QUmlBehavior::clone() const c->setOwnedTemplateSignature(dynamic_cast<QUmlRedefinableTemplateSignature *>(ownedTemplateSignature()->clone())); foreach (QUmlUseCase *element, ownedUseCases()) c->addOwnedUseCase(dynamic_cast<QUmlUseCase *>(element->clone())); - foreach (QUmlGeneralizationSet *element, powertypeExtents()) - c->addPowertypeExtent(dynamic_cast<QUmlGeneralizationSet *>(element->clone())); - foreach (QUmlClassifier *element, redefinedClassifiers()) - c->addRedefinedClassifier(dynamic_cast<QUmlClassifier *>(element->clone())); - if (representation()) - c->setRepresentation(dynamic_cast<QUmlCollaborationUse *>(representation()->clone())); foreach (QUmlSubstitution *element, substitutions()) c->addSubstitution(dynamic_cast<QUmlSubstitution *>(element->clone())); - if (templateParameter()) - c->setTemplateParameter(dynamic_cast<QUmlClassifierTemplateParameter *>(templateParameter()->clone())); - foreach (QUmlUseCase *element, useCases()) - c->addUseCase(dynamic_cast<QUmlUseCase *>(element->clone())); foreach (QUmlConnector *element, ownedConnectors()) c->addOwnedConnector(dynamic_cast<QUmlConnector *>(element->clone())); - if (classifierBehavior()) - c->setClassifierBehavior(dynamic_cast<QUmlBehavior *>(classifierBehavior()->clone())); foreach (QUmlInterfaceRealization *element, interfaceRealizations()) c->addInterfaceRealization(dynamic_cast<QUmlInterfaceRealization *>(element->clone())); foreach (QUmlBehavior *element, ownedBehaviors()) @@ -176,10 +166,6 @@ QModelingElement *QUmlBehavior::clone() const c->addPostcondition(dynamic_cast<QUmlConstraint *>(element->clone())); foreach (QUmlConstraint *element, preconditions()) c->addPrecondition(dynamic_cast<QUmlConstraint *>(element->clone())); - foreach (QUmlBehavior *element, redefinedBehaviors()) - c->addRedefinedBehavior(dynamic_cast<QUmlBehavior *>(element->clone())); - if (specification()) - c->setSpecification(dynamic_cast<QUmlBehavioralFeature *>(specification()->clone())); return c; } |