Bug 469472 - Remove ISubgraphLayout and ExpandCollapseManager as hiding of nodes is UI dependent.
Summary: Remove ISubgraphLayout and ExpandCollapseManager as hiding of nodes is UI dep...
Status: RESOLVED FIXED
Alias: None
Product: GEF
Classification: Tools
Component: GEF Layout (show other bugs)
Version: 0.1.0   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: 4.0.0 / 3.11.0 (Neon) M5   Edit
Assignee: Alexander Nyßen CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 467978 (view as bug list)
Depends on:
Blocks: 440098
  Show dependency tree
 
Reported: 2015-06-05 08:05 EDT by Matthias Wienand CLA
Modified: 2015-12-16 02:44 EST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Matthias Wienand CLA 2015-06-05 08:05:34 EDT
The layout model provided by GEF4 Layout contains an ISubgraphLayout interface which represents a number of "pruned" (i.e. hidden) nodes. As hiding/unhiding of nodes is UI dependent, this should be removed from the layout model and the layout algorithms.
Comment 1 Alexander Nyßen CLA 2015-12-15 13:14:56 EST
The concept seems to be used in the SpaceTreeLayoutAlgorithm and SpringLayoutAlgorithm. We will have to remove it from there as well.
Comment 2 Alexander Nyßen CLA 2015-12-15 13:45:36 EST
The ExpandCollapseManager (see bug #467978) is related to this as well. IMHO, hiding should not be handled internally by the layout algorithm, but provided by the client.
Comment 3 Alexander Nyßen CLA 2015-12-15 14:11:47 EST
*** Bug 467978 has been marked as a duplicate of this bug. ***
Comment 4 Alexander Nyßen CLA 2015-12-16 02:44:40 EST
Pushed the following changes to origin/master: 

- Removed ISubgraphLayout abstraction, as hiding/unhiding of nodes should not be performed by layout algorithm (but instead by client).
- Removed IEntityLayout abstraction (replaced all usages with INodeLayout) as it is no longer needed (was common concept above INodeLayout and ISubgraphLayout).
- Removed IPruningListener, which is was related to hiding/unhiding of nodes.
- Removed ExpandCollapseManager and related implementation from SpaceTreeLayoutAlgorithm (maximizeExpansion method is now direct member of SpaceTreeLayoutAlgorithm). Removed all pruning related functionality from the algorithm as well.
- Added an example for SpaceTreeLayoutAlgorithm to Layout examples.

Resolving as fixed in 3.11.0 M5.