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 | ))) |