|For any developer thinking of creating a desktop based graphical editor, this is the definitive guide to the most popular graphical framework in Eclipse. With great examples, and in-depth explanations of the entire framework, you'll be a GEF guru having read this book.|
The Graphical Editing Framework (GEF) is one of the most popular projects in the Eclipse eco-system, being used across a number of commercial and open source products. Google's WindowBuilder is one such product - a WYSISWYG editor for SWT, Swing and GWT applications. It's the go-to project for developers who want to create any type of UI builder or UML tool in Eclipse. It's also the basis of two other frameworks, GMF and Graphiti.
GEF is actually made up of three parts - GEF, Draw2D and Zest - and each of these is explained in detail. The book starts with an overview of GEF, before moving onto Draw2D - the lightweight drawing framework. You'll learn the core graphical concepts such as Figures, Layout Managers and Connections.
Then you move on to GEF (which is built on top of Draw2D). GEF is what gives you those palettes along the side, as well as an API for creating really rich interactive diagrams. You first find out about the importance of providing a model in GEFs MVC architecture, and how to hook these models to your diagrams. The next chapter introduces Zest (also build on top of Draw2D).
Later chapters take you through a more detailed look at major GEF classes such as EditParts, Commands, EditPolicies and how to contribute to the palette.
GEF is a big framework, with a number of important components. This book does well to summarise the important parts and give you a kick start to creating a graphical editor. It also serves as a useful reference for developers already familiar with GEF.