Graphiti - a Graphical Tooling Infrastructure

Eclipse provides a modeling infrastructure evolving around the Eclipse Modeling Framework (EMF) for which offering graphical representations and editing possibilities is essential.

Graphiti is an Eclipse-based graphics framework that enables rapid development of state-of-the-art diagram editors for domain models. Graphiti can use EMF-based domain models very easily but can deal with any Java-based objects on the domain side as well.

The objectives of the Graphiti project are the following:

  • Provide an easy to use and well structured plain Java API for building graphical tools
  • Provide documentation and tutorials for doing so
  • Limit the dependencies of the framework to an absolute minimum to support RCP-like scenarios
  • Provide optional components beyond the RCP use case to ease e.g. IDE integration
  • Provide the ability to use any existing layout algorithms for auto layouting a diagram

CPL Plan Driven Procurement

Flat learning curve

Graphiti completely hides platform dependent technologies like GEF and Draw2D at its API. The user deals with a plain Java API and Graphiti specific objects. This simply hides all the nuts and bolts underneath.

Fast and easy development of graphical editors for various domain models

First results in the form of running editors can be reached with very low effort by using the provided default implementations and the strong framework. In further steps the editor can be incrementally refined and improved.

Common look and feel with sensible defaults

User interactions for Graphiti tools were designed in close co-operation with usability specialists leading to a state-of-the-art behavior of the tool right out of the box. In case the default behavior is not suitable for the tool, it can be freely adapted to specific needs.

Option to support different platforms

Diagrams are defined platform independently, enabling using a different rendering engine (e.g. for a Flash Web Ui). Currently Graphiti only supports Eclipse, but the framework itself is open for other platforms as well. Nevertheless platform specifics (like color dialog, font dialog, etc.) can be integrated.

Accessibility

Graphiti enables its users to build accessible tools that allow motion-impaired and vision-impaired people to use these tools. Graphiti provides full keyboard access to all functionality, supports themes like the high contrast mode and allows users to enlarge the visual representation of diagrams.

and much more...


Read the documentation

Join the discussion at the forum

About this project
Incubation
Incubation

Graphiti is in the Incubation Phase.

New and Noteworthy

Graphiti 0.9.0 is released as part of the Eclipse Indigo release train and available for download. See the downloads section for the locations.

The service release 0.8.2 of Graphiti is available within the Indigo SR2 service release. See the downloads section for details.