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

Bug 491097

Summary: Replace INodeLayout and IEdgeLayout abstractions with usage of GEF4 Graph Node and Edge.
Product: [Tools] GEF Reporter: Alexander Nyßen <nyssen>
Component: GEF LayoutAssignee: Alexander Nyßen <nyssen>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: 0.2.0   
Target Milestone: 4.0.0 (Neon) M7   
Hardware: All   
OS: All   
Whiteboard:

Description Alexander Nyßen CLA 2016-04-05 11:00:02 EDT
We can reduce a lot of overhead within Zest (GraphLayoutContext), etc. by removing the abstractions used to represent the graph structure for GEF4 Layout. If the layout context would simply refer to a GEF4 Graph, a lot of mapping code could be removed from Zest. Also, the layout algorithm interface would be better reusable, e.g. to delegate layout to native dot.
Comment 1 Alexander Nyßen CLA 2016-04-05 13:45:31 EDT
I pushed the following changes to origin/master:

- Removed INodeLayout and IEdgeLayout abstractions from Layout, replacing it with usage of Graph, Node and Edge.
- Removed GraphLayoutContext specialization from Zest, replaced it with default LayoutContext implementation in  Layout. Removed ILayoutContext interface, which provided no additional value.
- Changed that LayoutContext is no longer an IAttributeStore, but rather store respective layout properties within to be layouted Graph.
- Removed GraphNodeLayout and GraphEdgeLayout object adapters, which are no longer required (because the underlying Graph model can directly be passed to Layout).