summaryrefslogtreecommitdiffstats
path: root/src/uml/qumlgeneralization.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/uml/qumlgeneralization.cpp')
-rw-r--r--src/uml/qumlgeneralization.cpp88
1 files changed, 15 insertions, 73 deletions
diff --git a/src/uml/qumlgeneralization.cpp b/src/uml/qumlgeneralization.cpp
index 661f5df7..2f2ef948 100644
--- a/src/uml/qumlgeneralization.cpp
+++ b/src/uml/qumlgeneralization.cpp
@@ -54,27 +54,25 @@
\brief A generalization is a taxonomic relationship between a more general classifier and a more specific classifier. Each instance of the specific classifier is also an indirect instance of the general classifier. Thus, the specific classifier inherits the features of the more general classifier.A generalization relates a specific classifier to a more general classifier, and is owned by the specific classifier.
*/
-QUmlGeneralization::QUmlGeneralization(bool createQObject) :
+QUmlGeneralization::QUmlGeneralization(bool createQModelingObject) :
_general(0),
_isSubstitutable(true),
_specific(0)
{
- if (createQObject)
- _qObject = new QUmlGeneralizationObject(this);
- setGroupProperties();
- setPropertyData();
+ if (createQModelingObject)
+ _qModelingObject = qobject_cast<QModelingObject *>(new QUmlGeneralizationObject(this));
}
QUmlGeneralization::~QUmlGeneralization()
{
- if (!deletingFromQObject) {
- if (_qObject)
- _qObject->setProperty("deletingFromModelingObject", true);
- delete _qObject;
+ if (!deletingFromQModelingObject) {
+ if (_qModelingObject)
+ _qModelingObject->setProperty("deletingFromModelingObject", true);
+ delete _qModelingObject;
}
}
-QModelingObject *QUmlGeneralization::clone() const
+QModelingElement *QUmlGeneralization::clone() const
{
QUmlGeneralization *c = new QUmlGeneralization;
foreach (QUmlComment *element, ownedComments())
@@ -110,8 +108,8 @@ void QUmlGeneralization::setGeneral(QUmlClassifier *general)
removeTarget(_general);
_general = general;
- if (general && general->asQObject() && this->asQObject())
- QObject::connect(general->asQObject(), SIGNAL(destroyed()), this->asQObject(), SLOT(setGeneral()));
+ if (general && general->asQModelingObject() && this->asQModelingObject())
+ QObject::connect(general->asQModelingObject(), SIGNAL(destroyed()), this->asQModelingObject(), SLOT(setGeneral()));
// Adjust subsetted properties
if (general) {
@@ -136,8 +134,8 @@ void QUmlGeneralization::addGeneralizationSet(QUmlGeneralizationSet *generalizat
if (!_generalizationSets.contains(generalizationSet)) {
_generalizationSets.insert(generalizationSet);
- if (generalizationSet && generalizationSet->asQObject() && this->asQObject())
- QObject::connect(generalizationSet->asQObject(), SIGNAL(destroyed(QObject*)), this->asQObject(), SLOT(removeGeneralizationSet(QObject *)));
+ if (generalizationSet && generalizationSet->asQModelingObject() && this->asQModelingObject())
+ QObject::connect(generalizationSet->asQModelingObject(), SIGNAL(destroyed(QObject*)), this->asQModelingObject(), SLOT(removeGeneralizationSet(QObject *)));
// Adjust opposite properties
if (generalizationSet) {
@@ -176,7 +174,7 @@ void QUmlGeneralization::setSubstitutable(bool isSubstitutable)
if (_isSubstitutable != isSubstitutable) {
_isSubstitutable = isSubstitutable;
- _modifiedResettableProperties << QStringLiteral("isSubstitutable");
+ _qModelingObject->modifiedResettableProperties() << QStringLiteral("isSubstitutable");
}
}
@@ -199,8 +197,8 @@ void QUmlGeneralization::setSpecific(QUmlClassifier *specific)
removeSource(_specific);
_specific = specific;
- if (specific && specific->asQObject() && this->asQObject())
- QObject::connect(specific->asQObject(), SIGNAL(destroyed()), this->asQObject(), SLOT(setSpecific()));
+ if (specific && specific->asQModelingObject() && this->asQModelingObject())
+ QObject::connect(specific->asQModelingObject(), SIGNAL(destroyed()), this->asQModelingObject(), SLOT(setSpecific()));
// Adjust subsetted properties
setOwner(specific);
@@ -210,59 +208,3 @@ void QUmlGeneralization::setSpecific(QUmlClassifier *specific)
}
}
-void QUmlGeneralization::setGroupProperties()
-{
- const QMetaObject *metaObject = _qObject->metaObject();
-
- _groupProperties.insert(QStringLiteral("QUmlElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("ownedComments"))));
- _groupProperties.insert(QStringLiteral("QUmlElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("ownedElements"))));
- _groupProperties.insert(QStringLiteral("QUmlElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("owner"))));
- _groupProperties.insert(QStringLiteral("QUmlRelationship"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("relatedElements"))));
- _groupProperties.insert(QStringLiteral("QUmlDirectedRelationship"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("sources"))));
- _groupProperties.insert(QStringLiteral("QUmlDirectedRelationship"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("targets"))));
- _groupProperties.insert(QStringLiteral("QUmlGeneralization"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("general"))));
- _groupProperties.insert(QStringLiteral("QUmlGeneralization"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("generalizationSets"))));
- _groupProperties.insert(QStringLiteral("QUmlGeneralization"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("isSubstitutable"))));
- _groupProperties.insert(QStringLiteral("QUmlGeneralization"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("specific"))));
-}
-
-void QUmlGeneralization::setPropertyData()
-{
- QModelingObject::propertyDataHash[QStringLiteral("QUmlGeneralization")][QStringLiteral("general")][QtModeling::AggregationRole] = QStringLiteral("none");
- QModelingObject::propertyDataHash[QStringLiteral("QUmlGeneralization")][QStringLiteral("general")][QtModeling::PropertyClassRole] = QStringLiteral("QUmlGeneralization");
- QModelingObject::propertyDataHash[QStringLiteral("QUmlGeneralization")][QStringLiteral("general")][QtModeling::IsDerivedRole] = false;
- QModelingObject::propertyDataHash[QStringLiteral("QUmlGeneralization")][QStringLiteral("general")][QtModeling::IsDerivedUnionRole] = false;
- QModelingObject::propertyDataHash[QStringLiteral("QUmlGeneralization")][QStringLiteral("general")][QtModeling::DocumentationRole] = QStringLiteral("References the general classifier in the Generalization relationship.");
- QModelingObject::propertyDataHash[QStringLiteral("QUmlGeneralization")][QStringLiteral("general")][QtModeling::RedefinedPropertiesRole] = QStringLiteral("");
- QModelingObject::propertyDataHash[QStringLiteral("QUmlGeneralization")][QStringLiteral("general")][QtModeling::SubsettedPropertiesRole] = QStringLiteral("DirectedRelationship-target");
- QModelingObject::propertyDataHash[QStringLiteral("QUmlGeneralization")][QStringLiteral("general")][QtModeling::OppositeEndRole] = QStringLiteral("");
-
- QModelingObject::propertyDataHash[QStringLiteral("QUmlGeneralization")][QStringLiteral("generalizationSets")][QtModeling::AggregationRole] = QStringLiteral("none");
- QModelingObject::propertyDataHash[QStringLiteral("QUmlGeneralization")][QStringLiteral("generalizationSets")][QtModeling::PropertyClassRole] = QStringLiteral("QUmlGeneralization");
- QModelingObject::propertyDataHash[QStringLiteral("QUmlGeneralization")][QStringLiteral("generalizationSets")][QtModeling::IsDerivedRole] = false;
- QModelingObject::propertyDataHash[QStringLiteral("QUmlGeneralization")][QStringLiteral("generalizationSets")][QtModeling::IsDerivedUnionRole] = false;
- QModelingObject::propertyDataHash[QStringLiteral("QUmlGeneralization")][QStringLiteral("generalizationSets")][QtModeling::DocumentationRole] = QStringLiteral("Designates a set in which instances of Generalization is considered members.");
- QModelingObject::propertyDataHash[QStringLiteral("QUmlGeneralization")][QStringLiteral("generalizationSets")][QtModeling::RedefinedPropertiesRole] = QStringLiteral("");
- QModelingObject::propertyDataHash[QStringLiteral("QUmlGeneralization")][QStringLiteral("generalizationSets")][QtModeling::SubsettedPropertiesRole] = QStringLiteral("");
- QModelingObject::propertyDataHash[QStringLiteral("QUmlGeneralization")][QStringLiteral("generalizationSets")][QtModeling::OppositeEndRole] = QStringLiteral("GeneralizationSet-generalization");
-
- QModelingObject::propertyDataHash[QStringLiteral("QUmlGeneralization")][QStringLiteral("isSubstitutable")][QtModeling::AggregationRole] = QStringLiteral("none");
- QModelingObject::propertyDataHash[QStringLiteral("QUmlGeneralization")][QStringLiteral("isSubstitutable")][QtModeling::PropertyClassRole] = QStringLiteral("QUmlGeneralization");
- QModelingObject::propertyDataHash[QStringLiteral("QUmlGeneralization")][QStringLiteral("isSubstitutable")][QtModeling::IsDerivedRole] = false;
- QModelingObject::propertyDataHash[QStringLiteral("QUmlGeneralization")][QStringLiteral("isSubstitutable")][QtModeling::IsDerivedUnionRole] = false;
- QModelingObject::propertyDataHash[QStringLiteral("QUmlGeneralization")][QStringLiteral("isSubstitutable")][QtModeling::DocumentationRole] = QStringLiteral("Indicates whether the specific classifier can be used wherever the general classifier can be used. If true, the execution traces of the specific classifier will be a superset of the execution traces of the general classifier.");
- QModelingObject::propertyDataHash[QStringLiteral("QUmlGeneralization")][QStringLiteral("isSubstitutable")][QtModeling::RedefinedPropertiesRole] = QStringLiteral("");
- QModelingObject::propertyDataHash[QStringLiteral("QUmlGeneralization")][QStringLiteral("isSubstitutable")][QtModeling::SubsettedPropertiesRole] = QStringLiteral("");
- QModelingObject::propertyDataHash[QStringLiteral("QUmlGeneralization")][QStringLiteral("isSubstitutable")][QtModeling::OppositeEndRole] = QStringLiteral("");
-
- QModelingObject::propertyDataHash[QStringLiteral("QUmlGeneralization")][QStringLiteral("specific")][QtModeling::AggregationRole] = QStringLiteral("none");
- QModelingObject::propertyDataHash[QStringLiteral("QUmlGeneralization")][QStringLiteral("specific")][QtModeling::PropertyClassRole] = QStringLiteral("QUmlGeneralization");
- QModelingObject::propertyDataHash[QStringLiteral("QUmlGeneralization")][QStringLiteral("specific")][QtModeling::IsDerivedRole] = false;
- QModelingObject::propertyDataHash[QStringLiteral("QUmlGeneralization")][QStringLiteral("specific")][QtModeling::IsDerivedUnionRole] = false;
- QModelingObject::propertyDataHash[QStringLiteral("QUmlGeneralization")][QStringLiteral("specific")][QtModeling::DocumentationRole] = QStringLiteral("References the specializing classifier in the Generalization relationship.");
- QModelingObject::propertyDataHash[QStringLiteral("QUmlGeneralization")][QStringLiteral("specific")][QtModeling::RedefinedPropertiesRole] = QStringLiteral("");
- QModelingObject::propertyDataHash[QStringLiteral("QUmlGeneralization")][QStringLiteral("specific")][QtModeling::SubsettedPropertiesRole] = QStringLiteral("Element-owner DirectedRelationship-source");
- QModelingObject::propertyDataHash[QStringLiteral("QUmlGeneralization")][QStringLiteral("specific")][QtModeling::OppositeEndRole] = QStringLiteral("Classifier-generalization");
-
-}
-