summaryrefslogtreecommitdiffstats
path: root/src/uml/qumlstatemachine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/uml/qumlstatemachine.cpp')
-rw-r--r--src/uml/qumlstatemachine.cpp32
1 files changed, 8 insertions, 24 deletions
diff --git a/src/uml/qumlstatemachine.cpp b/src/uml/qumlstatemachine.cpp
index 2931059c..ffb641ab 100644
--- a/src/uml/qumlstatemachine.cpp
+++ b/src/uml/qumlstatemachine.cpp
@@ -105,6 +105,14 @@ QUmlStateMachine::QUmlStateMachine(bool createQModelingObject)
}
/*!
+ Destroys the QUmlStateMachine.
+ */
+QUmlStateMachine::~QUmlStateMachine()
+{
+ QModelingElement::deleteQModelingObject();
+}
+
+/*!
Returns a deep-copied clone of the QUmlStateMachine.
*/
QModelingElement *QUmlStateMachine::clone() const
@@ -112,8 +120,6 @@ QModelingElement *QUmlStateMachine::clone() const
QUmlStateMachine *c = new QUmlStateMachine;
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()));
@@ -123,11 +129,7 @@ QModelingElement *QUmlStateMachine::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()));
@@ -140,22 +142,10 @@ QModelingElement *QUmlStateMachine::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())
@@ -179,16 +169,10 @@ QModelingElement *QUmlStateMachine::clone() const
c->addPostcondition(dynamic_cast<QUmlConstraint *>(element->clone()));
foreach (QUmlConstraint *element, preconditions())
c->addPrecondition(dynamic_cast<QUmlConstraint *>(element->clone()));
- if (specification())
- c->setSpecification(dynamic_cast<QUmlBehavioralFeature *>(specification()->clone()));
foreach (QUmlPseudostate *element, connectionPoints())
c->addConnectionPoint(dynamic_cast<QUmlPseudostate *>(element->clone()));
- foreach (QUmlStateMachine *element, extendedStateMachines())
- c->addExtendedStateMachine(dynamic_cast<QUmlStateMachine *>(element->clone()));
foreach (QUmlRegion *element, regions())
c->addRegion(dynamic_cast<QUmlRegion *>(element->clone()));
- foreach (QUmlState *element, submachineStates())
- c->addSubmachineState(dynamic_cast<QUmlState *>(element->clone()));
return c;
}