Bug 320109 - incorrect painting of message widgets
Summary: incorrect painting of message widgets
Status: RESOLVED FIXED
Alias: None
Product: umbrello
Classification: Applications
Component: general (show other bugs)
Version: Git
Platform: Other All
: NOR normal
Target Milestone: ---
Assignee: Umbrello Development Group
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-05-21 19:40 UTC by Ralf Habacker
Modified: 2013-05-30 10:07 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In: 4.10.4


Attachments
Screenshot showing problems (11.19 KB, image/png)
2013-05-21 21:55 UTC, Ralf Habacker
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ralf Habacker 2013-05-21 19:40:09 UTC
After adding lost/found message widgets to a sequence diagrams these widgets are painted not connected to the related object.

Reproducible: Always

Steps to Reproduce:
1. start umbrello
2. create sequence diagramm
3. add lost/found messages to this object (lost from the left and right, found from the left and right) 

Actual Results:  
added messages are displayed not connected to the related object


Expected Results:  
messages should be drawn connected to the related object
Comment 1 Ralf Habacker 2013-05-21 21:55:40 UTC
Created attachment 80011 [details]
Screenshot showing problems

The left and right lines of the black rectangle in the lower part has been used to position lost/found message widgets. The smaller black rectangles are the widgets bounding box.
The following problems are present:
1. The position of the red circles of widget 2-5 do not match the initial selected x position. 
2. widgets drawings (numbers 2-5)  are partly outside the bounding box, which creates drawing artifacts.
Comment 2 Ralf Habacker 2013-05-21 21:57:51 UTC
(In reply to comment #1)
> The following problems are present:
3. The endpoint of widget 2-5 do not match the vertical line of the object widget.
Comment 3 Ralf Habacker 2013-05-22 22:33:44 UTC
Git commit 394628cc38f4f9bf267c923ae87ba290973d6982 by Ralf Habacker.
Committed on 23/05/2013 at 00:25.
Pushed by habacker into branch 'master'.

Add method centerX() to ObjectWidget, which is often used by MessageWidget.

M  +11   -27   umbrello/widgets/messagewidget.cpp
M  +9    -0    umbrello/widgets/objectwidget.cpp
M  +2    -0    umbrello/widgets/objectwidget.h

http://commits.kde.org/umbrello/394628cc38f4f9bf267c923ae87ba290973d6982
Comment 4 Ralf Habacker 2013-05-22 23:03:23 UTC
Git commit 279dc4c0b6d8044933effbc10cb11fd8481880e3 by Ralf Habacker.
Committed on 23/05/2013 at 00:52.
Pushed by habacker into branch 'master'.

Increase resolution by using UMLSceneValue in ObjectWidget::messageOverlap().

Also check for same widget first to avoid unused calculation.

M  +7    -4    umbrello/widgets/objectwidget.cpp
M  +1    -1    umbrello/widgets/objectwidget.h

http://commits.kde.org/umbrello/279dc4c0b6d8044933effbc10cb11fd8481880e3
Comment 5 Ralf Habacker 2013-05-26 15:44:38 UTC
Git commit e49d531e7c466419887cdcfd59a2604a2697ae72 by Ralf Habacker.
Committed on 26/05/2013 at 17:36.
Pushed by habacker into branch 'master'.

Fixed bounding rect and horizontal circle position for found/lost messages.

M  +20   -24   umbrello/widgets/messagewidget.cpp

http://commits.kde.org/umbrello/e49d531e7c466419887cdcfd59a2604a2697ae72
Comment 6 Ralf Habacker 2013-05-26 16:19:20 UTC
Git commit d517ef8a3da19b125ef24c67681882d66dc02d8d by Ralf Habacker.
Committed on 26/05/2013 at 18:01.
Pushed by habacker into branch 'master'.

Fixed painting problem caused by displayed resizable corner of creation/lost/found messages,
which partially exceeds bounding rect.

Creation/lost and found messages are not resizable, so displaying resize corner makes no sense.

M  +1    -1    umbrello/widgets/messagewidget.cpp

http://commits.kde.org/umbrello/d517ef8a3da19b125ef24c67681882d66dc02d8d
Comment 7 Ralf Habacker 2013-05-26 20:24:33 UTC
Git commit d03293be982d8f72c363c8a654b40a51e67b3b04 by Ralf Habacker.
Committed on 26/05/2013 at 22:22.
Pushed by habacker into branch 'master'.

Avoid painting artifacts by disabling resize corner for non resizable asynchronous messages too.

M  +1    -1    umbrello/widgets/messagewidget.cpp

http://commits.kde.org/umbrello/d03293be982d8f72c363c8a654b40a51e67b3b04
Comment 8 Ralf Habacker 2013-05-27 16:23:35 UTC
Git commit 75c1f7247612ca0ef6e4487bab3cdf325a3b59e2 by Ralf Habacker.
Committed on 27/05/2013 at 18:22.
Pushed by habacker into branch 'master'.

Fixed object widget sequence line painting artifact when moving creation message up and down.

M  +1    -1    umbrello/controller/messagewidgetcontroller.cpp

http://commits.kde.org/umbrello/75c1f7247612ca0ef6e4487bab3cdf325a3b59e2
Comment 9 Ralf Habacker 2013-05-27 19:54:08 UTC
Git commit 6ed51fc530c6adf417663ad02611a8cee338c527 by Ralf Habacker.
Committed on 27/05/2013 at 21:50.
Pushed by habacker into branch 'master'.

Fixed painting artifacts when creation message lenght is below arrow width.

This is done by do not drawing arrow when message length is below arrow width.

M  +12   -10   umbrello/widgets/messagewidget.cpp

http://commits.kde.org/umbrello/6ed51fc530c6adf417663ad02611a8cee338c527
Comment 10 Ralf Habacker 2013-05-28 16:49:37 UTC
After adding a synchronous message from Object A (left side) to Object B (right side) painting artifacts are shown when Object B is moved to the left side of Object A.
Comment 11 Ralf Habacker 2013-05-30 08:12:41 UTC
Git commit fcf4d5a66478ee7c2069559636a40b3e42372649 by Ralf Habacker.
Committed on 23/05/2013 at 00:16.
Pushed by habacker into branch 'KDE/4.10'.

Add new method isSelf(), which is often used in the implementation.

M  +19   -7    umbrello/widgets/messagewidget.cpp
M  +2    -0    umbrello/widgets/messagewidget.h

http://commits.kde.org/umbrello/fcf4d5a66478ee7c2069559636a40b3e42372649
Comment 12 Ralf Habacker 2013-05-30 08:12:47 UTC
Git commit 356060a06d667aa3f6179ed30ce5fd9071b61e91 by Ralf Habacker.
Committed on 23/05/2013 at 00:25.
Pushed by habacker into branch 'KDE/4.10'.

Add method centerX() to ObjectWidget, which is often used by MessageWidget.

M  +11   -27   umbrello/widgets/messagewidget.cpp
M  +9    -0    umbrello/widgets/objectwidget.cpp
M  +2    -0    umbrello/widgets/objectwidget.h

http://commits.kde.org/umbrello/356060a06d667aa3f6179ed30ce5fd9071b61e91
Comment 13 Ralf Habacker 2013-05-30 08:12:50 UTC
Git commit e28c043b09b1fd81816b0c910751d243beb17dd3 by Ralf Habacker.
Committed on 27/05/2013 at 18:22.
Pushed by habacker into branch 'KDE/4.10'.

Fixed object widget sequence line painting artifact when moving creation message up and down.

M  +1    -1    umbrello/controller/messagewidgetcontroller.cpp

http://commits.kde.org/umbrello/e28c043b09b1fd81816b0c910751d243beb17dd3
Comment 14 Ralf Habacker 2013-05-30 08:12:51 UTC
Git commit d0132e742b26c225e50e039b7518ece2c495dbe4 by Ralf Habacker.
Committed on 27/05/2013 at 21:50.
Pushed by habacker into branch 'KDE/4.10'.

Fixed painting artifacts when creation message lenght is below arrow width.

This is done by do not drawing arrow when message length is below arrow width.

M  +12   -10   umbrello/widgets/messagewidget.cpp

http://commits.kde.org/umbrello/d0132e742b26c225e50e039b7518ece2c495dbe4
Comment 15 Ralf Habacker 2013-05-30 08:12:53 UTC
Git commit 2ff145945b52bbd624bad2d48149f8b89576b42d by Ralf Habacker.
Committed on 23/05/2013 at 00:52.
Pushed by habacker into branch 'KDE/4.10'.

Increase resolution by using UMLSceneValue in ObjectWidget::messageOverlap().

Also check for same widget first to avoid unused calculation.

M  +7    -4    umbrello/widgets/objectwidget.cpp
M  +1    -1    umbrello/widgets/objectwidget.h

http://commits.kde.org/umbrello/2ff145945b52bbd624bad2d48149f8b89576b42d
Comment 16 Ralf Habacker 2013-05-30 08:12:58 UTC
Git commit e598da3fcd85515abb9f3676c04f680f51b2aec5 by Ralf Habacker.
Committed on 26/05/2013 at 18:01.
Pushed by habacker into branch 'KDE/4.10'.

Fixed painting problem caused by displayed resizable corner of creation/lost/found messages,
which partially exceeds bounding rect.

Creation/lost and found messages are not resizable, so displaying resize corner makes no sense.

M  +1    -1    umbrello/widgets/messagewidget.cpp

http://commits.kde.org/umbrello/e598da3fcd85515abb9f3676c04f680f51b2aec5
Comment 17 Ralf Habacker 2013-05-30 08:13:00 UTC
Git commit eb12eab9ff7dc97b912376d21dc5fd5d2d08f33c by Ralf Habacker.
Committed on 26/05/2013 at 22:22.
Pushed by habacker into branch 'KDE/4.10'.

Avoid painting artifacts by disabling resize corner for non resizable asynchronous messages too.

M  +1    -1    umbrello/widgets/messagewidget.cpp

http://commits.kde.org/umbrello/eb12eab9ff7dc97b912376d21dc5fd5d2d08f33c
Comment 18 Ralf Habacker 2013-05-30 08:13:12 UTC
Git commit 0ad99570361ef11af9362f1b867edb1b34a87713 by Ralf Habacker.
Committed on 30/05/2013 at 09:03.
Pushed by habacker into branch 'KDE/4.10'.

Fixed synchronous message painting artifacts.

M  +10   -0    ChangeLog
M  +21   -16   umbrello/widgets/messagewidget.cpp

http://commits.kde.org/umbrello/0ad99570361ef11af9362f1b867edb1b34a87713
Comment 19 Ralf Habacker 2013-05-30 08:16:19 UTC
Git commit 29bf4738331e0bab23a1855d58825e34dbe63d61 by Ralf Habacker.
Committed on 26/05/2013 at 17:36.
Pushed by habacker into branch 'KDE/4.10'.

Fixed bounding rect and horizontal circle position for found/lost messages.

M  +20   -24   umbrello/widgets/messagewidget.cpp

http://commits.kde.org/umbrello/29bf4738331e0bab23a1855d58825e34dbe63d61