Automatic Layout For Complex Diagramm Is Coming To Eclipse
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.
How it works
ELK relies on a robust data structure to represent graphs and annotate them with layout configuration information. It provides an infrastructure to connect automatic layout algorithms to Eclipse-based graphical editors. Default connections for GMF- and Graphiti-based often work for editors with little need for customization.
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)
Showtime
This presentation will introduce the Eclipse Layout Kernel and explain the usual steps to enable automatic layout for your editor through the use of a simple Java API:
An overview of available layout algorithms
Out-of-the-box editor support for GMF
How to configure automatic layout to your needs
Examples of what people do with automatic layout
ELK proves to be useful in several use cases, such as the automatic generation of diagrams or tidying up existing diagrams. ELK is still in its early stages. Its predecessor, KIELER Layout, is still available until the first version of ELK is released.
Christoph Daniel Schulze, Tristan Faure