New GEF/GMF Enhancement 'Sketch' Proposed
The Sketch project has been proposed as an open source Eclipseproject under the Technology Container Project.
Sketch aims to enrich interaction with Graphical Editing Framework (GEF) and Graphical Modeling Framework (GMF) editors by providing an API that will allow users to insert GEF/GMF elements through a touch/tablet device; and a basic exemplary editor for shapes such as Squares, Triangles and Circles.
The idea is that the user will draw the representation of an element on the editor's area, which will then be interpreted into an actual element. It it proposed that the API will learn from the user's input, allowing it to become more accurate, the more it is used. If the API cannot interpret the user's representation of an element, it will open a short dialogue with the user. Currently, the user has to select a tool from the editor's palette, in order to add a new element to the diagram.
The Sketch API is targeted primarily at editors with a large GEF palette. It proposes enabling users to draw and connect the elements inside the editor's area, with their own gestures.
Sketch consists of three parts: a sketch Tool, a Recognizer and a sketch Bank/database. It integrates with GEF through through the SketchTool, which observes the user's clicks and drags and creates a visual feedback on the editor using a chain of algorithms. Once the sketch is complete, SketchTool passes the points to the SketchManager, which in turn passes those points onto SketchElementRecognizer and updates the editor.
The Sketch team aim to complete an initial build within a month of the project being approved.