summaryrefslogtreecommitdiffstats
path: root/src/uml/qumlpin.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/uml/qumlpin.cpp')
-rw-r--r--src/uml/qumlpin.cpp30
1 files changed, 8 insertions, 22 deletions
diff --git a/src/uml/qumlpin.cpp b/src/uml/qumlpin.cpp
index 9fdec196..39ef1e06 100644
--- a/src/uml/qumlpin.cpp
+++ b/src/uml/qumlpin.cpp
@@ -82,6 +82,14 @@ QUmlPin::QUmlPin() :
}
/*!
+ Destroys the QUmlPin.
+ */
+QUmlPin::~QUmlPin()
+{
+ QModelingElement::deleteQModelingObject();
+}
+
+/*!
Returns a deep-copied clone of the QUmlPin.
*/
QModelingElement *QUmlPin::clone() const
@@ -95,35 +103,13 @@ QModelingElement *QUmlPin::clone() const
c->setLowerValue(dynamic_cast<QUmlValueSpecification *>(lowerValue()->clone()));
if (upperValue())
c->setUpperValue(dynamic_cast<QUmlValueSpecification *>(upperValue()->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());
- if (activity())
- c->setActivity(dynamic_cast<QUmlActivity *>(activity()->clone()));
- 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()));
- if (type())
- c->setType(dynamic_cast<QUmlType *>(type()->clone()));
- foreach (QUmlState *element, inStates())
- c->addInState(dynamic_cast<QUmlState *>(element->clone()));
c->setControlType(isControlType());
c->setOrdering(ordering());
- if (selection())
- c->setSelection(dynamic_cast<QUmlBehavior *>(selection()->clone()));
if (upperBound())
c->setUpperBound(dynamic_cast<QUmlValueSpecification *>(upperBound()->clone()));
c->setControl(isControl());