4 research outputs found

    A Pattern-Based Layout Algorithm for Diagram Editors

    Get PDF
    The diagram editor generator framework DIAMETA utilizes meta-model-based language specifications and supports free-hand as well as structured editing. We presented a generic layout algorithm that meets the demands of this kind of editors. The algorithm combines two concepts, constraint satisfaction and attribute evaluation, to a powerful methodology for specifying the layout for a particular visual language. As the layout specification for this algorithm is rather complex, we encapsulated basic functionality into reusable patterns. This paper describes this pattern concept of the generic layout algorithm, and shows how they simplify the layout specification of a specific language

    A Static Layout Algorithm for DiaMeta

    Get PDF
    The diagram editor generator framework DiaMeta utilizes meta-model-based language specifications and supports free-hand as well as structured editing. In this paper we present a layouting approach that is especially well suited for a static layout. It is based on the layout algorithm presented in a previous paper that uses the two concepts constraint satisfaction and attribute evaluation. This algorithm is combined with graph transformations and the result is a natural way of describing the layout of visual languages. As an example we use a simplified version of Sugiyama's algorithm, applied to statechart diagrams

    Layout Specification on the Concrete and Abstract Syntax Level of a Diagram Language

    Get PDF
    A visual language consists of several visual component types, e.g. states or transitions in DFAs. Nowadays, the language itself is usually specified via a meta model. To make a diagram look nice, a layouter is required. This layouter may either operate on the concrete syntax level, i.e., on the visual components, or on the abstract syntax level, i.e., on the model instance. In this paper we present an approach that is capable of specifying a flexible layout on both, the concrete as well as the abstract syntax level of a diagram. The approach uses pattern-based transformations. Besides structured editing, it also supports free-hand editing, a challenging task for the layouter. We introduce how such a specification can be created and examine the advantages and shortcomings of each of either operating on the concrete syntax level or on the abstract syntax level

    Layout Improvement in Diagram Editors by Automatic Ad-hoc Layout

    Get PDF
    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
    corecore