summaryrefslogtreecommitdiffstats
path: root/src/uml/qumldatatype.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/uml/qumldatatype.cpp')
-rw-r--r--src/uml/qumldatatype.cpp105
1 files changed, 18 insertions, 87 deletions
diff --git a/src/uml/qumldatatype.cpp b/src/uml/qumldatatype.cpp
index 5f808f2f..3eddc869 100644
--- a/src/uml/qumldatatype.cpp
+++ b/src/uml/qumldatatype.cpp
@@ -78,24 +78,22 @@
\brief A data type is a type whose instances are identified only by their value. A data type may contain attributes to support the modeling of structured data types.
*/
-QUmlDataType::QUmlDataType(bool createQObject)
+QUmlDataType::QUmlDataType(bool createQModelingObject)
{
- if (createQObject)
- _qObject = new QUmlDataTypeObject(this);
- setGroupProperties();
- setPropertyData();
+ if (createQModelingObject)
+ _qModelingObject = qobject_cast<QModelingObject *>(new QUmlDataTypeObject(this));
}
QUmlDataType::~QUmlDataType()
{
- if (!deletingFromQObject) {
- if (_qObject)
- _qObject->setProperty("deletingFromModelingObject", true);
- delete _qObject;
+ if (!deletingFromQModelingObject) {
+ if (_qModelingObject)
+ _qModelingObject->setProperty("deletingFromModelingObject", true);
+ delete _qModelingObject;
}
}
-QModelingObject *QUmlDataType::clone() const
+QModelingElement *QUmlDataType::clone() const
{
QUmlDataType *c = new QUmlDataType;
foreach (QUmlComment *element, ownedComments())
@@ -166,9 +164,9 @@ void QUmlDataType::addOwnedAttribute(QUmlProperty *ownedAttribute)
if (!_ownedAttributes.contains(ownedAttribute)) {
_ownedAttributes.append(ownedAttribute);
- if (ownedAttribute && ownedAttribute->asQObject() && this->asQObject())
- QObject::connect(ownedAttribute->asQObject(), SIGNAL(destroyed(QObject*)), this->asQObject(), SLOT(removeOwnedAttribute(QObject *)));
- ownedAttribute->asQObject()->setParent(this->asQObject());
+ if (ownedAttribute && ownedAttribute->asQModelingObject() && this->asQModelingObject())
+ QObject::connect(ownedAttribute->asQModelingObject(), SIGNAL(destroyed(QObject*)), this->asQModelingObject(), SLOT(removeOwnedAttribute(QObject *)));
+ ownedAttribute->asQModelingObject()->setParent(this->asQModelingObject());
// Adjust subsetted properties
addOwnedMember(ownedAttribute);
@@ -187,8 +185,8 @@ void QUmlDataType::removeOwnedAttribute(QUmlProperty *ownedAttribute)
if (_ownedAttributes.contains(ownedAttribute)) {
_ownedAttributes.removeAll(ownedAttribute);
- if (ownedAttribute->asQObject())
- ownedAttribute->asQObject()->setParent(0);
+ if (ownedAttribute->asQModelingObject())
+ ownedAttribute->asQModelingObject()->setParent(0);
// Adjust subsetted properties
removeOwnedMember(ownedAttribute);
@@ -217,9 +215,9 @@ void QUmlDataType::addOwnedOperation(QUmlOperation *ownedOperation)
if (!_ownedOperations.contains(ownedOperation)) {
_ownedOperations.append(ownedOperation);
- if (ownedOperation && ownedOperation->asQObject() && this->asQObject())
- QObject::connect(ownedOperation->asQObject(), SIGNAL(destroyed(QObject*)), this->asQObject(), SLOT(removeOwnedOperation(QObject *)));
- ownedOperation->asQObject()->setParent(this->asQObject());
+ if (ownedOperation && ownedOperation->asQModelingObject() && this->asQModelingObject())
+ QObject::connect(ownedOperation->asQModelingObject(), SIGNAL(destroyed(QObject*)), this->asQModelingObject(), SLOT(removeOwnedOperation(QObject *)));
+ ownedOperation->asQModelingObject()->setParent(this->asQModelingObject());
// Adjust subsetted properties
addFeature(ownedOperation);
@@ -238,8 +236,8 @@ void QUmlDataType::removeOwnedOperation(QUmlOperation *ownedOperation)
if (_ownedOperations.contains(ownedOperation)) {
_ownedOperations.removeAll(ownedOperation);
- if (ownedOperation->asQObject())
- ownedOperation->asQObject()->setParent(0);
+ if (ownedOperation->asQModelingObject())
+ ownedOperation->asQModelingObject()->setParent(0);
// Adjust subsetted properties
removeFeature(ownedOperation);
@@ -265,70 +263,3 @@ QSet<QUmlNamedElement *> QUmlDataType::inherit(QSet<QUmlNamedElement *> inhs) co
return QSet<QUmlNamedElement *> ();
}
-void QUmlDataType::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("QUmlNamedElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("clientDependencies"))));
- _groupProperties.insert(QStringLiteral("QUmlNamedElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("name"))));
- _groupProperties.insert(QStringLiteral("QUmlNamedElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("nameExpression"))));
- _groupProperties.insert(QStringLiteral("QUmlNamedElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("namespace_"))));
- _groupProperties.insert(QStringLiteral("QUmlNamedElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("qualifiedName"))));
- _groupProperties.insert(QStringLiteral("QUmlNamespace"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("elementImports"))));
- _groupProperties.insert(QStringLiteral("QUmlNamespace"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("importedMembers"))));
- _groupProperties.insert(QStringLiteral("QUmlNamespace"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("members"))));
- _groupProperties.insert(QStringLiteral("QUmlNamespace"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("ownedMembers"))));
- _groupProperties.insert(QStringLiteral("QUmlNamespace"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("ownedRules"))));
- _groupProperties.insert(QStringLiteral("QUmlNamespace"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("packageImports"))));
- _groupProperties.insert(QStringLiteral("QUmlParameterableElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("owningTemplateParameter"))));
- _groupProperties.insert(QStringLiteral("QUmlPackageableElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("visibility"))));
- _groupProperties.insert(QStringLiteral("QUmlType"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("package"))));
- _groupProperties.insert(QStringLiteral("QUmlRedefinableElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("isLeaf"))));
- _groupProperties.insert(QStringLiteral("QUmlRedefinableElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("redefinedElements"))));
- _groupProperties.insert(QStringLiteral("QUmlRedefinableElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("redefinitionContexts"))));
- _groupProperties.insert(QStringLiteral("QUmlTemplateableElement"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("templateBindings"))));
- _groupProperties.insert(QStringLiteral("QUmlClassifier"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("attributes"))));
- _groupProperties.insert(QStringLiteral("QUmlClassifier"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("collaborationUses"))));
- _groupProperties.insert(QStringLiteral("QUmlClassifier"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("features"))));
- _groupProperties.insert(QStringLiteral("QUmlClassifier"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("generals"))));
- _groupProperties.insert(QStringLiteral("QUmlClassifier"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("generalizations"))));
- _groupProperties.insert(QStringLiteral("QUmlClassifier"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("inheritedMembers"))));
- _groupProperties.insert(QStringLiteral("QUmlClassifier"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("isAbstract"))));
- _groupProperties.insert(QStringLiteral("QUmlClassifier"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("isFinalSpecialization"))));
- _groupProperties.insert(QStringLiteral("QUmlClassifier"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("ownedTemplateSignature"))));
- _groupProperties.insert(QStringLiteral("QUmlClassifier"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("ownedUseCases"))));
- _groupProperties.insert(QStringLiteral("QUmlClassifier"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("powertypeExtents"))));
- _groupProperties.insert(QStringLiteral("QUmlClassifier"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("redefinedClassifiers"))));
- _groupProperties.insert(QStringLiteral("QUmlClassifier"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("representation"))));
- _groupProperties.insert(QStringLiteral("QUmlClassifier"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("substitutions"))));
- _groupProperties.insert(QStringLiteral("QUmlClassifier"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("templateParameter"))));
- _groupProperties.insert(QStringLiteral("QUmlClassifier"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("useCases"))));
- _groupProperties.insert(QStringLiteral("QUmlDataType"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("ownedAttributes"))));
- _groupProperties.insert(QStringLiteral("QUmlDataType"), new QMetaProperty(metaObject->property(metaObject->indexOfProperty("ownedOperations"))));
-}
-
-void QUmlDataType::setPropertyData()
-{
- QModelingObject::propertyDataHash[QStringLiteral("QUmlDataType")][QStringLiteral("ownedAttributes")][QtModeling::AggregationRole] = QStringLiteral("composite");
- QModelingObject::propertyDataHash[QStringLiteral("QUmlDataType")][QStringLiteral("ownedAttributes")][QtModeling::PropertyClassRole] = QStringLiteral("QUmlDataType");
- QModelingObject::propertyDataHash[QStringLiteral("QUmlDataType")][QStringLiteral("ownedAttributes")][QtModeling::IsDerivedRole] = false;
- QModelingObject::propertyDataHash[QStringLiteral("QUmlDataType")][QStringLiteral("ownedAttributes")][QtModeling::IsDerivedUnionRole] = false;
- QModelingObject::propertyDataHash[QStringLiteral("QUmlDataType")][QStringLiteral("ownedAttributes")][QtModeling::DocumentationRole] = QStringLiteral("The Attributes owned by the DataType.");
- QModelingObject::propertyDataHash[QStringLiteral("QUmlDataType")][QStringLiteral("ownedAttributes")][QtModeling::RedefinedPropertiesRole] = QStringLiteral("");
- QModelingObject::propertyDataHash[QStringLiteral("QUmlDataType")][QStringLiteral("ownedAttributes")][QtModeling::SubsettedPropertiesRole] = QStringLiteral("Namespace-ownedMember Classifier-attribute");
- QModelingObject::propertyDataHash[QStringLiteral("QUmlDataType")][QStringLiteral("ownedAttributes")][QtModeling::OppositeEndRole] = QStringLiteral("Property-datatype");
-
- QModelingObject::propertyDataHash[QStringLiteral("QUmlDataType")][QStringLiteral("ownedOperations")][QtModeling::AggregationRole] = QStringLiteral("composite");
- QModelingObject::propertyDataHash[QStringLiteral("QUmlDataType")][QStringLiteral("ownedOperations")][QtModeling::PropertyClassRole] = QStringLiteral("QUmlDataType");
- QModelingObject::propertyDataHash[QStringLiteral("QUmlDataType")][QStringLiteral("ownedOperations")][QtModeling::IsDerivedRole] = false;
- QModelingObject::propertyDataHash[QStringLiteral("QUmlDataType")][QStringLiteral("ownedOperations")][QtModeling::IsDerivedUnionRole] = false;
- QModelingObject::propertyDataHash[QStringLiteral("QUmlDataType")][QStringLiteral("ownedOperations")][QtModeling::DocumentationRole] = QStringLiteral("The Operations owned by the DataType.");
- QModelingObject::propertyDataHash[QStringLiteral("QUmlDataType")][QStringLiteral("ownedOperations")][QtModeling::RedefinedPropertiesRole] = QStringLiteral("");
- QModelingObject::propertyDataHash[QStringLiteral("QUmlDataType")][QStringLiteral("ownedOperations")][QtModeling::SubsettedPropertiesRole] = QStringLiteral("Classifier-feature A_redefinitionContext_redefinableElement-redefinableElement Namespace-ownedMember");
- QModelingObject::propertyDataHash[QStringLiteral("QUmlDataType")][QStringLiteral("ownedOperations")][QtModeling::OppositeEndRole] = QStringLiteral("Operation-datatype");
-
-}
-