diff options
author | Sandro S. Andrade <sandroandrade@kde.org> | 2013-08-25 23:35:56 -0300 |
---|---|---|
committer | Sandro S. Andrade <sandroandrade@kde.org> | 2013-08-26 04:33:49 +0200 |
commit | b15e532fc664d4c5d91095bb22093a68e3bdfd39 (patch) | |
tree | 6ff325651181e9082bf047326d873e07c0e77470 /src/uml/qumlpackagemerge.cpp | |
parent | 5392c0a8ce5545783c86d830e8c321d487538613 (diff) |
Add subsetted property adjustment for single-valued properties
Change-Id: Ibea136f1eeccc8a1f3e9dcb1e86cab111daf3c9c
Reviewed-by: Sandro S. Andrade <sandroandrade@kde.org>
Diffstat (limited to 'src/uml/qumlpackagemerge.cpp')
-rw-r--r-- | src/uml/qumlpackagemerge.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/uml/qumlpackagemerge.cpp b/src/uml/qumlpackagemerge.cpp index 5981eef6..71bd93ea 100644 --- a/src/uml/qumlpackagemerge.cpp +++ b/src/uml/qumlpackagemerge.cpp @@ -75,7 +75,15 @@ void QUmlPackageMerge::setMergedPackage(QUmlPackage *mergedPackage) // This is a read-write association end if (_mergedPackage != mergedPackage) { + // Adjust subsetted properties + removeTarget(_mergedPackage); + _mergedPackage = mergedPackage; + + // Adjust subsetted properties + if (mergedPackage) { + addTarget(mergedPackage); + } } } @@ -94,7 +102,16 @@ void QUmlPackageMerge::setReceivingPackage(QUmlPackage *receivingPackage) // This is a read-write association end if (_receivingPackage != receivingPackage) { + // Adjust subsetted properties + removeSource(_receivingPackage); + _receivingPackage = receivingPackage; + + // Adjust subsetted properties + setOwner(receivingPackage); + if (receivingPackage) { + addSource(receivingPackage); + } } } |