Layout Improvement in Diagram Editors by Automatic Ad-hoc Layout - Maier, Sonja; Minas, Mark (Electronic Communications of the EASST, 2012)
Layout, in the context of diagram editors, is the positioning of diagram components on the screen. Editor users enjoy automatic layout, but they usually like to control the layout at runtime, too. Our pattern-based layout approach allows for automatic and user-controlled layout at the same time: The diagram editor may automatically apply layout patterns to diagram parts based on syntactic rules provided by the editor developer, but editor users may also select diagram parts and then apply layout patterns to them. For instance, user-selected components may be aligned horizontally and remain aligned even after diagram modifications. This paper describes continued work on pattern-based layout. We present automatic ad-hoc layout which combines automatic and user-controlled layout in a new way. While automatic layout is syntax-based and must be specified by the editor developer in advance, automatic ad-hoc layout is solely based on the current diagram layout. Whenever the layout engine detects a situation where a pattern may be applied with no or only small diagram changes, this layout pattern is automatically applied. For instance, if a set of components is almost horizontally aligned on the screen, the horizontal alignment pattern is automatically applied to these components. Such an editor behavior is known from so-called snap lines in commercial diagram editors. Automatic ad-hoc layout generalizes on these manually programmed layout solutions and offers many additional layout features. This paper describes the concept of automatic ad-hoc layout as well as its integration into a diagram editor framework and discusses issues of this new layout approach.