Bug 448739 - Known issues with centered edges
Summary: Known issues with centered edges
Status: CLOSED FIXED
Alias: None
Product: Sirius
Classification: Modeling
Component: Diagram (show other bugs)
Version: 2.0.0   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: 3.0.0   Edit
Assignee: Laurent Redor CLA
QA Contact: Belqassim Djafer CLA
URL:
Whiteboard:
Keywords: triaged
Depends on:
Blocks: 454014
  Show dependency tree
 
Reported: 2014-10-24 11:13 EDT by Florian Barbin CLA
Modified: 2015-08-04 09:50 EDT (History)
3 users (show)

See Also:


Attachments
centered edge representation (6.96 KB, application/octet-stream)
2014-10-28 11:31 EDT, Belqassim Djafer CLA
no flags Details
Reconnect issue (7.29 KB, application/zip)
2014-10-31 12:13 EDT, Florian Barbin CLA
no flags Details
Resize shape and centered edge issue (5.05 KB, application/zip)
2014-11-03 06:03 EST, Florian Barbin CLA
no flags Details
Resize shape and centered edge issue (5.07 KB, application/zip)
2014-11-04 05:37 EST, Florian Barbin CLA
no flags Details
Resizing over bendpoints (28.34 KB, image/png)
2014-11-04 05:41 EST, Florian Barbin CLA
no flags Details
Issue When resizing (26.26 KB, image/png)
2014-11-04 08:59 EST, Florian Barbin CLA
no flags Details
two or tree bendpoints rectilinear cases (6.69 KB, application/zip)
2014-11-18 05:42 EST, Florian Barbin CLA
no flags Details
testReconnect for comment 25 (5.23 KB, application/octet-stream)
2015-05-21 10:04 EDT, Belqassim Djafer CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Florian Barbin CLA 2014-10-24 11:13:53 EDT
We still have know issues with Bug 437538:

In the case of auto-size containers, we compute a wrong size in pure GMF coordinate system. That happens with long labels for instance since we do not compute the real label size according to the font name, the font-size, etc.

According to these limitations, we have two identified cases where the edge centering could be wrong:

* When performing an arrange-all (or selection)
* When re-sizing one of the edge ends shape.
Comment 1 Belqassim Djafer CLA 2014-10-28 11:31:53 EDT
Created attachment 248231 [details]
centered edge representation

New issue detected, to reproduce :
1- extract and import the attached project into the workspace.
2- open centered edge representation
3- Ensure that the centered edge style = Target.
4- move the source extremity of "edge 6" without changing side (the edge should stay right)
4- KO -> the edge target extremity moved.
Comment 2 Belqassim Djafer CLA 2014-10-28 11:45:56 EDT
In step 3, I meant : Ensure that the centered edge style of "edge 6" = Target.
Comment 3 Florian Barbin CLA 2014-10-29 10:48:01 EDT
Bug 437528

(In reply to Florian Barbin from comment #0)
> We still have know issues with Bug 437538:
> 
> In the case of auto-size containers, we compute a wrong size in pure GMF
> coordinate system. That happens with long labels for instance since we do
> not compute the real label size according to the font name, the font-size,
> etc.
> 
> According to these limitations, we have two identified cases where the edge
> centering could be wrong:
> 
> * When performing an arrange-all (or selection)
> * When re-sizing one of the edge ends shape.
Comment 4 Florian Barbin CLA 2014-10-31 12:13:32 EDT
Created attachment 248307 [details]
Reconnect issue

A issue on the reconnect has been fixed by this commit: http://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=220c31aa503c821bb482632f90c004d4e11081e1

Steps to reproduce:
* Import the use case
* Open "new testReconnect"
* Reconnect the edge from "eClass4" to "eClass5"
* The new target should be centered (that was the KO)
Comment 5 Florian Barbin CLA 2014-11-03 06:03:25 EST
Created attachment 248321 [details]
Resize shape and centered edge issue

When resizing an "auto-size" shape, the edge centering can be broken since we can compute a wrong size.

Steps to reproduce:

* Import the use case and open the diagram.
* Resize the edge "ref0" target to east for instance.
* The edge target is no longer centered. => KO


https://git.eclipse.org/r/#/c/35462/
Comment 6 Florian Barbin CLA 2014-11-04 05:37:46 EST
Created attachment 248349 [details]
Resize shape and centered edge issue
Comment 7 Florian Barbin CLA 2014-11-04 05:41:02 EST
Created attachment 248350 [details]
Resizing over bendpoints
Comment 8 Florian Barbin CLA 2014-11-04 05:43:41 EST
With the use case https://bugs.eclipse.org/bugs/attachment.cgi?id=248349

* Open the diagram
* Re-size the edge target class so that several bendpoints are within the new bounds. (See screenshot https://bugs.eclipse.org/bugs/attachment.cgi?id=248350)
* The edge is no longer centered since the last segment is within the target bounds. KO
Comment 9 Florian Barbin CLA 2014-11-04 08:51:46 EST
Comment 8 Review: https://git.eclipse.org/r/#/c/35795/
Comment 10 Florian Barbin CLA 2014-11-04 08:59:04 EST
Created attachment 248358 [details]
Issue When resizing

With the Comment 8 use case, the edge have strange bendpoints (see attached screenshot)

This issue is fixed by this patch: https://git.eclipse.org/r/#/c/35882/
Comment 11 Florian Barbin CLA 2014-11-05 04:43:35 EST
Comment 1 patch: https://git.eclipse.org/r/#/c/35935/
Comment 12 Florian Barbin CLA 2014-11-18 05:42:54 EST
Created attachment 248719 [details]
two or tree bendpoints rectilinear cases

Import the given use case and open the representation.

* Set the centering property for all edges to "BOTH".
* "ReferenceB" source is not centered => KO
* "ReferenceA" target is not centered => KO
* "ReferenceC" source is not centered => KO

This patch fixes this issue: https://git.eclipse.org/r/#/c/36612/
Comment 14 Pierre-Charles David CLA 2014-12-03 08:49:09 EST
At first glance the patch looks a little more impacting that what I am comfortable with backporting, at least not without further study. I'm leaving the "backport" keyword so that we may reconsider it later.
Comment 15 Pierre-Charles David CLA 2014-12-03 08:51:58 EST
After further discussion with Laurent and Florian, it seems important enough that we want to make the effort to backport it into 2.0.2, so cloned as bug 454014 for that.
Comment 16 Florian Barbin CLA 2014-12-15 05:45:32 EST
A regression during the reconnect of a centered edge has been fixed; See https://bugs.eclipse.org/bugs/show_bug.cgi?id=454014#c3.

Fixed on master by commit http://git.eclipse.org/c/sirius/org.eclipse.sirius.git/commit/?id=1c72fa0bab233c87585c96f7ccce750cb64ea778
Comment 17 Belqassim Djafer CLA 2015-04-08 08:13:56 EDT
KO on Sirius 3.0.0M6 and Sirius2.0.0
Comment 18 Belqassim Djafer CLA 2015-04-08 08:17:45 EDT
(In reply to Belqassim Djafer from comment #17)
> KO on Sirius 3.0.0M6 and Sirius2.0.0

When resize a bordered node which is referenced by a centered edge (target or source and target centered edge), several bendpoints change.
Comment 19 Pierre-Charles David CLA 2015-04-09 04:03:44 EDT
See Belqassim's comment.
Comment 20 Laurent Redor CLA 2015-05-05 03:50:24 EDT
Complete scenario corresponding to comment 18:
* Import project "Reconnect issue" of https://bugs.eclipse.org/bugs/attachment.cgi?id=248307
* Open the diagram "new testReconnect"
* Zoom to 200%
* Scroll the diagram to the origin (to avoid potential scroll effects)
* Resize "eClass4" to the bottom (align bottom of "eClass4" to the bottom of "Package2")
* The edge between "eClass2" and "eClass4" does not move --> OK
* Select edge between "eClass2" and "eClass4"
* In the Properties view, in Style tab, change Centered property to Both
* Resize "eClass4" to the bottom (align bottom of "eClass4" to the bottom of "Package2")
* All bendpoints of the edge between "eClass2" and "eClass4" move --> OK. Only the last segment should move (as in zoom 100%).
Comment 21 Laurent Redor CLA 2015-05-05 04:35:27 EDT
(In reply to Laurent Redor from comment #20)
> * All bendpoints of the edge between "eClass2" and "eClass4" move --> OK.
> Only the last segment should move (as in zoom 100%).

Of course, this is KO (not OK).
Comment 22 Eclipse Genie CLA 2015-05-06 06:14:45 EDT
New Gerrit change created: https://git.eclipse.org/r/47271
Comment 24 Laurent Redor CLA 2015-05-07 02:56:16 EDT
Pb of comment 20 resolved with above commit
Comment 25 Belqassim Djafer CLA 2015-05-21 10:04:14 EDT
Created attachment 253637 [details]
testReconnect for comment 25

When resize a border node which is referenced by a centered edge, bendpoints change.

To reproduce:
1- Import the attached project.
2- Open the diagram "new testReconnect".
3- Zoom to 175% or 125%.
4- Resize "eClass4" to the right (align the left side of "eClass4" to the left side of "eClass3") -> Only the last segment of the edge between 'eClass1' and 'eClass4' move -> OK.
5- Make undo.
6- Select the edge between 'eClass1' and 'eClass4'.
7- In the Properties view, in Style tab, change Centered property to Both.
8- Repeat step 4 -> KO : All bendpoints of the edge move.
Comment 26 Laurent Redor CLA 2015-05-22 04:04:30 EDT
see belqassim comment 25
Comment 27 Laurent Redor CLA 2015-05-26 09:24:56 EDT
For information, the bug of comment 25 is not present with zoom 200%.
Comment 28 Eclipse Genie CLA 2015-05-27 06:16:59 EDT
New Gerrit change created: https://git.eclipse.org/r/48740
Comment 30 Laurent Redor CLA 2015-05-27 09:08:35 EDT
Resolved in 3.0.0rc3
Comment 31 Pierre-Charles David CLA 2015-06-24 11:16:19 EDT
Available in Sirius 3.0.0. See https://wiki.eclipse.org/Sirius/3.0.0.