technical information for GEF developers

This is the one-stop shop for documentation regarding Draw2d and GEF. There are several articles as well as other links available here that explain how GEF and Draw2d work. Apart from what's available here, the Javadocs for the Draw2d and GEF projects and the integrated help in Eclipse are good sources of information. You can also check out the FAQs and Gotchas on our main page for more help.


The following articles have been written by the GEF Team or other members of the Eclipse community.  Contributions are welcome and encouraged.

Using GEF with EMF Chris Aniszczyk (IBM) June 8, 2005
The Graphical Editing Framework (GEF) provides a framework for creating visual editors while being model agnostic. In most cases, people bring their own model which tend to be based on Plain Old Java Objects (POJOs). An alternative using POJOs is the Eclipse Modeling Framework (EMF), which provides many features for manipulating models that aren't found in POJOs. The purpose of this article is to build upon the shapes example provided by GEF using the Eclipse Modeling Framework (EMF) and to provide an introduction using EMF based models in GEF based editors.
A Shape Diagram Editor Bo Majewski (Cisco) December 8, 2004
Graphical Editing Framework (GEF) provides a powerful foundation for creating editors for visual editing of arbitrary models. Its effectiveness lies in a modular build, fitting use of design patterns, and decoupling of components that comprise a full, working editor. To a newcomer, the sheer number and variety of concepts and techniques present in GEF may feel intimidating. However, once learned and correctly used, they help to develop highly scalable and easy to maintain software. This article aims to provide a gentle yet comprehensive introduction to GEF. It describes a shape diagram editor - a small, fully functional test case of core concepts.
Building a Database Schema Diagram Editor with GEF Phil Zoio (Realsolve Solutions) September 27, 2004
GEF is a very powerful framework for visually creating and editing models. With a small initial investment, even the relative Eclipse novice can be quickly up and running, building applications with graphical editing capabilities. To illustrate, this article uses a relational database schema diagram editor with a deliberately simplified underlying model, but with enough bells and whistles to show some of the interesting features of GEF at work.
Display a UML Diagram using Draw2D Daniel Lee (IBM) August 25, 2003
The Graphical Editing Framework (GEF) ships with a painting and layout plug-in called Draw2D. Draw2D provides figures and layout managers which form the graphical layer of a GEF application. This article focuses only on the use of Draw2D to render a simple UML class diagram. While Draw2D can be used for standalone purposes, it is not an editing framework. Most applications will use the GEF plug-in as the editing layer.
Using Native Drag and Drop with GEF Eric Bordeau (IBM) August 25, 2003
Native drag and drop provides the ability to drag data from one GUI object to another GUI object, which could potentially be in another application. GEF allows access to the operating system's underlying drag and drop infrastructure through SWT. This article will provide an in-depth look at GEF's drag and drop functionality and show some simple examples of how to take advantage of this API.
Create an Eclipse-based Application using the Graphical Editing Framework Randy Hudson (IBM) July 29, 2003
This article describes the initial steps involved in creating an Eclipse-based application using the Graphical Editing Framework (GEF). GEF has been used to build a variety of applications for Eclipse, including state diagrams, activity diagrams, class diagrams, GUI builders for AWT, Swing and SWT, and process flow editors. Eclipse and GEF are both open source technologies. They are also included in IBM's WebSphere Studio Workbench.
Slides from EclipseCon 2005
Future Articles
  Votes Abstract
2 Coordinate Systems in Draw2D – Randy Hudson (IBM)
Customizing the GEF Palette – Pratik Shah (IBM)
Accessibility in GEF – Pratik Shah (IBM)
Submit additional ideas to the mailing list.

External Links
The following are links to some external sites that provide more information about GEF. The GEF team does not verify all of the postings on these sites. Nevertheless, they are usually good sources of information. To report any other links that can go here, post a note on the GEF newsgroup.
  Link Information
IBM Redbook IBM's Redbook provides detailed information and walks you through creating a simple GEF-based plug-in.
Eclipse Wiki Lots of good information here. In particular, the GEF description.
SWT/JFace In Action A book that can provide more information about Draw2d/GEF.
Observe Eclipse This site has several Draw2d and GEF tutorials in Japanese.
eclipseteam Another site, this time in German.