Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 458874

Summary: Layout integration seems to be broken with DOT Graph viewer
Product: [Tools] GEF Reporter: Alexander Nyßen <nyssen>
Component: GEF DOTAssignee: Matthias Wienand <matthias.wienand>
Status: RESOLVED FIXED QA Contact:
Severity: major    
Priority: P3 CC: matthias.wienand
Version: unspecified   
Target Milestone: 3.10.0 (Mars) M6   
Hardware: All   
OS: All   
Whiteboard:

Description Alexander Nyßen CLA 2015-01-31 10:00:09 EST
When visualizing the sample dot files (from org.eclipse.gef4.dot.tests/resources) in the DOT Graph viewer, the layout looks broken in nearly all situations. We need to investigate this.
Comment 1 Alexander Nyßen CLA 2015-02-01 05:33:24 EST
The following examples look bad:
- styled_graph.dot (default -> tree layout)
- sample_input.dot (osage -> grid layout)
- node_groups.dot (default -> tree)

I have the impression that in general the size of the nodes (needed for rendering) is not properly considered.
Comment 2 Alexander Nyßen CLA 2015-02-01 05:37:42 EST
Furthermore, the Graph viewer layout does not seem to be "stable". I.e. when opening several .dot files in the dot-editor (when being in linked mode), the layout of the sample files looks completely different dependent on which other file was opened before. I thus assume that the layout context is not completely cleared, and previous layouts seem to affect the rendering. We need to ensure that does not happen.
Comment 3 Alexander Nyßen CLA 2015-02-01 05:39:38 EST
And finally, osage layout seems to be broken in all cases. That could be an additional problem as well.
Comment 4 Matthias Wienand CLA 2015-03-12 11:48:44 EDT
The DotToZestGraphConverter did not correctly wire the converted nodes and edges with the converted graph. This had the effect, that the corresponding content parts did not adapt/provide layout information for the LayoutContext, because they could not verify that they belong to that LayoutContext. Moreover, the initial layout pass was being performed before any content part had the chance to register for layout changes.

I fixed those issues and the examples look good now. I tried opening them in different sequences and the layout does seem to be stable. I could not find any issues with the size of nodes either, although this may be due to the simplicity of the examples.

The code is published on the master branch, therefore I resolve this ticket as fixed for 3.10.0M6.