diff options
Diffstat (limited to 'src/uml/qumldatatype.cpp')
-rw-r--r-- | src/uml/qumldatatype.cpp | 105 |
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"); - -} - |