Skip to content

Commit

Permalink
[Zest 2.0] Create abstract base class for new Zest layout algorithms.
Browse files Browse the repository at this point in the history
Clients should not implement the LayoutAlgorithm interface directly as
we may want to add new methods in the future (similar to the Zest 1.0
case). Instead, they should implement the AbstractLayoutAlgorithm class.
  • Loading branch information
ptziegler committed Sep 17, 2024
1 parent 408f19e commit 793b48d
Show file tree
Hide file tree
Showing 17 changed files with 871 additions and 963 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ public class SimpleSWTExample {
private static final double INITIAL_NODE_WIDTH = 20;
private static final double INITIAL_NODE_HEIGHT = 15;

protected static ArrayList<AbstractLayoutAlgorithm> algorithms = new ArrayList<>(Arrays.asList(
protected static ArrayList<AbstractLayoutAlgorithm.Zest1> algorithms = new ArrayList<>(Arrays.asList(
new SpringLayoutAlgorithm.Zest1(LayoutStyles.NO_LAYOUT_NODE_RESIZING),
new TreeLayoutAlgorithm.Zest1(LayoutStyles.NONE), new HorizontalTreeLayoutAlgorithm(LayoutStyles.NONE),
new RadialLayoutAlgorithm.Zest1(LayoutStyles.NONE), new GridLayoutAlgorithm.Zest1(LayoutStyles.NONE),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ public static void main(String[] args) {
new GraphConnection(g, SWT.NONE, n, n2);
new GraphConnection(g, SWT.NONE, n2, n3);
new GraphConnection(g, SWT.NONE, n3, n);
g.setLayoutAlgorithm(new AbstractLayoutAlgorithm(SWT.NONE) {
g.setLayoutAlgorithm(new AbstractLayoutAlgorithm.Zest1(SWT.NONE) {

private int totalSteps;
private int currentStep;
Expand Down
64 changes: 4 additions & 60 deletions org.eclipse.zest.layouts/.settings/.api_filters
Original file line number Diff line number Diff line change
@@ -1,74 +1,18 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<component id="org.eclipse.zest.layouts" version="2">
<resource path="src/org/eclipse/zest/layouts/algorithms/CompositeLayoutAlgorithm.java" type="org.eclipse.zest.layouts.algorithms.CompositeLayoutAlgorithm">
<filter id="576725006">
<message_arguments>
<message_argument value="LayoutAlgorithm"/>
<message_argument value="CompositeLayoutAlgorithm"/>
</message_arguments>
</filter>
</resource>
<resource path="src/org/eclipse/zest/layouts/algorithms/DirectedGraphLayoutAlgorithm.java" type="org.eclipse.zest.layouts.algorithms.DirectedGraphLayoutAlgorithm">
<filter id="576725006">
<message_arguments>
<message_argument value="LayoutAlgorithm"/>
<message_argument value="DirectedGraphLayoutAlgorithm"/>
</message_arguments>
</filter>
</resource>
<resource path="src/org/eclipse/zest/layouts/algorithms/GridLayoutAlgorithm.java" type="org.eclipse.zest.layouts.algorithms.GridLayoutAlgorithm">
<filter id="576725006">
<message_arguments>
<message_argument value="LayoutAlgorithm"/>
<message_argument value="GridLayoutAlgorithm"/>
</message_arguments>
</filter>
</resource>
<resource path="src/org/eclipse/zest/layouts/algorithms/HorizontalShiftAlgorithm.java" type="org.eclipse.zest.layouts.algorithms.HorizontalShiftAlgorithm">
<filter id="576725006">
<message_arguments>
<message_argument value="LayoutAlgorithm"/>
<message_argument value="HorizontalShiftAlgorithm"/>
</message_arguments>
</filter>
</resource>
<resource path="src/org/eclipse/zest/layouts/algorithms/RadialLayoutAlgorithm.java" type="org.eclipse.zest.layouts.algorithms.RadialLayoutAlgorithm">
<filter id="576725006">
<message_arguments>
<message_argument value="LayoutAlgorithm"/>
<message_argument value="RadialLayoutAlgorithm"/>
</message_arguments>
</filter>
</resource>
<resource path="src/org/eclipse/zest/layouts/algorithms/SpaceTreeLayoutAlgorithm.java" type="org.eclipse.zest.layouts.algorithms.SpaceTreeLayoutAlgorithm">
<resource path="src/org/eclipse/zest/layouts/algorithms/AbstractLayoutAlgorithm.java" type="org.eclipse.zest.layouts.algorithms.AbstractLayoutAlgorithm">
<filter id="576725006">
<message_arguments>
<message_argument value="LayoutAlgorithm"/>
<message_argument value="SpaceTreeLayoutAlgorithm"/>
<message_argument value="AbstractLayoutAlgorithm"/>
</message_arguments>
</filter>
</resource>
<resource path="src/org/eclipse/zest/layouts/algorithms/SpringLayoutAlgorithm.java" type="org.eclipse.zest.layouts.algorithms.SpringLayoutAlgorithm">
<filter id="576725006">
<message_arguments>
<message_argument value="LayoutAlgorithm"/>
<message_argument value="SpringLayoutAlgorithm"/>
</message_arguments>
</filter>
</resource>
<resource path="src/org/eclipse/zest/layouts/algorithms/SugiyamaLayoutAlgorithm.java" type="org.eclipse.zest.layouts.algorithms.SugiyamaLayoutAlgorithm">
<filter id="576725006">
<message_arguments>
<message_argument value="LayoutAlgorithm"/>
<message_argument value="SugiyamaLayoutAlgorithm"/>
</message_arguments>
</filter>
</resource>
<resource path="src/org/eclipse/zest/layouts/algorithms/TreeLayoutAlgorithm.java" type="org.eclipse.zest.layouts.algorithms.TreeLayoutAlgorithm">
<resource path="src/org/eclipse/zest/layouts/algorithms/CompositeLayoutAlgorithm.java" type="org.eclipse.zest.layouts.algorithms.CompositeLayoutAlgorithm">
<filter id="576725006">
<message_arguments>
<message_argument value="LayoutAlgorithm"/>
<message_argument value="TreeLayoutAlgorithm"/>
<message_argument value="CompositeLayoutAlgorithm"/>
</message_arguments>
</filter>
</resource>
Expand Down
Loading

0 comments on commit 793b48d

Please sign in to comment.