diff options
| author | Sandro S. Andrade <sandroandrade@kde.org> | 2013-08-29 00:21:34 -0300 |
|---|---|---|
| committer | Sandro S. Andrade <sandroandrade@kde.org> | 2013-08-29 15:36:14 +0200 |
| commit | 15f1561dff2533d45f513ae885b4ffe748af5e54 (patch) | |
| tree | 25ce0de84e2641c427ef27119e4b3a1b2b9163b5 /src/uml/qumlstringexpression.cpp | |
| parent | f3f02b513ecc79d1ce7a108664ed772cacc60766 (diff) | |
New UML metamodel implementation almost done
Still missing:
- Forward methods for inherited properties and operations
- Auto-removal of deleted composite properties
- Moving documentation from internal do QObject-based classes
Change-Id: I2676e48c53d9ad4cdc6333c28e1a912d4e72cdd0
Reviewed-by: Sandro S. Andrade <sandroandrade@kde.org>
Diffstat (limited to 'src/uml/qumlstringexpression.cpp')
| -rw-r--r-- | src/uml/qumlstringexpression.cpp | 76 |
1 files changed, 13 insertions, 63 deletions
diff --git a/src/uml/qumlstringexpression.cpp b/src/uml/qumlstringexpression.cpp index 7d6c4413..7a11e66e 100644 --- a/src/uml/qumlstringexpression.cpp +++ b/src/uml/qumlstringexpression.cpp @@ -39,96 +39,46 @@ ** ****************************************************************************/ #include "qumlstringexpression.h" -#include "private/qmodelingobject_p.h" QT_BEGIN_NAMESPACE -/*! - \class QUmlStringExpression - - \inmodule QtUml - - \brief An expression that specifies a string value that is derived by concatenating a set of sub string expressions, some of which might be template parameters. - */ - -QUmlStringExpression::QUmlStringExpression() : - _owningExpression(0) +QUmlStringExpression::QUmlStringExpression(QObject *parent) : + QObject(parent) { - d_ptr->object.setProperty("owningExpression", QVariant::fromValue((QUmlStringExpression *)(0))); - d_ptr->object.setProperty("subExpression", QVariant::fromValue(&_subExpression)); } -// OWNED ATTRIBUTES +// Owned attributes -/*! - The string expression of which this expression is a substring. - */ QUmlStringExpression *QUmlStringExpression::owningExpression() const { - // This is a read-write association end - - return _owningExpression; + return reinterpret_cast<QUmlStringExpression *>(_owningExpression); } void QUmlStringExpression::setOwningExpression(QUmlStringExpression *owningExpression) { - // This is a read-write association end - - if (_owningExpression != owningExpression) { - // Adjust subsetted properties - - _owningExpression = owningExpression; - - // Adjust subsetted properties - setOwner(owningExpression); - } + UmlStringExpression::setOwningExpression(owningExpression); } -/*! - The StringExpressions that constitute this StringExpression. - */ const QSet<QUmlStringExpression *> QUmlStringExpression::subExpression() const { - // This is a read-write association end - - return _subExpression; + return *(reinterpret_cast<const QSet<QUmlStringExpression *> *>(&_subExpression)); } -void QUmlStringExpression::addSubExpression(QUmlStringExpression *subExpression) +void QUmlStringExpression::addSubExpression(UmlStringExpression *subExpression) { - // This is a read-write association end - - if (!_subExpression.contains(subExpression)) { - _subExpression.insert(subExpression); - - // Adjust subsetted properties - addOwnedElement(subExpression); - } + UmlStringExpression::addSubExpression(subExpression); } -void QUmlStringExpression::removeSubExpression(QUmlStringExpression *subExpression) +void QUmlStringExpression::removeSubExpression(UmlStringExpression *subExpression) { - // This is a read-write association end - - if (_subExpression.contains(subExpression)) { - _subExpression.remove(subExpression); - - // Adjust subsetted properties - removeOwnedElement(subExpression); - } + UmlStringExpression::removeSubExpression(subExpression); } -// OPERATIONS +// Operations -/*! - The query stringValue() returns the string that concatenates, in order, all the component string literals of all the subexpressions that are part of the StringExpression. - */ -QString QUmlStringExpression::stringValue( - ) const +QString QUmlStringExpression::stringValue() const { - qWarning("QUmlStringExpression::stringValue(): to be implemented (operation)"); - - return QString (); + return UmlStringExpression::stringValue(); } QT_END_NAMESPACE |
