diff options
author | Sandro S. Andrade <sandroandrade@kde.org> | 2013-11-18 08:48:05 -0300 |
---|---|---|
committer | Sandro S. Andrade <sandroandrade@kde.org> | 2013-11-18 12:43:33 +0100 |
commit | 1d6a088d69ed5a519af736f748827125231ac24f (patch) | |
tree | 78f10ec83a70ada2389b4fa442ee905833401696 /src | |
parent | 7030dc08e8a9198390ccf038d3c8629b047e4749 (diff) |
Update UML metamodel implementation
Change-Id: I4355b42ea190b7c25693d47771874deaf182ba89
Reviewed-by: Sandro S. Andrade <sandroandrade@kde.org>
Diffstat (limited to 'src')
85 files changed, 346 insertions, 175 deletions
diff --git a/src/uml/qobjects/qumlactioninputpinobject.cpp b/src/uml/qobjects/qumlactioninputpinobject.cpp index 3f5397ad..d16fdd4c 100644 --- a/src/uml/qobjects/qumlactioninputpinobject.cpp +++ b/src/uml/qobjects/qumlactioninputpinobject.cpp @@ -125,7 +125,7 @@ QObject *QUmlActionInputPinObject::lowerValue() const return qmodelingelementproperty_cast<QUmlActionInputPin *>(this)->lowerValue()->asQModelingObject(); } -int QUmlActionInputPinObject::upper() const +QString QUmlActionInputPinObject::upper() const { return qmodelingelementproperty_cast<QUmlActionInputPin *>(this)->upper(); } @@ -378,10 +378,10 @@ int QUmlActionInputPinObject::lowerBound() const return qmodelingelementproperty_cast<QUmlActionInputPin *>(this)->lowerBound(); } -//int QUmlActionInputPinObject::upperBound() const -//{ -// return qmodelingelementproperty_cast<QUmlActionInputPin *>(this)->upperBound(); -//} +QString QUmlActionInputPinObject::upperBoundOperation() const +{ + return qmodelingelementproperty_cast<QUmlActionInputPin *>(this)->upperBoundOperation(); +} // OPERATIONS [NamedElement] @@ -503,7 +503,7 @@ void QUmlActionInputPinObject::setLowerValue(QObject *lowerValue) emit lowerValueChanged(this->lowerValue()); } -void QUmlActionInputPinObject::setUpper(int upper) +void QUmlActionInputPinObject::setUpper(QString upper) { qmodelingelementproperty_cast<QUmlActionInputPin *>(this)->setUpper(upper); emit upperChanged(this->upper()); @@ -512,7 +512,7 @@ void QUmlActionInputPinObject::setUpper(int upper) void QUmlActionInputPinObject::unsetUpper() { Q_D(QModelingObject); - setUpper(1); + setUpper(QStringLiteral("1")); d->modifiedResettableProperties.removeAll(QStringLiteral("upper")); } diff --git a/src/uml/qobjects/qumlactioninputpinobject_p.h b/src/uml/qobjects/qumlactioninputpinobject_p.h index 71d20465..92cd23a8 100644 --- a/src/uml/qobjects/qumlactioninputpinobject_p.h +++ b/src/uml/qobjects/qumlactioninputpinobject_p.h @@ -71,7 +71,7 @@ class Q_UML_EXPORT QUmlActionInputPinObject : public QModelingObject Q_PROPERTY(bool isUnique READ isUnique WRITE setUnique NOTIFY isUniqueChanged RESET unsetUnique) Q_PROPERTY(int lower READ lower WRITE setLower NOTIFY lowerChanged RESET unsetLower STORED false) Q_PROPERTY(QObject * lowerValue READ lowerValue WRITE setLowerValue NOTIFY lowerValueChanged) - Q_PROPERTY(int upper READ upper WRITE setUpper NOTIFY upperChanged RESET unsetUpper STORED false) + Q_PROPERTY(QString upper READ upper WRITE setUpper NOTIFY upperChanged RESET unsetUpper STORED false) Q_PROPERTY(QObject * upperValue READ upperValue WRITE setUpperValue NOTIFY upperValueChanged) // Properties [NamedElement] @@ -126,7 +126,7 @@ public: Q_INVOKABLE bool isUnique() const; Q_INVOKABLE int lower() const; Q_INVOKABLE QObject *lowerValue() const; - Q_INVOKABLE int upper() const; + Q_INVOKABLE QString upper() const; Q_INVOKABLE QObject *upperValue() const; // Owned attributes [NamedElement] @@ -179,7 +179,7 @@ public: Q_INVOKABLE bool is(int lowerbound, int upperbound) const; Q_INVOKABLE bool isMultivalued() const; Q_INVOKABLE int lowerBound() const; -// Q_INVOKABLE int upperBound() const; + Q_INVOKABLE QString upperBoundOperation() const; // Operations [NamedElement] Q_INVOKABLE QList<QObject *> allNamespaces() const; @@ -208,7 +208,7 @@ public Q_SLOTS: void setLower(int lower); void unsetLower(); void setLowerValue(QObject *lowerValue = 0); - void setUpper(int upper); + void setUpper(QString upper); void unsetUpper(); void setUpperValue(QObject *upperValue = 0); @@ -277,7 +277,7 @@ Q_SIGNALS: void isUniqueChanged(bool isUnique); void lowerChanged(int lower); void lowerValueChanged(QObject *lowerValue); - void upperChanged(int upper); + void upperChanged(QString upper); void upperValueChanged(QObject *upperValue); // Signals for owned attributes [NamedElement] diff --git a/src/uml/qobjects/qumlconnectorendobject.cpp b/src/uml/qobjects/qumlconnectorendobject.cpp index 3fc09994..e777acf5 100644 --- a/src/uml/qobjects/qumlconnectorendobject.cpp +++ b/src/uml/qobjects/qumlconnectorendobject.cpp @@ -109,7 +109,7 @@ QObject *QUmlConnectorEndObject::lowerValue() const return qmodelingelementproperty_cast<QUmlConnectorEnd *>(this)->lowerValue()->asQModelingObject(); } -int QUmlConnectorEndObject::upper() const +QString QUmlConnectorEndObject::upper() const { return qmodelingelementproperty_cast<QUmlConnectorEnd *>(this)->upper(); } @@ -195,10 +195,10 @@ int QUmlConnectorEndObject::lowerBound() const return qmodelingelementproperty_cast<QUmlConnectorEnd *>(this)->lowerBound(); } -//int QUmlConnectorEndObject::upperBound() const -//{ -// return qmodelingelementproperty_cast<QUmlConnectorEnd *>(this)->upperBound(); -//} +QString QUmlConnectorEndObject::upperBoundOperation() const +{ + return qmodelingelementproperty_cast<QUmlConnectorEnd *>(this)->upperBoundOperation(); +} // SLOTS FOR OWNED ATTRIBUTES [Element] @@ -280,7 +280,7 @@ void QUmlConnectorEndObject::setLowerValue(QObject *lowerValue) emit lowerValueChanged(this->lowerValue()); } -void QUmlConnectorEndObject::setUpper(int upper) +void QUmlConnectorEndObject::setUpper(QString upper) { qmodelingelementproperty_cast<QUmlConnectorEnd *>(this)->setUpper(upper); emit upperChanged(this->upper()); @@ -289,7 +289,7 @@ void QUmlConnectorEndObject::setUpper(int upper) void QUmlConnectorEndObject::unsetUpper() { Q_D(QModelingObject); - setUpper(1); + setUpper(QStringLiteral("1")); d->modifiedResettableProperties.removeAll(QStringLiteral("upper")); } diff --git a/src/uml/qobjects/qumlconnectorendobject_p.h b/src/uml/qobjects/qumlconnectorendobject_p.h index d96d9dd8..152a58a6 100644 --- a/src/uml/qobjects/qumlconnectorendobject_p.h +++ b/src/uml/qobjects/qumlconnectorendobject_p.h @@ -69,7 +69,7 @@ class Q_UML_EXPORT QUmlConnectorEndObject : public QModelingObject Q_PROPERTY(bool isUnique READ isUnique WRITE setUnique NOTIFY isUniqueChanged RESET unsetUnique) Q_PROPERTY(int lower READ lower WRITE setLower NOTIFY lowerChanged RESET unsetLower STORED false) Q_PROPERTY(QObject * lowerValue READ lowerValue WRITE setLowerValue NOTIFY lowerValueChanged) - Q_PROPERTY(int upper READ upper WRITE setUpper NOTIFY upperChanged RESET unsetUpper STORED false) + Q_PROPERTY(QString upper READ upper WRITE setUpper NOTIFY upperChanged RESET unsetUpper STORED false) Q_PROPERTY(QObject * upperValue READ upperValue WRITE setUpperValue NOTIFY upperValueChanged) // Properties [ConnectorEnd] @@ -90,7 +90,7 @@ public: Q_INVOKABLE bool isUnique() const; Q_INVOKABLE int lower() const; Q_INVOKABLE QObject *lowerValue() const; - Q_INVOKABLE int upper() const; + Q_INVOKABLE QString upper() const; Q_INVOKABLE QObject *upperValue() const; // Owned attributes [ConnectorEnd] @@ -109,7 +109,7 @@ public: Q_INVOKABLE bool is(int lowerbound, int upperbound) const; Q_INVOKABLE bool isMultivalued() const; Q_INVOKABLE int lowerBound() const; -// Q_INVOKABLE int upperBound() const; + Q_INVOKABLE QString upperBoundOperation() const; public Q_SLOTS: @@ -128,7 +128,7 @@ public Q_SLOTS: void setLower(int lower); void unsetLower(); void setLowerValue(QObject *lowerValue = 0); - void setUpper(int upper); + void setUpper(QString upper); void unsetUpper(); void setUpperValue(QObject *upperValue = 0); @@ -149,7 +149,7 @@ Q_SIGNALS: void isUniqueChanged(bool isUnique); void lowerChanged(int lower); void lowerValueChanged(QObject *lowerValue); - void upperChanged(int upper); + void upperChanged(QString upper); void upperValueChanged(QObject *upperValue); // Signals for owned attributes [ConnectorEnd] diff --git a/src/uml/qobjects/qumldurationintervalobject.cpp b/src/uml/qobjects/qumldurationintervalobject.cpp index 9c8f2c00..6c6982bd 100644 --- a/src/uml/qobjects/qumldurationintervalobject.cpp +++ b/src/uml/qobjects/qumldurationintervalobject.cpp @@ -266,7 +266,7 @@ QString QUmlDurationIntervalObject::stringValue() const return qmodelingelementproperty_cast<QUmlDurationInterval *>(this)->stringValue(); } -int QUmlDurationIntervalObject::unlimitedValue() const +QString QUmlDurationIntervalObject::unlimitedValue() const { return qmodelingelementproperty_cast<QUmlDurationInterval *>(this)->unlimitedValue(); } diff --git a/src/uml/qobjects/qumldurationintervalobject_p.h b/src/uml/qobjects/qumldurationintervalobject_p.h index 1a18c24a..0e77e4bc 100644 --- a/src/uml/qobjects/qumldurationintervalobject_p.h +++ b/src/uml/qobjects/qumldurationintervalobject_p.h @@ -141,7 +141,7 @@ public: Q_INVOKABLE bool isNull() const; Q_INVOKABLE double realValue() const; Q_INVOKABLE QString stringValue() const; - Q_INVOKABLE int unlimitedValue() const; + Q_INVOKABLE QString unlimitedValue() const; public Q_SLOTS: diff --git a/src/uml/qobjects/qumldurationobject.cpp b/src/uml/qobjects/qumldurationobject.cpp index 67f62832..034dc11b 100644 --- a/src/uml/qobjects/qumldurationobject.cpp +++ b/src/uml/qobjects/qumldurationobject.cpp @@ -266,7 +266,7 @@ QString QUmlDurationObject::stringValue() const return qmodelingelementproperty_cast<QUmlDuration *>(this)->stringValue(); } -int QUmlDurationObject::unlimitedValue() const +QString QUmlDurationObject::unlimitedValue() const { return qmodelingelementproperty_cast<QUmlDuration *>(this)->unlimitedValue(); } diff --git a/src/uml/qobjects/qumldurationobject_p.h b/src/uml/qobjects/qumldurationobject_p.h index 5eb4055d..c87f9421 100644 --- a/src/uml/qobjects/qumldurationobject_p.h +++ b/src/uml/qobjects/qumldurationobject_p.h @@ -137,7 +137,7 @@ public: Q_INVOKABLE bool isNull() const; Q_INVOKABLE double realValue() const; Q_INVOKABLE QString stringValue() const; - Q_INVOKABLE int unlimitedValue() const; + Q_INVOKABLE QString unlimitedValue() const; public Q_SLOTS: diff --git a/src/uml/qobjects/qumlexpressionobject.cpp b/src/uml/qobjects/qumlexpressionobject.cpp index 5bca914c..dee62e44 100644 --- a/src/uml/qobjects/qumlexpressionobject.cpp +++ b/src/uml/qobjects/qumlexpressionobject.cpp @@ -262,7 +262,7 @@ QString QUmlExpressionObject::stringValue() const return qmodelingelementproperty_cast<QUmlExpression *>(this)->stringValue(); } -int QUmlExpressionObject::unlimitedValue() const +QString QUmlExpressionObject::unlimitedValue() const { return qmodelingelementproperty_cast<QUmlExpression *>(this)->unlimitedValue(); } diff --git a/src/uml/qobjects/qumlexpressionobject_p.h b/src/uml/qobjects/qumlexpressionobject_p.h index 68109c90..2ca179cd 100644 --- a/src/uml/qobjects/qumlexpressionobject_p.h +++ b/src/uml/qobjects/qumlexpressionobject_p.h @@ -137,7 +137,7 @@ public: Q_INVOKABLE bool isNull() const; Q_INVOKABLE double realValue() const; Q_INVOKABLE QString stringValue() const; - Q_INVOKABLE int unlimitedValue() const; + Q_INVOKABLE QString unlimitedValue() const; public Q_SLOTS: diff --git a/src/uml/qobjects/qumlextensionendobject.cpp b/src/uml/qobjects/qumlextensionendobject.cpp index bc7474f0..7b468cfb 100644 --- a/src/uml/qobjects/qumlextensionendobject.cpp +++ b/src/uml/qobjects/qumlextensionendobject.cpp @@ -163,7 +163,7 @@ QObject *QUmlExtensionEndObject::lowerValue() const return qmodelingelementproperty_cast<QUmlExtensionEnd *>(this)->lowerValue()->asQModelingObject(); } -int QUmlExtensionEndObject::upper() const +QString QUmlExtensionEndObject::upper() const { return qmodelingelementproperty_cast<QUmlExtensionEnd *>(this)->upper(); } @@ -470,10 +470,10 @@ bool QUmlExtensionEndObject::isMultivalued() const return qmodelingelementproperty_cast<QUmlExtensionEnd *>(this)->isMultivalued(); } -//int QUmlExtensionEndObject::upperBound() const -//{ -// return qmodelingelementproperty_cast<QUmlExtensionEnd *>(this)->upperBound(); -//} +QString QUmlExtensionEndObject::upperBoundOperation() const +{ + return qmodelingelementproperty_cast<QUmlExtensionEnd *>(this)->upperBoundOperation(); +} // OPERATIONS [RedefinableElement] @@ -637,7 +637,7 @@ void QUmlExtensionEndObject::setLowerValue(QObject *lowerValue) emit lowerValueChanged(this->lowerValue()); } -void QUmlExtensionEndObject::setUpper(int upper) +void QUmlExtensionEndObject::setUpper(QString upper) { qmodelingelementproperty_cast<QUmlExtensionEnd *>(this)->setUpper(upper); emit upperChanged(this->upper()); @@ -646,7 +646,7 @@ void QUmlExtensionEndObject::setUpper(int upper) void QUmlExtensionEndObject::unsetUpper() { Q_D(QModelingObject); - setUpper(1); + setUpper(QStringLiteral("1")); d->modifiedResettableProperties.removeAll(QStringLiteral("upper")); } diff --git a/src/uml/qobjects/qumlextensionendobject_p.h b/src/uml/qobjects/qumlextensionendobject_p.h index 4b814247..7c632c84 100644 --- a/src/uml/qobjects/qumlextensionendobject_p.h +++ b/src/uml/qobjects/qumlextensionendobject_p.h @@ -80,7 +80,7 @@ class Q_UML_EXPORT QUmlExtensionEndObject : public QModelingObject Q_PROPERTY(bool isOrdered READ isOrdered WRITE setOrdered NOTIFY isOrderedChanged RESET unsetOrdered) Q_PROPERTY(bool isUnique READ isUnique WRITE setUnique NOTIFY isUniqueChanged RESET unsetUnique) Q_PROPERTY(QObject * lowerValue READ lowerValue WRITE setLowerValue NOTIFY lowerValueChanged) - Q_PROPERTY(int upper READ upper WRITE setUpper NOTIFY upperChanged RESET unsetUpper STORED false) + Q_PROPERTY(QString upper READ upper WRITE setUpper NOTIFY upperChanged RESET unsetUpper STORED false) Q_PROPERTY(QObject * upperValue READ upperValue WRITE setUpperValue NOTIFY upperValueChanged) // Properties [RedefinableElement] @@ -151,7 +151,7 @@ public: Q_INVOKABLE bool isOrdered() const; Q_INVOKABLE bool isUnique() const; Q_INVOKABLE QObject *lowerValue() const; - Q_INVOKABLE int upper() const; + Q_INVOKABLE QString upper() const; Q_INVOKABLE QObject *upperValue() const; // Owned attributes [RedefinableElement] @@ -216,7 +216,7 @@ public: Q_INVOKABLE bool includesMultiplicity(QObject *M) const; Q_INVOKABLE bool is(int lowerbound, int upperbound) const; Q_INVOKABLE bool isMultivalued() const; -// Q_INVOKABLE int upperBound() const; + Q_INVOKABLE QString upperBoundOperation() const; // Operations [RedefinableElement] Q_INVOKABLE bool isRedefinitionContextValid(QObject *redefined) const; @@ -260,7 +260,7 @@ public Q_SLOTS: void setUnique(bool isUnique); void unsetUnique(); void setLowerValue(QObject *lowerValue = 0); - void setUpper(int upper); + void setUpper(QString upper); void unsetUpper(); void setUpperValue(QObject *upperValue = 0); @@ -349,7 +349,7 @@ Q_SIGNALS: void isOrderedChanged(bool isOrdered); void isUniqueChanged(bool isUnique); void lowerValueChanged(QObject *lowerValue); - void upperChanged(int upper); + void upperChanged(QString upper); void upperValueChanged(QObject *upperValue); // Signals for owned attributes [RedefinableElement] diff --git a/src/uml/qobjects/qumlinputpinobject.cpp b/src/uml/qobjects/qumlinputpinobject.cpp index ac239a82..716f10b3 100644 --- a/src/uml/qobjects/qumlinputpinobject.cpp +++ b/src/uml/qobjects/qumlinputpinobject.cpp @@ -124,7 +124,7 @@ QObject *QUmlInputPinObject::lowerValue() const return qmodelingelementproperty_cast<QUmlInputPin *>(this)->lowerValue()->asQModelingObject(); } -int QUmlInputPinObject::upper() const +QString QUmlInputPinObject::upper() const { return qmodelingelementproperty_cast<QUmlInputPin *>(this)->upper(); } @@ -367,10 +367,10 @@ int QUmlInputPinObject::lowerBound() const return qmodelingelementproperty_cast<QUmlInputPin *>(this)->lowerBound(); } -//int QUmlInputPinObject::upperBound() const -//{ -// return qmodelingelementproperty_cast<QUmlInputPin *>(this)->upperBound(); -//} +QString QUmlInputPinObject::upperBoundOperation() const +{ + return qmodelingelementproperty_cast<QUmlInputPin *>(this)->upperBoundOperation(); +} // OPERATIONS [NamedElement] @@ -492,7 +492,7 @@ void QUmlInputPinObject::setLowerValue(QObject *lowerValue) emit lowerValueChanged(this->lowerValue()); } -void QUmlInputPinObject::setUpper(int upper) +void QUmlInputPinObject::setUpper(QString upper) { qmodelingelementproperty_cast<QUmlInputPin *>(this)->setUpper(upper); emit upperChanged(this->upper()); @@ -501,7 +501,7 @@ void QUmlInputPinObject::setUpper(int upper) void QUmlInputPinObject::unsetUpper() { Q_D(QModelingObject); - setUpper(1); + setUpper(QStringLiteral("1")); d->modifiedResettableProperties.removeAll(QStringLiteral("upper")); } diff --git a/src/uml/qobjects/qumlinputpinobject_p.h b/src/uml/qobjects/qumlinputpinobject_p.h index 174c4e94..75579ba8 100644 --- a/src/uml/qobjects/qumlinputpinobject_p.h +++ b/src/uml/qobjects/qumlinputpinobject_p.h @@ -71,7 +71,7 @@ class Q_UML_EXPORT QUmlInputPinObject : public QModelingObject Q_PROPERTY(bool isUnique READ isUnique WRITE setUnique NOTIFY isUniqueChanged RESET unsetUnique) Q_PROPERTY(int lower READ lower WRITE setLower NOTIFY lowerChanged RESET unsetLower STORED false) Q_PROPERTY(QObject * lowerValue READ lowerValue WRITE setLowerValue NOTIFY lowerValueChanged) - Q_PROPERTY(int upper READ upper WRITE setUpper NOTIFY upperChanged RESET unsetUpper STORED false) + Q_PROPERTY(QString upper READ upper WRITE setUpper NOTIFY upperChanged RESET unsetUpper STORED false) Q_PROPERTY(QObject * upperValue READ upperValue WRITE setUpperValue NOTIFY upperValueChanged) // Properties [NamedElement] @@ -123,7 +123,7 @@ public: Q_INVOKABLE bool isUnique() const; Q_INVOKABLE int lower() const; Q_INVOKABLE QObject *lowerValue() const; - Q_INVOKABLE int upper() const; + Q_INVOKABLE QString upper() const; Q_INVOKABLE QObject *upperValue() const; // Owned attributes [NamedElement] @@ -173,7 +173,7 @@ public: Q_INVOKABLE bool is(int lowerbound, int upperbound) const; Q_INVOKABLE bool isMultivalued() const; Q_INVOKABLE int lowerBound() const; -// Q_INVOKABLE int upperBound() const; + Q_INVOKABLE QString upperBoundOperation() const; // Operations [NamedElement] Q_INVOKABLE QList<QObject *> allNamespaces() const; @@ -202,7 +202,7 @@ public Q_SLOTS: void setLower(int lower); void unsetLower(); void setLowerValue(QObject *lowerValue = 0); - void setUpper(int upper); + void setUpper(QString upper); void unsetUpper(); void setUpperValue(QObject *upperValue = 0); @@ -268,7 +268,7 @@ Q_SIGNALS: void isUniqueChanged(bool isUnique); void lowerChanged(int lower); void lowerValueChanged(QObject *lowerValue); - void upperChanged(int upper); + void upperChanged(QString upper); void upperValueChanged(QObject *upperValue); // Signals for owned attributes [NamedElement] diff --git a/src/uml/qobjects/qumlinstancevalueobject.cpp b/src/uml/qobjects/qumlinstancevalueobject.cpp index 178b2daa..f31a17d4 100644 --- a/src/uml/qobjects/qumlinstancevalueobject.cpp +++ b/src/uml/qobjects/qumlinstancevalueobject.cpp @@ -257,7 +257,7 @@ QString QUmlInstanceValueObject::stringValue() const return qmodelingelementproperty_cast<QUmlInstanceValue *>(this)->stringValue(); } -int QUmlInstanceValueObject::unlimitedValue() const +QString QUmlInstanceValueObject::unlimitedValue() const { return qmodelingelementproperty_cast<QUmlInstanceValue *>(this)->unlimitedValue(); } diff --git a/src/uml/qobjects/qumlinstancevalueobject_p.h b/src/uml/qobjects/qumlinstancevalueobject_p.h index 3000745c..f889b151 100644 --- a/src/uml/qobjects/qumlinstancevalueobject_p.h +++ b/src/uml/qobjects/qumlinstancevalueobject_p.h @@ -135,7 +135,7 @@ public: Q_INVOKABLE bool isNull() const; Q_INVOKABLE double realValue() const; Q_INVOKABLE QString stringValue() const; - Q_INVOKABLE int unlimitedValue() const; + Q_INVOKABLE QString unlimitedValue() const; public Q_SLOTS: diff --git a/src/uml/qobjects/qumlintervalobject.cpp b/src/uml/qobjects/qumlintervalobject.cpp index 24756037..a4a7177a 100644 --- a/src/uml/qobjects/qumlintervalobject.cpp +++ b/src/uml/qobjects/qumlintervalobject.cpp @@ -265,7 +265,7 @@ QString QUmlIntervalObject::stringValue() const return qmodelingelementproperty_cast<QUmlInterval *>(this)->stringValue(); } -int QUmlIntervalObject::unlimitedValue() const +QString QUmlIntervalObject::unlimitedValue() const { return qmodelingelementproperty_cast<QUmlInterval *>(this)->unlimitedValue(); } diff --git a/src/uml/qobjects/qumlintervalobject_p.h b/src/uml/qobjects/qumlintervalobject_p.h index 252d078b..d1a20e2d 100644 --- a/src/uml/qobjects/qumlintervalobject_p.h +++ b/src/uml/qobjects/qumlintervalobject_p.h @@ -137,7 +137,7 @@ public: Q_INVOKABLE bool isNull() const; Q_INVOKABLE double realValue() const; Q_INVOKABLE QString stringValue() const; - Q_INVOKABLE int unlimitedValue() const; + Q_INVOKABLE QString unlimitedValue() const; public Q_SLOTS: diff --git a/src/uml/qobjects/qumlliteralbooleanobject.cpp b/src/uml/qobjects/qumlliteralbooleanobject.cpp index bd1ecd58..396298f2 100644 --- a/src/uml/qobjects/qumlliteralbooleanobject.cpp +++ b/src/uml/qobjects/qumlliteralbooleanobject.cpp @@ -243,7 +243,7 @@ QString QUmlLiteralBooleanObject::stringValue() const return qmodelingelementproperty_cast<QUmlLiteralBoolean *>(this)->stringValue(); } -int QUmlLiteralBooleanObject::unlimitedValue() const +QString QUmlLiteralBooleanObject::unlimitedValue() const { return qmodelingelementproperty_cast<QUmlLiteralBoolean *>(this)->unlimitedValue(); } diff --git a/src/uml/qobjects/qumlliteralbooleanobject_p.h b/src/uml/qobjects/qumlliteralbooleanobject_p.h index be8d19e5..3d74e2f0 100644 --- a/src/uml/qobjects/qumlliteralbooleanobject_p.h +++ b/src/uml/qobjects/qumlliteralbooleanobject_p.h @@ -133,7 +133,7 @@ public: Q_INVOKABLE bool isNull() const; Q_INVOKABLE double realValue() const; Q_INVOKABLE QString stringValue() const; - Q_INVOKABLE int unlimitedValue() const; + Q_INVOKABLE QString unlimitedValue() const; // Operations [LiteralBoolean] Q_INVOKABLE bool booleanValue() const; diff --git a/src/uml/qobjects/qumlliteralintegerobject.cpp b/src/uml/qobjects/qumlliteralintegerobject.cpp index 1c632861..763ddbb5 100644 --- a/src/uml/qobjects/qumlliteralintegerobject.cpp +++ b/src/uml/qobjects/qumlliteralintegerobject.cpp @@ -243,7 +243,7 @@ QString QUmlLiteralIntegerObject::stringValue() const return qmodelingelementproperty_cast<QUmlLiteralInteger *>(this)->stringValue(); } -int QUmlLiteralIntegerObject::unlimitedValue() const +QString QUmlLiteralIntegerObject::unlimitedValue() const { return qmodelingelementproperty_cast<QUmlLiteralInteger *>(this)->unlimitedValue(); } diff --git a/src/uml/qobjects/qumlliteralintegerobject_p.h b/src/uml/qobjects/qumlliteralintegerobject_p.h index 565dea11..e9ef3b06 100644 --- a/src/uml/qobjects/qumlliteralintegerobject_p.h +++ b/src/uml/qobjects/qumlliteralintegerobject_p.h @@ -133,7 +133,7 @@ public: Q_INVOKABLE bool isNull() const; Q_INVOKABLE double realValue() const; Q_INVOKABLE QString stringValue() const; - Q_INVOKABLE int unlimitedValue() const; + Q_INVOKABLE QString unlimitedValue() const; // Operations [LiteralInteger] Q_INVOKABLE int integerValue() const; diff --git a/src/uml/qobjects/qumlliteralnullobject.cpp b/src/uml/qobjects/qumlliteralnullobject.cpp index e501b4aa..b1be8ba3 100644 --- a/src/uml/qobjects/qumlliteralnullobject.cpp +++ b/src/uml/qobjects/qumlliteralnullobject.cpp @@ -236,7 +236,7 @@ QString QUmlLiteralNullObject::stringValue() const return qmodelingelementproperty_cast<QUmlLiteralNull *>(this)->stringValue(); } -int QUmlLiteralNullObject::unlimitedValue() const +QString QUmlLiteralNullObject::unlimitedValue() const { return qmodelingelementproperty_cast<QUmlLiteralNull *>(this)->unlimitedValue(); } diff --git a/src/uml/qobjects/qumlliteralnullobject_p.h b/src/uml/qobjects/qumlliteralnullobject_p.h index 1f15b8e8..c69a2095 100644 --- a/src/uml/qobjects/qumlliteralnullobject_p.h +++ b/src/uml/qobjects/qumlliteralnullobject_p.h @@ -127,7 +127,7 @@ public: Q_INVOKABLE bool isCompatibleWith(QObject *p) const; Q_INVOKABLE double realValue() const; Q_INVOKABLE QString stringValue() const; - Q_INVOKABLE int unlimitedValue() const; + Q_INVOKABLE QString unlimitedValue() const; // Operations [LiteralNull] Q_INVOKABLE bool isComputable() const; diff --git a/src/uml/qobjects/qumlliteralrealobject.cpp b/src/uml/qobjects/qumlliteralrealobject.cpp index da52195c..0bccd3e5 100644 --- a/src/uml/qobjects/qumlliteralrealobject.cpp +++ b/src/uml/qobjects/qumlliteralrealobject.cpp @@ -243,7 +243,7 @@ QString QUmlLiteralRealObject::stringValue() const return qmodelingelementproperty_cast<QUmlLiteralReal *>(this)->stringValue(); } -int QUmlLiteralRealObject::unlimitedValue() const +QString QUmlLiteralRealObject::unlimitedValue() const { return qmodelingelementproperty_cast<QUmlLiteralReal *>(this)->unlimitedValue(); } diff --git a/src/uml/qobjects/qumlliteralrealobject_p.h b/src/uml/qobjects/qumlliteralrealobject_p.h index 5ac89c03..51aad617 100644 --- a/src/uml/qobjects/qumlliteralrealobject_p.h +++ b/src/uml/qobjects/qumlliteralrealobject_p.h @@ -133,7 +133,7 @@ public: Q_INVOKABLE bool isCompatibleWith(QObject *p) const; Q_INVOKABLE bool isNull() const; Q_INVOKABLE QString stringValue() const; - Q_INVOKABLE int unlimitedValue() const; + Q_INVOKABLE QString unlimitedValue() const; // Operations [LiteralReal] Q_INVOKABLE bool isComputable() const; diff --git a/src/uml/qobjects/qumlliteralstringobject.cpp b/src/uml/qobjects/qumlliteralstringobject.cpp index c476a751..e45bce5b 100644 --- a/src/uml/qobjects/qumlliteralstringobject.cpp +++ b/src/uml/qobjects/qumlliteralstringobject.cpp @@ -243,7 +243,7 @@ double QUmlLiteralStringObject::realValue() const return qmodelingelementproperty_cast<QUmlLiteralString *>(this)->realValue(); } -int QUmlLiteralStringObject::unlimitedValue() const +QString QUmlLiteralStringObject::unlimitedValue() const { return qmodelingelementproperty_cast<QUmlLiteralString *>(this)->unlimitedValue(); } diff --git a/src/uml/qobjects/qumlliteralstringobject_p.h b/src/uml/qobjects/qumlliteralstringobject_p.h index 05552e49..8feb815e 100644 --- a/src/uml/qobjects/qumlliteralstringobject_p.h +++ b/src/uml/qobjects/qumlliteralstringobject_p.h @@ -133,7 +133,7 @@ public: Q_INVOKABLE bool isCompatibleWith(QObject *p) const; Q_INVOKABLE bool isNull() const; Q_INVOKABLE double realValue() const; - Q_INVOKABLE int unlimitedValue() const; + Q_INVOKABLE QString unlimitedValue() const; // Operations [LiteralString] Q_INVOKABLE bool isComputable() const; diff --git a/src/uml/qobjects/qumlopaqueexpressionobject.cpp b/src/uml/qobjects/qumlopaqueexpressionobject.cpp index 4274a05e..4b48d237 100644 --- a/src/uml/qobjects/qumlopaqueexpressionobject.cpp +++ b/src/uml/qobjects/qumlopaqueexpressionobject.cpp @@ -276,7 +276,7 @@ QString QUmlOpaqueExpressionObject::stringValue() const return qmodelingelementproperty_cast<QUmlOpaqueExpression *>(this)->stringValue(); } -int QUmlOpaqueExpressionObject::unlimitedValue() const +QString QUmlOpaqueExpressionObject::unlimitedValue() const { return qmodelingelementproperty_cast<QUmlOpaqueExpression *>(this)->unlimitedValue(); } diff --git a/src/uml/qobjects/qumlopaqueexpressionobject_p.h b/src/uml/qobjects/qumlopaqueexpressionobject_p.h index 5eee8869..6eef4f5c 100644 --- a/src/uml/qobjects/qumlopaqueexpressionobject_p.h +++ b/src/uml/qobjects/qumlopaqueexpressionobject_p.h @@ -141,7 +141,7 @@ public: Q_INVOKABLE bool isNull() const; Q_INVOKABLE double realValue() const; Q_INVOKABLE QString stringValue() const; - Q_INVOKABLE int unlimitedValue() const; + Q_INVOKABLE QString unlimitedValue() const; // Operations [OpaqueExpression] Q_INVOKABLE bool isIntegral() const; diff --git a/src/uml/qobjects/qumloperationobject.cpp b/src/uml/qobjects/qumloperationobject.cpp index abd40a00..bcc6089e 100644 --- a/src/uml/qobjects/qumloperationobject.cpp +++ b/src/uml/qobjects/qumloperationobject.cpp @@ -398,7 +398,7 @@ QObject *QUmlOperationObject::type() const return qmodelingelementproperty_cast<QUmlOperation *>(this)->type()->asQModelingObject(); } -int QUmlOperationObject::upper() const +QString QUmlOperationObject::upper() const { return qmodelingelementproperty_cast<QUmlOperation *>(this)->upper(); } @@ -976,7 +976,7 @@ void QUmlOperationObject::setType(QObject *type) emit typeChanged(this->type()); } -void QUmlOperationObject::setUpper(int upper) +void QUmlOperationObject::setUpper(QString upper) { qmodelingelementproperty_cast<QUmlOperation *>(this)->setUpper(upper); emit upperChanged(this->upper()); @@ -985,7 +985,7 @@ void QUmlOperationObject::setUpper(int upper) void QUmlOperationObject::unsetUpper() { Q_D(QModelingObject); - setUpper(1); + setUpper(QStringLiteral("1")); d->modifiedResettableProperties.removeAll(QStringLiteral("upper")); } diff --git a/src/uml/qobjects/qumloperationobject_p.h b/src/uml/qobjects/qumloperationobject_p.h index e8f8d442..cbb477d6 100644 --- a/src/uml/qobjects/qumloperationobject_p.h +++ b/src/uml/qobjects/qumloperationobject_p.h @@ -120,7 +120,7 @@ class Q_UML_EXPORT QUmlOperationObject : public QModelingObject Q_PROPERTY(QSet<QObject *> redefinedOperations READ redefinedOperations NOTIFY redefinedOperationsChanged) Q_PROPERTY(QObject * templateParameter READ templateParameter WRITE setTemplateParameter NOTIFY templateParameterChanged) Q_PROPERTY(QObject * type READ type NOTIFY typeChanged STORED false) - Q_PROPERTY(int upper READ upper NOTIFY upperChanged RESET unsetUpper STORED false) + Q_PROPERTY(QString upper READ upper NOTIFY upperChanged RESET unsetUpper STORED false) public: Q_INVOKABLE explicit QUmlOperationObject(QUmlOperation *modelingElement); @@ -184,7 +184,7 @@ public: Q_INVOKABLE const QSet<QObject *> redefinedOperations() const; Q_INVOKABLE QObject *templateParameter() const; Q_INVOKABLE QObject *type() const; - Q_INVOKABLE int upper() const; + Q_INVOKABLE QString upper() const; // Operations [Element] Q_INVOKABLE QSet<QObject *> allOwnedElements() const; @@ -308,7 +308,7 @@ public Q_SLOTS: void removeRedefinedOperation(QObject *redefinedOperation); void setTemplateParameter(QObject *templateParameter = 0); void Q_DECL_HIDDEN setType(QObject *type = 0); - void Q_DECL_HIDDEN setUpper(int upper); + void Q_DECL_HIDDEN setUpper(QString upper); void unsetUpper(); Q_SIGNALS: @@ -372,7 +372,7 @@ Q_SIGNALS: void redefinedOperationsChanged(QSet<QObject *> redefinedOperations); void templateParameterChanged(QObject *templateParameter); void typeChanged(QObject *type); - void upperChanged(int upper); + void upperChanged(QString upper); protected: virtual void setGroupProperties(); diff --git a/src/uml/qobjects/qumloutputpinobject.cpp b/src/uml/qobjects/qumloutputpinobject.cpp index 52e00e82..a558aa97 100644 --- a/src/uml/qobjects/qumloutputpinobject.cpp +++ b/src/uml/qobjects/qumloutputpinobject.cpp @@ -124,7 +124,7 @@ QObject *QUmlOutputPinObject::lowerValue() const return qmodelingelementproperty_cast<QUmlOutputPin *>(this)->lowerValue()->asQModelingObject(); } -int QUmlOutputPinObject::upper() const +QString QUmlOutputPinObject::upper() const { return qmodelingelementproperty_cast<QUmlOutputPin *>(this)->upper(); } @@ -367,10 +367,10 @@ int QUmlOutputPinObject::lowerBound() const return qmodelingelementproperty_cast<QUmlOutputPin *>(this)->lowerBound(); } -//int QUmlOutputPinObject::upperBound() const -//{ -// return qmodelingelementproperty_cast<QUmlOutputPin *>(this)->upperBound(); -//} +QString QUmlOutputPinObject::upperBoundOperation() const +{ + return qmodelingelementproperty_cast<QUmlOutputPin *>(this)->upperBoundOperation(); +} // OPERATIONS [NamedElement] @@ -492,7 +492,7 @@ void QUmlOutputPinObject::setLowerValue(QObject *lowerValue) emit lowerValueChanged(this->lowerValue()); } -void QUmlOutputPinObject::setUpper(int upper) +void QUmlOutputPinObject::setUpper(QString upper) { qmodelingelementproperty_cast<QUmlOutputPin *>(this)->setUpper(upper); emit upperChanged(this->upper()); @@ -501,7 +501,7 @@ void QUmlOutputPinObject::setUpper(int upper) void QUmlOutputPinObject::unsetUpper() { Q_D(QModelingObject); - setUpper(1); + setUpper(QStringLiteral("1")); d->modifiedResettableProperties.removeAll(QStringLiteral("upper")); } diff --git a/src/uml/qobjects/qumloutputpinobject_p.h b/src/uml/qobjects/qumloutputpinobject_p.h index 4fea0edf..893c031b 100644 --- a/src/uml/qobjects/qumloutputpinobject_p.h +++ b/src/uml/qobjects/qumloutputpinobject_p.h @@ -71,7 +71,7 @@ class Q_UML_EXPORT QUmlOutputPinObject : public QModelingObject Q_PROPERTY(bool isUnique READ isUnique WRITE setUnique NOTIFY isUniqueChanged RESET unsetUnique) Q_PROPERTY(int lower READ lower WRITE setLower NOTIFY lowerChanged RESET unsetLower STORED false) Q_PROPERTY(QObject * lowerValue READ lowerValue WRITE setLowerValue NOTIFY lowerValueChanged) - Q_PROPERTY(int upper READ upper WRITE setUpper NOTIFY upperChanged RESET unsetUpper STORED false) + Q_PROPERTY(QString upper READ upper WRITE setUpper NOTIFY upperChanged RESET unsetUpper STORED false) Q_PROPERTY(QObject * upperValue READ upperValue WRITE setUpperValue NOTIFY upperValueChanged) // Properties [NamedElement] @@ -123,7 +123,7 @@ public: Q_INVOKABLE bool isUnique() const; Q_INVOKABLE int lower() const; Q_INVOKABLE QObject *lowerValue() const; - Q_INVOKABLE int upper() const; + Q_INVOKABLE QString upper() const; Q_INVOKABLE QObject *upperValue() const; // Owned attributes [NamedElement] @@ -173,7 +173,7 @@ public: Q_INVOKABLE bool is(int lowerbound, int upperbound) const; Q_INVOKABLE bool isMultivalued() const; Q_INVOKABLE int lowerBound() const; -// Q_INVOKABLE int upperBound() const; + Q_INVOKABLE QString upperBoundOperation() const; // Operations [NamedElement] Q_INVOKABLE QList<QObject *> allNamespaces() const; @@ -202,7 +202,7 @@ public Q_SLOTS: void setLower(int lower); void unsetLower(); void setLowerValue(QObject *lowerValue = 0); - void setUpper(int upper); + void setUpper(QString upper); void unsetUpper(); void setUpperValue(QObject *upperValue = 0); @@ -268,7 +268,7 @@ Q_SIGNALS: void isUniqueChanged(bool isUnique); void lowerChanged(int lower); void lowerValueChanged(QObject *lowerValue); - void upperChanged(int upper); + void upperChanged(QString upper); void upperValueChanged(QObject *upperValue); // Signals for owned attributes [NamedElement] diff --git a/src/uml/qobjects/qumlparameterobject.cpp b/src/uml/qobjects/qumlparameterobject.cpp index 53b0c724..9f4f2557 100644 --- a/src/uml/qobjects/qumlparameterobject.cpp +++ b/src/uml/qobjects/qumlparameterobject.cpp @@ -119,7 +119,7 @@ QObject *QUmlParameterObject::lowerValue() const return qmodelingelementproperty_cast<QUmlParameter *>(this)->lowerValue()->asQModelingObject(); } -int QUmlParameterObject::upper() const +QString QUmlParameterObject::upper() const { return qmodelingelementproperty_cast<QUmlParameter *>(this)->upper(); } @@ -309,10 +309,10 @@ int QUmlParameterObject::lowerBound() const return qmodelingelementproperty_cast<QUmlParameter *>(this)->lowerBound(); } -//int QUmlParameterObject::upperBound() const -//{ -// return qmodelingelementproperty_cast<QUmlParameter *>(this)->upperBound(); -//} +QString QUmlParameterObject::upperBoundOperation() const +{ + return qmodelingelementproperty_cast<QUmlParameter *>(this)->upperBoundOperation(); +} // OPERATIONS [NamedElement] @@ -434,7 +434,7 @@ void QUmlParameterObject::setLowerValue(QObject *lowerValue) emit lowerValueChanged(this->lowerValue()); } -void QUmlParameterObject::setUpper(int upper) +void QUmlParameterObject::setUpper(QString upper) { qmodelingelementproperty_cast<QUmlParameter *>(this)->setUpper(upper); emit upperChanged(this->upper()); @@ -443,7 +443,7 @@ void QUmlParameterObject::setUpper(int upper) void QUmlParameterObject::unsetUpper() { Q_D(QModelingObject); - setUpper(1); + setUpper(QStringLiteral("1")); d->modifiedResettableProperties.removeAll(QStringLiteral("upper")); } diff --git a/src/uml/qobjects/qumlparameterobject_p.h b/src/uml/qobjects/qumlparameterobject_p.h index 54c647ed..82c68d2b 100644 --- a/src/uml/qobjects/qumlparameterobject_p.h +++ b/src/uml/qobjects/qumlparameterobject_p.h @@ -71,7 +71,7 @@ class Q_UML_EXPORT QUmlParameterObject : public QModelingObject Q_PROPERTY(bool isUnique READ isUnique WRITE setUnique NOTIFY isUniqueChanged RESET unsetUnique) Q_PROPERTY(int lower READ lower WRITE setLower NOTIFY lowerChanged RESET unsetLower STORED false) Q_PROPERTY(QObject * lowerValue READ lowerValue WRITE setLowerValue NOTIFY lowerValueChanged) - Q_PROPERTY(int upper READ upper WRITE setUpper NOTIFY upperChanged RESET unsetUpper STORED false) + Q_PROPERTY(QString upper READ upper WRITE setUpper NOTIFY upperChanged RESET unsetUpper STORED false) Q_PROPERTY(QObject * upperValue READ upperValue WRITE setUpperValue NOTIFY upperValueChanged) // Properties [NamedElement] @@ -115,7 +115,7 @@ public: Q_INVOKABLE bool isUnique() const; Q_INVOKABLE int lower() const; Q_INVOKABLE QObject *lowerValue() const; - Q_INVOKABLE int upper() const; + Q_INVOKABLE QString upper() const; Q_INVOKABLE QObject *upperValue() const; // Owned attributes [NamedElement] @@ -157,7 +157,7 @@ public: Q_INVOKABLE bool is(int lowerbound, int upperbound) const; Q_INVOKABLE bool isMultivalued() const; Q_INVOKABLE int lowerBound() const; -// Q_INVOKABLE int upperBound() const; + Q_INVOKABLE QString upperBoundOperation() const; // Operations [NamedElement] Q_INVOKABLE QList<QObject *> allNamespaces() const; @@ -186,7 +186,7 @@ public Q_SLOTS: void setLower(int lower); void unsetLower(); void setLowerValue(QObject *lowerValue = 0); - void setUpper(int upper); + void setUpper(QString upper); void unsetUpper(); void setUpperValue(QObject *upperValue = 0); @@ -236,7 +236,7 @@ Q_SIGNALS: void isUniqueChanged(bool isUnique); void lowerChanged(int lower); void lowerValueChanged(QObject *lowerValue); - void upperChanged(int upper); + void upperChanged(QString upper); void upperValueChanged(QObject *upperValue); // Signals for owned attributes [NamedElement] diff --git a/src/uml/qobjects/qumlportobject.cpp b/src/uml/qobjects/qumlportobject.cpp index 387f6dab..350e75b4 100644 --- a/src/uml/qobjects/qumlportobject.cpp +++ b/src/uml/qobjects/qumlportobject.cpp @@ -178,7 +178,7 @@ QObject *QUmlPortObject::lowerValue() const return qmodelingelementproperty_cast<QUmlPort *>(this)->lowerValue()->asQModelingObject(); } -int QUmlPortObject::upper() const +QString QUmlPortObject::upper() const { return qmodelingelementproperty_cast<QUmlPort *>(this)->upper(); } @@ -524,10 +524,10 @@ int QUmlPortObject::lowerBound() const return qmodelingelementproperty_cast<QUmlPort *>(this)->lowerBound(); } -//int QUmlPortObject::upperBound() const -//{ -// return qmodelingelementproperty_cast<QUmlPort *>(this)->upperBound(); -//} +QString QUmlPortObject::upperBoundOperation() const +{ + return qmodelingelementproperty_cast<QUmlPort *>(this)->upperBoundOperation(); +} // OPERATIONS [RedefinableElement] @@ -705,7 +705,7 @@ void QUmlPortObject::setLowerValue(QObject *lowerValue) emit lowerValueChanged(this->lowerValue()); } -void QUmlPortObject::setUpper(int upper) +void QUmlPortObject::setUpper(QString upper) { qmodelingelementproperty_cast<QUmlPort *>(this)->setUpper(upper); emit upperChanged(this->upper()); @@ -714,7 +714,7 @@ void QUmlPortObject::setUpper(int upper) void QUmlPortObject::unsetUpper() { Q_D(QModelingObject); - setUpper(1); + setUpper(QStringLiteral("1")); d->modifiedResettableProperties.removeAll(QStringLiteral("upper")); } diff --git a/src/uml/qobjects/qumlportobject_p.h b/src/uml/qobjects/qumlportobject_p.h index 94117de5..d5238414 100644 --- a/src/uml/qobjects/qumlportobject_p.h +++ b/src/uml/qobjects/qumlportobject_p.h @@ -82,7 +82,7 @@ class Q_UML_EXPORT QUmlPortObject : public QModelingObject Q_PROPERTY(bool isUnique READ isUnique WRITE setUnique NOTIFY isUniqueChanged RESET unsetUnique) Q_PROPERTY(int lower READ lower WRITE setLower NOTIFY lowerChanged RESET unsetLower STORED false) Q_PROPERTY(QObject * lowerValue READ lowerValue WRITE setLowerValue NOTIFY lowerValueChanged) - Q_PROPERTY(int upper READ upper WRITE setUpper NOTIFY upperChanged RESET unsetUpper STORED false) + Q_PROPERTY(QString upper READ upper WRITE setUpper NOTIFY upperChanged RESET unsetUpper STORED false) Q_PROPERTY(QObject * upperValue READ upperValue WRITE setUpperValue NOTIFY upperValueChanged) // Properties [RedefinableElement] @@ -160,7 +160,7 @@ public: Q_INVOKABLE bool isUnique() const; Q_INVOKABLE int lower() const; Q_INVOKABLE QObject *lowerValue() const; - Q_INVOKABLE int upper() const; + Q_INVOKABLE QString upper() const; Q_INVOKABLE QObject *upperValue() const; // Owned attributes [RedefinableElement] @@ -231,7 +231,7 @@ public: Q_INVOKABLE bool is(int lowerbound, int upperbound) const; Q_INVOKABLE bool isMultivalued() const; Q_INVOKABLE int lowerBound() const; -// Q_INVOKABLE int upperBound() const; + Q_INVOKABLE QString upperBoundOperation() const; // Operations [RedefinableElement] Q_INVOKABLE bool isRedefinitionContextValid(QObject *redefined) const; @@ -275,7 +275,7 @@ public Q_SLOTS: void setLower(int lower); void unsetLower(); void setLowerValue(QObject *lowerValue = 0); - void setUpper(int upper); + void setUpper(QString upper); void unsetUpper(); void setUpperValue(QObject *upperValue = 0); @@ -376,7 +376,7 @@ Q_SIGNALS: void isUniqueChanged(bool isUnique); void lowerChanged(int lower); void lowerValueChanged(QObject *lowerValue); - void upperChanged(int upper); + void upperChanged(QString upper); void upperValueChanged(QObject *upperValue); // Signals for owned attributes [RedefinableElement] diff --git a/src/uml/qobjects/qumlpropertyobject.cpp b/src/uml/qobjects/qumlpropertyobject.cpp index c4587f7a..7df09786 100644 --- a/src/uml/qobjects/qumlpropertyobject.cpp +++ b/src/uml/qobjects/qumlpropertyobject.cpp @@ -176,7 +176,7 @@ QObject *QUmlPropertyObject::lowerValue() const return qmodelingelementproperty_cast<QUmlProperty *>(this)->lowerValue()->asQModelingObject(); } -int QUmlPropertyObject::upper() const +QString QUmlPropertyObject::upper() const { return qmodelingelementproperty_cast<QUmlProperty *>(this)->upper(); } @@ -473,10 +473,10 @@ int QUmlPropertyObject::lowerBound() const return qmodelingelementproperty_cast<QUmlProperty *>(this)->lowerBound(); } -//int QUmlPropertyObject::upperBound() const -//{ -// return qmodelingelementproperty_cast<QUmlProperty *>(this)->upperBound(); -//} +QString QUmlPropertyObject::upperBoundOperation() const +{ + return qmodelingelementproperty_cast<QUmlProperty *>(this)->upperBoundOperation(); +} // OPERATIONS [RedefinableElement] @@ -654,7 +654,7 @@ void QUmlPropertyObject::setLowerValue(QObject *lowerValue) emit lowerValueChanged(this->lowerValue()); } -void QUmlPropertyObject::setUpper(int upper) +void QUmlPropertyObject::setUpper(QString upper) { qmodelingelementproperty_cast<QUmlProperty *>(this)->setUpper(upper); emit upperChanged(this->upper()); @@ -663,7 +663,7 @@ void QUmlPropertyObject::setUpper(int upper) void QUmlPropertyObject::unsetUpper() { Q_D(QModelingObject); - setUpper(1); + setUpper(QStringLiteral("1")); d->modifiedResettableProperties.removeAll(QStringLiteral("upper")); } diff --git a/src/uml/qobjects/qumlpropertyobject_p.h b/src/uml/qobjects/qumlpropertyobject_p.h index 4a47b0aa..6d697465 100644 --- a/src/uml/qobjects/qumlpropertyobject_p.h +++ b/src/uml/qobjects/qumlpropertyobject_p.h @@ -82,7 +82,7 @@ class Q_UML_EXPORT QUmlPropertyObject : public QModelingObject Q_PROPERTY(bool isUnique READ isUnique WRITE setUnique NOTIFY isUniqueChanged RESET unsetUnique) Q_PROPERTY(int lower READ lower WRITE setLower NOTIFY lowerChanged RESET unsetLower STORED false) Q_PROPERTY(QObject * lowerValue READ lowerValue WRITE setLowerValue NOTIFY lowerValueChanged) - Q_PROPERTY(int upper READ upper WRITE setUpper NOTIFY upperChanged RESET unsetUpper STORED false) + Q_PROPERTY(QString upper READ upper WRITE setUpper NOTIFY upperChanged RESET unsetUpper STORED false) Q_PROPERTY(QObject * upperValue READ upperValue WRITE setUpperValue NOTIFY upperValueChanged) // Properties [RedefinableElement] @@ -151,7 +151,7 @@ public: Q_INVOKABLE bool isUnique() const; Q_INVOKABLE int lower() const; Q_INVOKABLE QObject *lowerValue() const; - Q_INVOKABLE int upper() const; + Q_INVOKABLE QString upper() const; Q_INVOKABLE QObject *upperValue() const; // Owned attributes [RedefinableElement] @@ -213,7 +213,7 @@ public: Q_INVOKABLE bool is(int lowerbound, int upperbound) const; Q_INVOKABLE bool isMultivalued() const; Q_INVOKABLE int lowerBound() const; -// Q_INVOKABLE int upperBound() const; + Q_INVOKABLE QString upperBoundOperation() const; // Operations [RedefinableElement] Q_INVOKABLE bool isRedefinitionContextValid(QObject *redefined) const; @@ -257,7 +257,7 @@ public Q_SLOTS: void setLower(int lower); void unsetLower(); void setLowerValue(QObject *lowerValue = 0); - void setUpper(int upper); + void setUpper(QString upper); void unsetUpper(); void setUpperValue(QObject *upperValue = 0); @@ -343,7 +343,7 @@ Q_SIGNALS: void isUniqueChanged(bool isUnique); void lowerChanged(int lower); void lowerValueChanged(QObject *lowerValue); - void upperChanged(int upper); + void upperChanged(QString upper); void upperValueChanged(QObject *upperValue); // Signals for owned attributes [RedefinableElement] diff --git a/src/uml/qobjects/qumlstringexpressionobject.cpp b/src/uml/qobjects/qumlstringexpressionobject.cpp index 4cb2e6a1..bb98f445 100644 --- a/src/uml/qobjects/qumlstringexpressionobject.cpp +++ b/src/uml/qobjects/qumlstringexpressionobject.cpp @@ -294,7 +294,7 @@ double QUmlStringExpressionObject::realValue() const return qmodelingelementproperty_cast<QUmlStringExpression *>(this)->realValue(); } -int QUmlStringExpressionObject::unlimitedValue() const +QString QUmlStringExpressionObject::unlimitedValue() const { return qmodelingelementproperty_cast<QUmlStringExpression *>(this)->unlimitedValue(); } diff --git a/src/uml/qobjects/qumlstringexpressionobject_p.h b/src/uml/qobjects/qumlstringexpressionobject_p.h index 4b947537..4171fa6d 100644 --- a/src/uml/qobjects/qumlstringexpressionobject_p.h +++ b/src/uml/qobjects/qumlstringexpressionobject_p.h @@ -152,7 +152,7 @@ public: Q_INVOKABLE bool isComputable() const; Q_INVOKABLE bool isNull() const; Q_INVOKABLE double realValue() const; - Q_INVOKABLE int unlimitedValue() const; + Q_INVOKABLE QString unlimitedValue() const; // Operations [TemplateableElement] Q_INVOKABLE bool isTemplate() const; diff --git a/src/uml/qobjects/qumltimeexpressionobject.cpp b/src/uml/qobjects/qumltimeexpressionobject.cpp index bfcba05a..9ae26227 100644 --- a/src/uml/qobjects/qumltimeexpressionobject.cpp +++ b/src/uml/qobjects/qumltimeexpressionobject.cpp @@ -266,7 +266,7 @@ QString QUmlTimeExpressionObject::stringValue() const return qmodelingelementproperty_cast<QUmlTimeExpression *>(this)->stringValue(); } -int QUmlTimeExpressionObject::unlimitedValue() const +QString QUmlTimeExpressionObject::unlimitedValue() const { return qmodelingelementproperty_cast<QUmlTimeExpression *>(this)->unlimitedValue(); } diff --git a/src/uml/qobjects/qumltimeexpressionobject_p.h b/src/uml/qobjects/qumltimeexpressionobject_p.h index d01d47d7..b9e08b8c 100644 --- a/src/uml/qobjects/qumltimeexpressionobject_p.h +++ b/src/uml/qobjects/qumltimeexpressionobject_p.h @@ -137,7 +137,7 @@ public: Q_INVOKABLE bool isNull() const; Q_INVOKABLE double realValue() const; Q_INVOKABLE QString stringValue() const; - Q_INVOKABLE int unlimitedValue() const; + Q_INVOKABLE QString unlimitedValue() const; public Q_SLOTS: diff --git a/src/uml/qobjects/qumltimeintervalobject.cpp b/src/uml/qobjects/qumltimeintervalobject.cpp index 3b33a91c..854043fc 100644 --- a/src/uml/qobjects/qumltimeintervalobject.cpp +++ b/src/uml/qobjects/qumltimeintervalobject.cpp @@ -266,7 +266,7 @@ QString QUmlTimeIntervalObject::stringValue() const return qmodelingelementproperty_cast<QUmlTimeInterval *>(this)->stringValue(); } -int QUmlTimeIntervalObject::unlimitedValue() const +QString QUmlTimeIntervalObject::unlimitedValue() const { return qmodelingelementproperty_cast<QUmlTimeInterval *>(this)->unlimitedValue(); } diff --git a/src/uml/qobjects/qumltimeintervalobject_p.h b/src/uml/qobjects/qumltimeintervalobject_p.h index f4b19f24..e2bf3d3f 100644 --- a/src/uml/qobjects/qumltimeintervalobject_p.h +++ b/src/uml/qobjects/qumltimeintervalobject_p.h @@ -141,7 +141,7 @@ public: Q_INVOKABLE bool isNull() const; Q_INVOKABLE double realValue() const; Q_INVOKABLE QString stringValue() const; - Q_INVOKABLE int unlimitedValue() const; + Q_INVOKABLE QString unlimitedValue() const; public Q_SLOTS: diff --git a/src/uml/qobjects/qumlvaluepinobject.cpp b/src/uml/qobjects/qumlvaluepinobject.cpp index 7305bbd5..7b7bd332 100644 --- a/src/uml/qobjects/qumlvaluepinobject.cpp +++ b/src/uml/qobjects/qumlvaluepinobject.cpp @@ -124,7 +124,7 @@ QObject *QUmlValuePinObject::lowerValue() const return qmodelingelementproperty_cast<QUmlValuePin *>(this)->lowerValue()->asQModelingObject(); } -int QUmlValuePinObject::upper() const +QString QUmlValuePinObject::upper() const { return qmodelingelementproperty_cast<QUmlValuePin *>(this)->upper(); } @@ -377,10 +377,10 @@ int QUmlValuePinObject::lowerBound() const return qmodelingelementproperty_cast<QUmlValuePin *>(this)->lowerBound(); } -//int QUmlValuePinObject::upperBound() const -//{ -// return qmodelingelementproperty_cast<QUmlValuePin *>(this)->upperBound(); -//} +QString QUmlValuePinObject::upperBoundOperation() const +{ + return qmodelingelementproperty_cast<QUmlValuePin *>(this)->upperBoundOperation(); +} // OPERATIONS [NamedElement] @@ -502,7 +502,7 @@ void QUmlValuePinObject::setLowerValue(QObject *lowerValue) emit lowerValueChanged(this->lowerValue()); } -void QUmlValuePinObject::setUpper(int upper) +void QUmlValuePinObject::setUpper(QString upper) { qmodelingelementproperty_cast<QUmlValuePin *>(this)->setUpper(upper); emit upperChanged(this->upper()); @@ -511,7 +511,7 @@ void QUmlValuePinObject::setUpper(int upper) void QUmlValuePinObject::unsetUpper() { Q_D(QModelingObject); - setUpper(1); + setUpper(QStringLiteral("1")); d->modifiedResettableProperties.removeAll(QStringLiteral("upper")); } diff --git a/src/uml/qobjects/qumlvaluepinobject_p.h b/src/uml/qobjects/qumlvaluepinobject_p.h index 9051905d..55df49fa 100644 --- a/src/uml/qobjects/qumlvaluepinobject_p.h +++ b/src/uml/qobjects/qumlvaluepinobject_p.h @@ -71,7 +71,7 @@ class Q_UML_EXPORT QUmlValuePinObject : public QModelingObject Q_PROPERTY(bool isUnique READ isUnique WRITE setUnique NOTIFY isUniqueChanged RESET unsetUnique) Q_PROPERTY(int lower READ lower WRITE setLower NOTIFY lowerChanged RESET unsetLower STORED false) Q_PROPERTY(QObject * lowerValue READ lowerValue WRITE setLowerValue NOTIFY lowerValueChanged) - Q_PROPERTY(int upper READ upper WRITE setUpper NOTIFY upperChanged RESET unsetUpper STORED false) + Q_PROPERTY(QString upper READ upper WRITE setUpper NOTIFY upperChanged RESET unsetUpper STORED false) Q_PROPERTY(QObject * upperValue READ upperValue WRITE setUpperValue NOTIFY upperValueChanged) // Properties [NamedElement] @@ -126,7 +126,7 @@ public: Q_INVOKABLE bool isUnique() const; Q_INVOKABLE int lower() const; Q_INVOKABLE QObject *lowerValue() const; - Q_INVOKABLE int upper() const; + Q_INVOKABLE QString upper() const; Q_INVOKABLE QObject *upperValue() const; // Owned attributes [NamedElement] @@ -179,7 +179,7 @@ public: Q_INVOKABLE bool is(int lowerbound, int upperbound) const; Q_INVOKABLE bool isMultivalued() const; Q_INVOKABLE int lowerBound() const; -// Q_INVOKABLE int upperBound() const; + Q_INVOKABLE QString upperBoundOperation() const; // Operations [NamedElement] Q_INVOKABLE QList<QObject *> allNamespaces() const; @@ -208,7 +208,7 @@ public Q_SLOTS: void setLower(int lower); void unsetLower(); void setLowerValue(QObject *lowerValue = 0); - void setUpper(int upper); + void setUpper(QString upper); void unsetUpper(); void setUpperValue(QObject *upperValue = 0); @@ -277,7 +277,7 @@ Q_SIGNALS: void isUniqueChanged(bool isUnique); void lowerChanged(int lower); void lowerValueChanged(QObject *lowerValue); - void upperChanged(int upper); + void upperChanged(QString upper); void upperValueChanged(QObject *upperValue); // Signals for owned attributes [NamedElement] diff --git a/src/uml/qobjects/qumlvariableobject.cpp b/src/uml/qobjects/qumlvariableobject.cpp index 900617b8..57419bb0 100644 --- a/src/uml/qobjects/qumlvariableobject.cpp +++ b/src/uml/qobjects/qumlvariableobject.cpp @@ -120,7 +120,7 @@ QObject *QUmlVariableObject::lowerValue() const return qmodelingelementproperty_cast<QUmlVariable *>(this)->lowerValue()->asQModelingObject(); } -int QUmlVariableObject::upper() const +QString QUmlVariableObject::upper() const { return qmodelingelementproperty_cast<QUmlVariable *>(this)->upper(); } @@ -277,10 +277,10 @@ int QUmlVariableObject::lowerBound() const return qmodelingelementproperty_cast<QUmlVariable *>(this)->lowerBound(); } -//int QUmlVariableObject::upperBound() const -//{ -// return qmodelingelementproperty_cast<QUmlVariable *>(this)->upperBound(); -//} +QString QUmlVariableObject::upperBoundOperation() const +{ + return qmodelingelementproperty_cast<QUmlVariable *>(this)->upperBoundOperation(); +} // OPERATIONS [NamedElement] @@ -409,7 +409,7 @@ void QUmlVariableObject::setLowerValue(QObject *lowerValue) emit lowerValueChanged(this->lowerValue()); } -void QUmlVariableObject::setUpper(int upper) +void QUmlVariableObject::setUpper(QString upper) { qmodelingelementproperty_cast<QUmlVariable *>(this)->setUpper(upper); emit upperChanged(this->upper()); @@ -418,7 +418,7 @@ void QUmlVariableObject::setUpper(int upper) void QUmlVariableObject::unsetUpper() { Q_D(QModelingObject); - setUpper(1); + setUpper(QStringLiteral("1")); d->modifiedResettableProperties.removeAll(QStringLiteral("upper")); } diff --git a/src/uml/qobjects/qumlvariableobject_p.h b/src/uml/qobjects/qumlvariableobject_p.h index 256f8b2b..b3c05891 100644 --- a/src/uml/qobjects/qumlvariableobject_p.h +++ b/src/uml/qobjects/qumlvariableobject_p.h @@ -71,7 +71,7 @@ class Q_UML_EXPORT QUmlVariableObject : public QModelingObject Q_PROPERTY(bool isUnique READ isUnique WRITE setUnique NOTIFY isUniqueChanged RESET unsetUnique) Q_PROPERTY(int lower READ lower WRITE setLower NOTIFY lowerChanged RESET unsetLower STORED false) Q_PROPERTY(QObject * lowerValue READ lowerValue WRITE setLowerValue NOTIFY lowerValueChanged) - Q_PROPERTY(int upper READ upper WRITE setUpper NOTIFY upperChanged RESET unsetUpper STORED false) + Q_PROPERTY(QString upper READ upper WRITE setUpper NOTIFY upperChanged RESET unsetUpper STORED false) Q_PROPERTY(QObject * upperValue READ upperValue WRITE setUpperValue NOTIFY upperValueChanged) // Properties [NamedElement] @@ -109,7 +109,7 @@ public: Q_INVOKABLE bool isUnique() const; Q_INVOKABLE int lower() const; Q_INVOKABLE QObject *lowerValue() const; - Q_INVOKABLE int upper() const; + Q_INVOKABLE QString upper() const; Q_INVOKABLE QObject *upperValue() const; // Owned attributes [NamedElement] @@ -145,7 +145,7 @@ public: Q_INVOKABLE bool is(int lowerbound, int upperbound) const; Q_INVOKABLE bool isMultivalued() const; Q_INVOKABLE int lowerBound() const; -// Q_INVOKABLE int upperBound() const; + Q_INVOKABLE QString upperBoundOperation() const; // Operations [NamedElement] Q_INVOKABLE QList<QObject *> allNamespaces() const; @@ -177,7 +177,7 @@ public Q_SLOTS: void setLower(int lower); void unsetLower(); void setLowerValue(QObject *lowerValue = 0); - void setUpper(int upper); + void setUpper(QString upper); void unsetUpper(); void setUpperValue(QObject *upperValue = 0); @@ -217,7 +217,7 @@ Q_SIGNALS: void isUniqueChanged(bool isUnique); void lowerChanged(int lower); void lowerValueChanged(QObject *lowerValue); - void upperChanged(int upper); + void upperChanged(QString upper); void upperValueChanged(QObject *upperValue); // Signals for owned attributes [NamedElement] diff --git a/src/uml/qumlclassifier.cpp b/src/uml/qumlclassifier.cpp index 69f2455f..53f7226d 100644 --- a/src/uml/qumlclassifier.cpp +++ b/src/uml/qumlclassifier.cpp @@ -440,6 +440,9 @@ void QUmlClassifier::setOwnedTemplateSignature(QUmlRedefinableTemplateSignature if (ownedTemplateSignature && ownedTemplateSignature->asQModelingObject() && this->asQModelingObject()) QObject::connect(ownedTemplateSignature->asQModelingObject(), SIGNAL(destroyed()), this->asQModelingObject(), SLOT(setOwnedTemplateSignature())); ownedTemplateSignature->asQModelingObject()->setParent(this->asQModelingObject()); + + // Adjust redefined properties + QUmlTemplateableElement::setOwnedTemplateSignature(ownedTemplateSignature); } } @@ -656,6 +659,9 @@ void QUmlClassifier::setTemplateParameter(QUmlClassifierTemplateParameter *templ _templateParameter = templateParameter; if (templateParameter && templateParameter->asQModelingObject() && this->asQModelingObject()) QObject::connect(templateParameter->asQModelingObject(), SIGNAL(destroyed()), this->asQModelingObject(), SLOT(setTemplateParameter())); + + // Adjust redefined properties + QUmlParameterableElement::setTemplateParameter(templateParameter); } } diff --git a/src/uml/qumlclassifiertemplateparameter.cpp b/src/uml/qumlclassifiertemplateparameter.cpp index 9be073ef..52a991e1 100644 --- a/src/uml/qumlclassifiertemplateparameter.cpp +++ b/src/uml/qumlclassifiertemplateparameter.cpp @@ -157,6 +157,9 @@ void QUmlClassifierTemplateParameter::setParameteredElement(QUmlClassifier *para _parameteredElement = parameteredElement; if (parameteredElement && parameteredElement->asQModelingObject() && this->asQModelingObject()) QObject::connect(parameteredElement->asQModelingObject(), SIGNAL(destroyed()), this->asQModelingObject(), SLOT(setParameteredElement())); + + // Adjust redefined properties + QUmlTemplateParameter::setParameteredElement(parameteredElement); } } diff --git a/src/uml/qumlconditionalnode.cpp b/src/uml/qumlconditionalnode.cpp index 72b752b0..bacdf7d8 100644 --- a/src/uml/qumlconditionalnode.cpp +++ b/src/uml/qumlconditionalnode.cpp @@ -242,6 +242,9 @@ void QUmlConditionalNode::addResult(QUmlOutputPin *result) if (result && result->asQModelingObject() && this->asQModelingObject()) QObject::connect(result->asQModelingObject(), SIGNAL(destroyed(QObject*)), this->asQModelingObject(), SLOT(removeResult(QObject *))); result->asQModelingObject()->setParent(this->asQModelingObject()); + + // Adjust redefined properties + QUmlStructuredActivityNode::addStructuredNodeOutput(result); } } @@ -253,6 +256,9 @@ void QUmlConditionalNode::removeResult(QUmlOutputPin *result) _results.removeAll(result); if (result->asQModelingObject()) result->asQModelingObject()->setParent(0); + + // Adjust redefined properties + QUmlStructuredActivityNode::removeStructuredNodeOutput(result); } } diff --git a/src/uml/qumlconnectableelement.cpp b/src/uml/qumlconnectableelement.cpp index 66b87577..65c60b7f 100644 --- a/src/uml/qumlconnectableelement.cpp +++ b/src/uml/qumlconnectableelement.cpp @@ -152,6 +152,9 @@ void QUmlConnectableElement::setTemplateParameter(QUmlConnectableElementTemplate _templateParameter = templateParameter; if (templateParameter && templateParameter->asQModelingObject() && this->asQModelingObject()) QObject::connect(templateParameter->asQModelingObject(), SIGNAL(destroyed()), this->asQModelingObject(), SLOT(setTemplateParameter())); + + // Adjust redefined properties + QUmlParameterableElement::setTemplateParameter(templateParameter); } } diff --git a/src/uml/qumlconnectableelementtemplateparameter.cpp b/src/uml/qumlconnectableelementtemplateparameter.cpp index a6a9ccaa..d8d707eb 100644 --- a/src/uml/qumlconnectableelementtemplateparameter.cpp +++ b/src/uml/qumlconnectableelementtemplateparameter.cpp @@ -103,6 +103,9 @@ void QUmlConnectableElementTemplateParameter::setParameteredElement(QUmlConnecta _parameteredElement = parameteredElement; if (parameteredElement && parameteredElement->asQModelingObject() && this->asQModelingObject()) QObject::connect(parameteredElement->asQModelingObject(), SIGNAL(destroyed()), this->asQModelingObject(), SLOT(setParameteredElement())); + + // Adjust redefined properties + QUmlTemplateParameter::setParameteredElement(parameteredElement); } } diff --git a/src/uml/qumlcreatelinkaction.cpp b/src/uml/qumlcreatelinkaction.cpp index d73f55fe..779fbd36 100644 --- a/src/uml/qumlcreatelinkaction.cpp +++ b/src/uml/qumlcreatelinkaction.cpp @@ -142,6 +142,9 @@ void QUmlCreateLinkAction::addEndData(QUmlLinkEndCreationData *endData) if (endData && endData->asQModelingObject() && this->asQModelingObject()) QObject::connect(endData->asQModelingObject(), SIGNAL(destroyed(QObject*)), this->asQModelingObject(), SLOT(removeEndData(QObject *))); endData->asQModelingObject()->setParent(this->asQModelingObject()); + + // Adjust redefined properties + QUmlLinkAction::addEndData(endData); } } @@ -153,6 +156,9 @@ void QUmlCreateLinkAction::removeEndData(QUmlLinkEndCreationData *endData) _endData.remove(endData); if (endData->asQModelingObject()) endData->asQModelingObject()->setParent(0); + + // Adjust redefined properties + QUmlLinkAction::removeEndData(endData); } } diff --git a/src/uml/qumldestroylinkaction.cpp b/src/uml/qumldestroylinkaction.cpp index b5427497..6f6030c4 100644 --- a/src/uml/qumldestroylinkaction.cpp +++ b/src/uml/qumldestroylinkaction.cpp @@ -142,6 +142,9 @@ void QUmlDestroyLinkAction::addEndData(QUmlLinkEndDestructionData *endData) if (endData && endData->asQModelingObject() && this->asQModelingObject()) QObject::connect(endData->asQModelingObject(), SIGNAL(destroyed(QObject*)), this->asQModelingObject(), SLOT(removeEndData(QObject *))); endData->asQModelingObject()->setParent(this->asQModelingObject()); + + // Adjust redefined properties + QUmlLinkAction::addEndData(endData); } } @@ -153,6 +156,9 @@ void QUmlDestroyLinkAction::removeEndData(QUmlLinkEndDestructionData *endData) _endData.remove(endData); if (endData->asQModelingObject()) endData->asQModelingObject()->setParent(0); + + // Adjust redefined properties + QUmlLinkAction::removeEndData(endData); } } diff --git a/src/uml/qumldurationconstraint.cpp b/src/uml/qumldurationconstraint.cpp index bcd51ae3..bb1fa7ba 100644 --- a/src/uml/qumldurationconstraint.cpp +++ b/src/uml/qumldurationconstraint.cpp @@ -137,6 +137,9 @@ void QUmlDurationConstraint::setSpecification(QUmlDurationInterval *specificatio if (specification && specification->asQModelingObject() && this->asQModelingObject()) QObject::connect(specification->asQModelingObject(), SIGNAL(destroyed()), this->asQModelingObject(), SLOT(setSpecification())); specification->asQModelingObject()->setParent(this->asQModelingObject()); + + // Adjust redefined properties + QUmlIntervalConstraint::setSpecification(specification); } } diff --git a/src/uml/qumldurationinterval.cpp b/src/uml/qumldurationinterval.cpp index 3b19118b..f5ff2dd0 100644 --- a/src/uml/qumldurationinterval.cpp +++ b/src/uml/qumldurationinterval.cpp @@ -117,6 +117,9 @@ void QUmlDurationInterval::setMax(QUmlDuration *max) _max = max; if (max && max->asQModelingObject() && this->asQModelingObject()) QObject::connect(max->asQModelingObject(), SIGNAL(destroyed()), this->asQModelingObject(), SLOT(setMax())); + + // Adjust redefined properties + QUmlInterval::setMax(max); } } @@ -138,6 +141,9 @@ void QUmlDurationInterval::setMin(QUmlDuration *min) _min = min; if (min && min->asQModelingObject() && this->asQModelingObject()) QObject::connect(min->asQModelingObject(), SIGNAL(destroyed()), this->asQModelingObject(), SLOT(setMin())); + + // Adjust redefined properties + QUmlInterval::setMin(min); } } diff --git a/src/uml/qumlenumerationliteral.cpp b/src/uml/qumlenumerationliteral.cpp index 1722626c..4b248a50 100644 --- a/src/uml/qumlenumerationliteral.cpp +++ b/src/uml/qumlenumerationliteral.cpp @@ -123,7 +123,14 @@ void QUmlEnumerationLiteral::setClassifier(QUmlEnumeration *classifier) Q_UNUSED(classifier); if (false /* <derivedexclusion-criteria> */) { + // Adjust redefined properties // QUmlInstanceSpecification::removeClassifier(/* <derived-code> */); + // <derived-code> + + // Adjust redefined properties + if (classifier) { + QUmlInstanceSpecification::addClassifier(classifier); + } } } diff --git a/src/uml/qumlextension.cpp b/src/uml/qumlextension.cpp index 79188418..9e67355d 100644 --- a/src/uml/qumlextension.cpp +++ b/src/uml/qumlextension.cpp @@ -210,10 +210,17 @@ void QUmlExtension::setOwnedEnd(QUmlExtensionEnd *ownedEnd) // This is a read-write association end if (_ownedEnd != ownedEnd) { + // Adjust redefined properties QUmlAssociation::removeOwnedEnd(_ownedEnd); + _ownedEnd = ownedEnd; if (ownedEnd && ownedEnd->asQModelingObject() && this->asQModelingObject()) QObject::connect(ownedEnd->asQModelingObject(), SIGNAL(destroyed()), this->asQModelingObject(), SLOT(setOwnedEnd())); ownedEnd->asQModelingObject()->setParent(this->asQModelingObject()); + + // Adjust redefined properties + if (ownedEnd) { + QUmlAssociation::addOwnedEnd(ownedEnd); + } } } diff --git a/src/uml/qumlextensionend.cpp b/src/uml/qumlextensionend.cpp index 14fbec92..ec5658e9 100644 --- a/src/uml/qumlextensionend.cpp +++ b/src/uml/qumlextensionend.cpp @@ -161,6 +161,9 @@ void QUmlExtensionEnd::setLower(int lower) if (false /* <derivedexclusion-criteria> */) { // <derived-code> + + // Adjust redefined properties + QUmlMultiplicityElement::setLower(lower); } } @@ -182,6 +185,9 @@ void QUmlExtensionEnd::setType(QUmlStereotype *type) _type = type; if (type && type->asQModelingObject() && this->asQModelingObject()) QObject::connect(type->asQModelingObject(), SIGNAL(destroyed()), this->asQModelingObject(), SLOT(setType())); + + // Adjust redefined properties + QUmlTypedElement::setType(type); } } diff --git a/src/uml/qumlintervalconstraint.cpp b/src/uml/qumlintervalconstraint.cpp index 049bb064..0607de99 100644 --- a/src/uml/qumlintervalconstraint.cpp +++ b/src/uml/qumlintervalconstraint.cpp @@ -116,6 +116,9 @@ void QUmlIntervalConstraint::setSpecification(QUmlInterval *specification) if (specification && specification->asQModelingObject() && this->asQModelingObject()) QObject::connect(specification->asQModelingObject(), SIGNAL(destroyed()), this->asQModelingObject(), SLOT(setSpecification())); specification->asQModelingObject()->setParent(this->asQModelingObject()); + + // Adjust redefined properties + QUmlConstraint::setSpecification(specification); } } diff --git a/src/uml/qumlloopnode.cpp b/src/uml/qumlloopnode.cpp index bb5a6843..d2188cc1 100644 --- a/src/uml/qumlloopnode.cpp +++ b/src/uml/qumlloopnode.cpp @@ -303,6 +303,9 @@ void QUmlLoopNode::addLoopVariableInput(QUmlInputPin *loopVariableInput) if (loopVariableInput && loopVariableInput->asQModelingObject() && this->asQModelingObject()) QObject::connect(loopVariableInput->asQModelingObject(), SIGNAL(destroyed(QObject*)), this->asQModelingObject(), SLOT(removeLoopVariableInput(QObject *))); loopVariableInput->asQModelingObject()->setParent(this->asQModelingObject()); + + // Adjust redefined properties + QUmlStructuredActivityNode::addStructuredNodeInput(loopVariableInput); } } @@ -314,6 +317,9 @@ void QUmlLoopNode::removeLoopVariableInput(QUmlInputPin *loopVariableInput) _loopVariableInputs.removeAll(loopVariableInput); if (loopVariableInput->asQModelingObject()) loopVariableInput->asQModelingObject()->setParent(0); + + // Adjust redefined properties + QUmlStructuredActivityNode::removeStructuredNodeInput(loopVariableInput); } } @@ -336,6 +342,9 @@ void QUmlLoopNode::addResult(QUmlOutputPin *result) if (result && result->asQModelingObject() && this->asQModelingObject()) QObject::connect(result->asQModelingObject(), SIGNAL(destroyed(QObject*)), this->asQModelingObject(), SLOT(removeResult(QObject *))); result->asQModelingObject()->setParent(this->asQModelingObject()); + + // Adjust redefined properties + QUmlStructuredActivityNode::addStructuredNodeOutput(result); } } @@ -347,6 +356,9 @@ void QUmlLoopNode::removeResult(QUmlOutputPin *result) _results.removeAll(result); if (result->asQModelingObject()) result->asQModelingObject()->setParent(0); + + // Adjust redefined properties + QUmlStructuredActivityNode::removeStructuredNodeOutput(result); } } diff --git a/src/uml/qumlmultiplicityelement.cpp b/src/uml/qumlmultiplicityelement.cpp index b2e1d3e7..80ccf2a8 100644 --- a/src/uml/qumlmultiplicityelement.cpp +++ b/src/uml/qumlmultiplicityelement.cpp @@ -173,16 +173,16 @@ void QUmlMultiplicityElement::setLowerValue(QUmlValueSpecification *lowerValue) /*! Specifies the upper bound of the multiplicity interval. */ -int QUmlMultiplicityElement::upper() const +QString QUmlMultiplicityElement::upper() const { // This is a read-write derived property qWarning("QUmlMultiplicityElement::upper(): to be implemented (this is a derived property)"); - return int(); + return QString(); } -void QUmlMultiplicityElement::setUpper(int upper) +void QUmlMultiplicityElement::setUpper(QString upper) { // This is a read-write derived property @@ -294,12 +294,12 @@ int QUmlMultiplicityElement::lowerBound() const /*! The query upperBound() returns the upper bound of the multiplicity for a bounded multiplicity as an unlimited natural. */ -//int QUmlMultiplicityElement::upperBound() const -//{ -// qWarning("QUmlMultiplicityElement::upperBound(): to be implemented (operation)"); -// -// return int (); -//} +QString QUmlMultiplicityElement::upperBoundOperation() const +{ + qWarning("QUmlMultiplicityElement::upperBoundOperation(): to be implemented (operation)"); + + return QString (); +} QT_END_NAMESPACE diff --git a/src/uml/qumlmultiplicityelement.h b/src/uml/qumlmultiplicityelement.h index b3e5734d..4ae0af84 100644 --- a/src/uml/qumlmultiplicityelement.h +++ b/src/uml/qumlmultiplicityelement.h @@ -67,8 +67,8 @@ public: void setLower(int lower); QUmlValueSpecification *lowerValue() const; void setLowerValue(QUmlValueSpecification *lowerValue); - int upper() const; - void setUpper(int upper); + QString upper() const; + void setUpper(QString upper); QUmlValueSpecification *upperValue() const; void setUpperValue(QUmlValueSpecification *upperValue); @@ -79,7 +79,7 @@ public: bool is(int lowerbound, int upperbound) const; bool isMultivalued() const; int lowerBound() const; -// int upperBound() const; + QString upperBoundOperation() const; protected: explicit QUmlMultiplicityElement(); diff --git a/src/uml/qumloccurrencespecification.cpp b/src/uml/qumloccurrencespecification.cpp index e8f07cff..5f24c01f 100644 --- a/src/uml/qumloccurrencespecification.cpp +++ b/src/uml/qumloccurrencespecification.cpp @@ -113,9 +113,16 @@ void QUmlOccurrenceSpecification::setCovered(QUmlLifeline *covered) // This is a read-write association end if (_covered != covered) { + // Adjust redefined properties QUmlInteractionFragment::removeCovered(_covered); + _covered = covered; if (covered && covered->asQModelingObject() && this->asQModelingObject()) QObject::connect(covered->asQModelingObject(), SIGNAL(destroyed()), this->asQModelingObject(), SLOT(setCovered())); + + // Adjust redefined properties + if (covered) { + QUmlInteractionFragment::addCovered(covered); + } } } diff --git a/src/uml/qumloperation.cpp b/src/uml/qumloperation.cpp index 901bd522..6dee7465 100644 --- a/src/uml/qumloperation.cpp +++ b/src/uml/qumloperation.cpp @@ -389,6 +389,9 @@ void QUmlOperation::addOwnedParameter(QUmlParameter *ownedParameter) QObject::connect(ownedParameter->asQModelingObject(), SIGNAL(destroyed(QObject*)), this->asQModelingObject(), SLOT(removeOwnedParameter(QObject *))); ownedParameter->asQModelingObject()->setParent(this->asQModelingObject()); + // Adjust redefined properties + QUmlBehavioralFeature::addOwnedParameter(ownedParameter); + // Adjust opposite properties if (ownedParameter) { ownedParameter->setOperation(this); @@ -405,6 +408,9 @@ void QUmlOperation::removeOwnedParameter(QUmlParameter *ownedParameter) if (ownedParameter->asQModelingObject()) ownedParameter->asQModelingObject()->setParent(0); + // Adjust redefined properties + QUmlBehavioralFeature::removeOwnedParameter(ownedParameter); + // Adjust opposite properties if (ownedParameter) { ownedParameter->setOperation(0); @@ -508,6 +514,9 @@ void QUmlOperation::addRaisedException(QUmlType *raisedException) _raisedExceptions.insert(raisedException); if (raisedException && raisedException->asQModelingObject() && this->asQModelingObject()) QObject::connect(raisedException->asQModelingObject(), SIGNAL(destroyed(QObject*)), this->asQModelingObject(), SLOT(removeRaisedException(QObject *))); + + // Adjust redefined properties + QUmlBehavioralFeature::addRaisedException(raisedException); } } @@ -517,6 +526,9 @@ void QUmlOperation::removeRaisedException(QUmlType *raisedException) if (_raisedExceptions.contains(raisedException)) { _raisedExceptions.remove(raisedException); + + // Adjust redefined properties + QUmlBehavioralFeature::removeRaisedException(raisedException); } } @@ -574,6 +586,9 @@ void QUmlOperation::setTemplateParameter(QUmlOperationTemplateParameter *templat _templateParameter = templateParameter; if (templateParameter && templateParameter->asQModelingObject() && this->asQModelingObject()) QObject::connect(templateParameter->asQModelingObject(), SIGNAL(destroyed()), this->asQModelingObject(), SLOT(setTemplateParameter())); + + // Adjust redefined properties + QUmlParameterableElement::setTemplateParameter(templateParameter); } } @@ -604,16 +619,16 @@ void QUmlOperation::setType(QUmlType *type) /*! This information is derived from the return result for this Operation.Specifies the upper multiplicity of the return parameter, if present. */ -int QUmlOperation::upper() const +QString QUmlOperation::upper() const { // This is a read-only derived property qWarning("QUmlOperation::upper(): to be implemented (this is a derived property)"); - return int(); + return QString(); } -void QUmlOperation::setUpper(int upper) +void QUmlOperation::setUpper(QString upper) { // This is a read-only derived property diff --git a/src/uml/qumloperation.h b/src/uml/qumloperation.h index c7e6bf17..d4f8f532 100644 --- a/src/uml/qumloperation.h +++ b/src/uml/qumloperation.h @@ -105,8 +105,8 @@ public: void setTemplateParameter(QUmlOperationTemplateParameter *templateParameter); QUmlType *type() const; Q_DECL_HIDDEN void setType(QUmlType *type); - int upper() const; - Q_DECL_HIDDEN void setUpper(int upper); + QString upper() const; + Q_DECL_HIDDEN void setUpper(QString upper); // Operations bool isConsistentWith(QUmlRedefinableElement *redefinee) const; diff --git a/src/uml/qumloperationtemplateparameter.cpp b/src/uml/qumloperationtemplateparameter.cpp index 5e88cb1b..aadb4eb5 100644 --- a/src/uml/qumloperationtemplateparameter.cpp +++ b/src/uml/qumloperationtemplateparameter.cpp @@ -103,6 +103,9 @@ void QUmlOperationTemplateParameter::setParameteredElement(QUmlOperation *parame _parameteredElement = parameteredElement; if (parameteredElement && parameteredElement->asQModelingObject() && this->asQModelingObject()) QObject::connect(parameteredElement->asQModelingObject(), SIGNAL(destroyed()), this->asQModelingObject(), SLOT(setParameteredElement())); + + // Adjust redefined properties + QUmlTemplateParameter::setParameteredElement(parameteredElement); } } diff --git a/src/uml/qumlpackageableelement.cpp b/src/uml/qumlpackageableelement.cpp index 6947f272..bdd4addf 100644 --- a/src/uml/qumlpackageableelement.cpp +++ b/src/uml/qumlpackageableelement.cpp @@ -99,6 +99,9 @@ void QUmlPackageableElement::setVisibility(QtUml::VisibilityKind visibility) if (_visibility != visibility) { _visibility = visibility; _qModelingObject->modifiedResettableProperties() << QStringLiteral("visibility"); + + // Adjust redefined properties + QUmlNamedElement::setVisibility(visibility); } } diff --git a/src/uml/qumlproperty.cpp b/src/uml/qumlproperty.cpp index b6d9443e..3bad7afe 100644 --- a/src/uml/qumlproperty.cpp +++ b/src/uml/qumlproperty.cpp @@ -449,6 +449,9 @@ void QUmlProperty::setReadOnly(bool isReadOnly) if (_isReadOnly != isReadOnly) { _isReadOnly = isReadOnly; _qModelingObject->modifiedResettableProperties() << QStringLiteral("isReadOnly"); + + // Adjust redefined properties + QUmlStructuralFeature::setReadOnly(isReadOnly); } } diff --git a/src/uml/qumlredefinabletemplatesignature.cpp b/src/uml/qumlredefinabletemplatesignature.cpp index 00aa21d0..e59930d8 100644 --- a/src/uml/qumlredefinabletemplatesignature.cpp +++ b/src/uml/qumlredefinabletemplatesignature.cpp @@ -123,6 +123,9 @@ void QUmlRedefinableTemplateSignature::setClassifier(QUmlClassifier *classifier) if (classifier) { addRedefinitionContext(classifier); } + + // Adjust redefined properties + QUmlTemplateSignature::setTemplate(classifier); } } diff --git a/src/uml/qumlregion.cpp b/src/uml/qumlregion.cpp index 1dc737b9..6272f088 100644 --- a/src/uml/qumlregion.cpp +++ b/src/uml/qumlregion.cpp @@ -158,7 +158,14 @@ void QUmlRegion::setRedefinitionContext(QUmlClassifier *redefinitionContext) Q_UNUSED(redefinitionContext); if (false /* <derivedexclusion-criteria> */) { + // Adjust redefined properties // QUmlRedefinableElement::removeRedefinitionContext(/* <derived-code> */); + // <derived-code> + + // Adjust redefined properties + if (redefinitionContext) { + QUmlRedefinableElement::addRedefinitionContext(redefinitionContext); + } } } diff --git a/src/uml/qumlsendobjectaction.cpp b/src/uml/qumlsendobjectaction.cpp index 42a22dd4..6d1394ca 100644 --- a/src/uml/qumlsendobjectaction.cpp +++ b/src/uml/qumlsendobjectaction.cpp @@ -140,10 +140,17 @@ void QUmlSendObjectAction::setRequest(QUmlInputPin *request) // This is a read-write association end if (_request != request) { + // Adjust redefined properties QUmlInvocationAction::removeArgument(_request); + _request = request; if (request && request->asQModelingObject() && this->asQModelingObject()) QObject::connect(request->asQModelingObject(), SIGNAL(destroyed()), this->asQModelingObject(), SLOT(setRequest())); request->asQModelingObject()->setParent(this->asQModelingObject()); + + // Adjust redefined properties + if (request) { + QUmlInvocationAction::addArgument(request); + } } } diff --git a/src/uml/qumlsequencenode.cpp b/src/uml/qumlsequencenode.cpp index ff94fcf3..ed79811a 100644 --- a/src/uml/qumlsequencenode.cpp +++ b/src/uml/qumlsequencenode.cpp @@ -157,6 +157,9 @@ void QUmlSequenceNode::addExecutableNode(QUmlExecutableNode *executableNode) if (executableNode && executableNode->asQModelingObject() && this->asQModelingObject()) QObject::connect(executableNode->asQModelingObject(), SIGNAL(destroyed(QObject*)), this->asQModelingObject(), SLOT(removeExecutableNode(QObject *))); executableNode->asQModelingObject()->setParent(this->asQModelingObject()); + + // Adjust redefined properties + QUmlStructuredActivityNode::addNode(executableNode); } } @@ -168,6 +171,9 @@ void QUmlSequenceNode::removeExecutableNode(QUmlExecutableNode *executableNode) _executableNodes.removeAll(executableNode); if (executableNode->asQModelingObject()) executableNode->asQModelingObject()->setParent(0); + + // Adjust redefined properties + QUmlStructuredActivityNode::removeNode(executableNode); } } diff --git a/src/uml/qumlstate.cpp b/src/uml/qumlstate.cpp index cf5d66fe..f1ad8a86 100644 --- a/src/uml/qumlstate.cpp +++ b/src/uml/qumlstate.cpp @@ -499,7 +499,14 @@ void QUmlState::setRedefinitionContext(QUmlClassifier *redefinitionContext) Q_UNUSED(redefinitionContext); if (false /* <derivedexclusion-criteria> */) { + // Adjust redefined properties // QUmlRedefinableElement::removeRedefinitionContext(/* <derived-code> */); + // <derived-code> + + // Adjust redefined properties + if (redefinitionContext) { + QUmlRedefinableElement::addRedefinitionContext(redefinitionContext); + } } } diff --git a/src/uml/qumlstateinvariant.cpp b/src/uml/qumlstateinvariant.cpp index cd6a6864..2bf00427 100644 --- a/src/uml/qumlstateinvariant.cpp +++ b/src/uml/qumlstateinvariant.cpp @@ -113,9 +113,16 @@ void QUmlStateInvariant::setCovered(QUmlLifeline *covered) // This is a read-write association end if (_covered != covered) { + // Adjust redefined properties QUmlInteractionFragment::removeCovered(_covered); + _covered = covered; if (covered && covered->asQModelingObject() && this->asQModelingObject()) QObject::connect(covered->asQModelingObject(), SIGNAL(destroyed()), this->asQModelingObject(), SLOT(setCovered())); + + // Adjust redefined properties + if (covered) { + QUmlInteractionFragment::addCovered(covered); + } } } diff --git a/src/uml/qumlstatemachine.cpp b/src/uml/qumlstatemachine.cpp index fc2d8b04..079d6705 100644 --- a/src/uml/qumlstatemachine.cpp +++ b/src/uml/qumlstatemachine.cpp @@ -254,6 +254,9 @@ void QUmlStateMachine::addExtendedStateMachine(QUmlStateMachine *extendedStateMa _extendedStateMachines.insert(extendedStateMachine); if (extendedStateMachine && extendedStateMachine->asQModelingObject() && this->asQModelingObject()) QObject::connect(extendedStateMachine->asQModelingObject(), SIGNAL(destroyed(QObject*)), this->asQModelingObject(), SLOT(removeExtendedStateMachine(QObject *))); + + // Adjust redefined properties + QUmlBehavior::addRedefinedBehavior(extendedStateMachine); } } @@ -263,6 +266,9 @@ void QUmlStateMachine::removeExtendedStateMachine(QUmlStateMachine *extendedStat if (_extendedStateMachines.contains(extendedStateMachine)) { _extendedStateMachines.remove(extendedStateMachine); + + // Adjust redefined properties + QUmlBehavior::removeRedefinedBehavior(extendedStateMachine); } } diff --git a/src/uml/qumlstructuredactivitynode.cpp b/src/uml/qumlstructuredactivitynode.cpp index ff810139..79ff3c75 100644 --- a/src/uml/qumlstructuredactivitynode.cpp +++ b/src/uml/qumlstructuredactivitynode.cpp @@ -154,6 +154,10 @@ void QUmlStructuredActivityNode::setActivity(QUmlActivity *activity) _activity = activity; if (activity && activity->asQModelingObject() && this->asQModelingObject()) QObject::connect(activity->asQModelingObject(), SIGNAL(destroyed()), this->asQModelingObject(), SLOT(setActivity())); + + // Adjust redefined properties + QUmlActivityGroup::setInActivity(activity); + QUmlActivityNode::setActivity(activity); } } diff --git a/src/uml/qumltimeconstraint.cpp b/src/uml/qumltimeconstraint.cpp index bf23940e..158fe104 100644 --- a/src/uml/qumltimeconstraint.cpp +++ b/src/uml/qumltimeconstraint.cpp @@ -139,6 +139,9 @@ void QUmlTimeConstraint::setSpecification(QUmlTimeInterval *specification) if (specification && specification->asQModelingObject() && this->asQModelingObject()) QObject::connect(specification->asQModelingObject(), SIGNAL(destroyed()), this->asQModelingObject(), SLOT(setSpecification())); specification->asQModelingObject()->setParent(this->asQModelingObject()); + + // Adjust redefined properties + QUmlIntervalConstraint::setSpecification(specification); } } diff --git a/src/uml/qumltimeinterval.cpp b/src/uml/qumltimeinterval.cpp index 1dea61c4..d7932a13 100644 --- a/src/uml/qumltimeinterval.cpp +++ b/src/uml/qumltimeinterval.cpp @@ -117,6 +117,9 @@ void QUmlTimeInterval::setMax(QUmlTimeExpression *max) _max = max; if (max && max->asQModelingObject() && this->asQModelingObject()) QObject::connect(max->asQModelingObject(), SIGNAL(destroyed()), this->asQModelingObject(), SLOT(setMax())); + + // Adjust redefined properties + QUmlInterval::setMax(max); } } @@ -138,6 +141,9 @@ void QUmlTimeInterval::setMin(QUmlTimeExpression *min) _min = min; if (min && min->asQModelingObject() && this->asQModelingObject()) QObject::connect(min->asQModelingObject(), SIGNAL(destroyed()), this->asQModelingObject(), SLOT(setMin())); + + // Adjust redefined properties + QUmlInterval::setMin(min); } } diff --git a/src/uml/qumltransition.cpp b/src/uml/qumltransition.cpp index e60fce56..6bf528ee 100644 --- a/src/uml/qumltransition.cpp +++ b/src/uml/qumltransition.cpp @@ -274,7 +274,14 @@ void QUmlTransition::setRedefinitionContext(QUmlClassifier *redefinitionContext) Q_UNUSED(redefinitionContext); if (false /* <derivedexclusion-criteria> */) { + // Adjust redefined properties // QUmlRedefinableElement::removeRedefinitionContext(/* <derived-code> */); + // <derived-code> + + // Adjust redefined properties + if (redefinitionContext) { + QUmlRedefinableElement::addRedefinitionContext(redefinitionContext); + } } } diff --git a/src/uml/qumlvaluespecification.cpp b/src/uml/qumlvaluespecification.cpp index 4c9bd9a8..4163088c 100644 --- a/src/uml/qumlvaluespecification.cpp +++ b/src/uml/qumlvaluespecification.cpp @@ -160,11 +160,11 @@ QString QUmlValueSpecification::stringValue() const /*! The query unlimitedValue() gives a single UnlimitedNatural value when one can be computed. */ -int QUmlValueSpecification::unlimitedValue() const +QString QUmlValueSpecification::unlimitedValue() const { qWarning("QUmlValueSpecification::unlimitedValue(): to be implemented (operation)"); - return int (); + return QString (); } QT_END_NAMESPACE diff --git a/src/uml/qumlvaluespecification.h b/src/uml/qumlvaluespecification.h index f4dc445b..2854b7b8 100644 --- a/src/uml/qumlvaluespecification.h +++ b/src/uml/qumlvaluespecification.h @@ -68,7 +68,7 @@ public: bool isNull() const; double realValue() const; QString stringValue() const; - int unlimitedValue() const; + QString unlimitedValue() const; protected: explicit QUmlValueSpecification(); |