Graphical editors are a popular means to visualize concepts and architectures through the design of a diagram. More and more solutions follow this approach, among them Papyrus, Sirius, or Capella. However, for diagrams to be useful, their elements have to be carefully positioned. Only then do they convey their intended meaning quickly and accurately.
While critical, positioning the elements manually is a very time-consuming and complex task that involves systematic compliance with the syntactical constraints of the diagram. The Eclipse Layout Kernel (ELK) project aims to free the user from this burden by providing highly customizable and sophisticated layout features.
- Automatic layout integration in your editor
- Arbitrarily complex layout operations and configurations (from automated/default to manual/custom)
- Numerous layout options (spacing, alignment, margins, edge routing, edge label placement, port placement, size constraints, ...)
- Set of pre-defined algorithms (layered, tree, force, ...) and integrated external layout libraries (OGDF, Graphviz)
Following up the first general introduction at EclipseCon Europe 2015, this talk will focus on the major new developments since then. In particular, we will touch upon the following topics:
- The new central graph data structure (the core of ELK)
- The new format for specifying meta data of layout algorithms
- The APIs for connecting graphical diagrams with ELK
- Demo: How to use ELK in your editor or viewer