Wiki source code of Migrating to the Eclipse Layout Kernel
Last modified by uru on 2023/07/11 10:33
Show last authors
author | version | line-number | content |
---|---|---|---|
1 | The [[//Eclipse Layout Kernel (ELK)//>>url:http://www.eclipse.org/elk||shape="rect"]] is the official Eclipse project our layout technology will move to. As part of the move, expect changes in these areas: | ||
2 | |||
3 | * Plugin names | ||
4 | * Extension point names | ||
5 | * Package names | ||
6 | * Plugin structure | ||
7 | * KGraph meta model | ||
8 | |||
9 | To make migration easier for everyone, this page is intended to track all changes. | ||
10 | |||
11 | * The classes formerly provided by {{code language="none"}}de.cau.cs.kieler.core{{/code}} are now to be found in {{code language="none"}}org.eclipse.elk.core{{/code}}, with the following exceptions: | ||
12 | ** The {{code language="none"}}...properties{{/code}} package was moved to the {{code language="none"}}.graph{{/code}} plugin. | ||
13 | ** {{code language="none"}}ForwardingInputStream{{/code}} was moved to the {{code language="none"}}...graphviz.layouter{{/code}} plugin. | ||
14 | ** {{code language="none"}}ForkedOutputStream{{/code}} was moved to the {{code language="none"}}...graphviz.layouter{{/code}} plugin. | ||
15 | * All pre-defined layout types now have the ID {{code language="none"}}org.eclipse.elk.type.XXX{{/code}} | ||
16 | * All pre-defined diagram types now have the ID {{code language="none"}}org.eclipse.elk.diagram.XXX{{/code}} | ||
17 | * All pre-defined layout options now have the ID {{code language="none"}}org.eclipse.elk.XXX{{/code}} (except for options defined by specific layout algorithms, which have the ID {{code language="none"}}org.eclipse.elk.ALGORITHM.XXX{{/code}}) | ||
18 | ** {{code language="none"}}de.cau.cs.kieler.klay.layered.portAnchor{{/code}} is now {{code language="none"}}org.eclipse.elk.portAnchor{{/code}} instead of {{code language="none"}}org.eclipse.elk.layered.portAnchor{{/code}} | ||
19 | * All pre-defined layout algorithms now have the ID {{code language="none"}}org.eclipse.elk.algorithm.XXX{{/code}} | ||
20 | |||
21 | |||
22 | |||
23 | * ((( | ||
24 | {{code language="none"}}IKielerProgressMonitor{{/code}} -> {{code language="none"}}IElkProgressMonitor{{/code}} | ||
25 | ))) | ||
26 | * ((( | ||
27 | {{code language="none"}}ILayoutConfig{{/code}} -> {{code language="none"}}LayoutConfigurator{{/code}} | ||
28 | ))) | ||
29 | * ((( | ||
30 | {{code language="none"}}IVolatileLayoutConfig{{/code}} | ||
31 | |||
32 | * | ||
33 | |||
34 | use {{code language="none"}}LayoutConfigurator{{/code}} | ||
35 | |||
36 | * | ||
37 | |||
38 | to set global options | ||
39 | |||
40 | {{code language="java" theme="Eclipse" linenumbers="true"}} | ||
41 | IVolatileLayoutConfig#setValue(prop, value) | ||
42 | --> | ||
43 | LayoutConfigurator#configure(KGraphElement.class).setProperty(prop, value) | ||
44 | {{/code}} | ||
45 | ))) | ||
46 | * {{code language="none"}}IDiagramLayoutManager{{/code}} -> {{code language="none"}}IDiagramLayoutConnector{{/code}} | ||
47 | * ((( | ||
48 | {{code language="none"}}LayoutManagerService{{/code}} -> {{code language="none"}}LayoutConnectorsService{{/code}} | ||
49 | ))) | ||
50 | * ((( | ||
51 | {{code language="none"}}LayoutListeners{{/code}}: | ||
52 | |||
53 | {{code language="java" theme="Eclipse" linenumbers="true"}} | ||
54 | DiagramLayoutEngine.INSTANCE.addLayoutTerminatedListener(new DiagramLayoutEngine.ILayoutTerminatedListener() { | ||
55 | --> | ||
56 | LayoutConnectorsService.getInstance().addLayoutListener(new ILayoutListener() { | ||
57 | {{/code}} | ||
58 | ))) | ||
59 | * ((( | ||
60 | {{code language="none"}}KimlUtil.loadDataElements(...){{/code}} -> {{code language="none"}}GraphDataUtil.loadDataElements(...){{/code}} | ||
61 | ))) | ||
62 | |||
63 | Perhaps of lesser interest: | ||
64 | |||
65 | * We now depend on Google Guava 15 instead of 10. | ||
66 | |||
67 | == LayoutOptions == | ||
68 | |||
69 | For the moment, see [[this >>url:https://rtsys.informatik.uni-kiel.de/confluence/questions/20153317/answers/20153320||shape="rect"]]confluence question. | ||
70 | |||
71 | (% style="display: none;" %) | ||
72 | ((( | ||
73 | 521 | ||
74 | ))) |