Summary: | Multiplicity labels positioned incorrectly when moving entities | ||
---|---|---|---|
Product: | [Applications] umbrello | Reporter: | Konstantin Savenkov <savenkov> |
Component: | general | Assignee: | Oliver Kellogg <okellogg> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Konstantin Savenkov
2006-01-22 14:14:29 UTC
SVN commit 501786 by okellogg: calculateTextPosition(): Revert commit 468001 from http://www.geeksoc.org/~jr/umbrello/uml-devel/8974.html Peter, could you take another look? Thanks. BUG:120598 M +4 -1 ChangeLog M +7 -10 umbrello/associationwidget.cpp --- branches/KDE/3.5/kdesdk/umbrello/ChangeLog #501785:501786 @@ -1,6 +1,9 @@ Version 1.5.2 -* fix problem reordering methods in classes/interfaces (http://bugs.debian.org/348940) +* fix problem reordering methods in classes/interfaces (http://bugs.debian.org/348940, + http://bugs.kde.org/119991) +* Bugs/wishes from http://bugs.kde.org: +* Multiplicity labels positioned incorrectly when moving entities (120598) Version 1.5.1 --- branches/KDE/3.5/kdesdk/umbrello/umbrello/associationwidget.cpp #501785:501786 @@ -1752,17 +1752,14 @@ int x = 0, y = 0; if (role == tr_MultiA || role == tr_MultiB) { + const bool isHorizontal = (p.y() == q.y()); + const int atTop = p.y() + SPACE; + const int atBottom = p.y() - SPACE - textH; + const int atLeft = p.x() - SPACE - textW; + const int atRight = p.x() + SPACE; + y = (p.y() > q.y()) == isHorizontal ? atTop : atBottom; + x = (p.x() < q.x()) == isHorizontal ? atRight : atLeft; - if( (p.y() > q.y()) != is_top_or_bottom ) - y = p.y() + SPACE; - else - y = p.y() - SPACE - textH; - - if( p.x() < q.x() != is_top_or_bottom ) - x = p.x() + SPACE; - else - x = p.x() - SPACE - textW; - } else if (role == tr_ChangeA || role == tr_ChangeB) { if( p.y() > q.y() ) |