The Eclipse Graphical Editing Framework (GEF)

Author: Dan Rubel, Jaime Wren & Eric Clayberg
Publisher: Addison-Wesley
Pages: 312
ISBN: 978-0321718389
Aimed at: Java programmers
Rating: 4
Pros: Good coverage of Draw2D
Cons: Runs out of steam without explaining GEF framework adequately
Reviewed by: Harry Fairhead

If you want to use GEF to create graphical editors, is this the book you need?

This isn't a book every Java programmer will want to read. It is an introduction to the Graphical Editing Framework (GEF) in Eclipse. The GEF can be used to create drag-and-drop graphical editors that can be run in the Eclipse framework. This book doesn't explain anything about creating an Eclipse plug-in, so you need to read up on this topic if you plan is to create something that extends Eclipse - see my review of Eric Clayberg's Eclipse Plug-ins, a new edition of which is due to be published in 2012.


Banner

 

GEF is composed of three parts - Draw2D, Zest and GEF - yes the project has the same name as one of the frameworks. The book starts off with a short overview of GEF, complete with examples of what you can do with it.

Then it moves on to consider Draw2D. This is where the tutorial which runs though the book begins. The authors use Draw2D to start a genealogy editor. Draw2D occupies the next seven chapters,as we work our way through figures, z-order, layout managers, connectors, layers, viewports etc. What this means is that Draw2D takes up about half of the book. You can argue that Draw2D isn't the most sophisticated part of GEF and so leaving only half of the book to cover the Zest and GEF frameworks isn't a good idea.

Chapter 8 discusses GEF models and Chapter 9 introduces Zest viewers. We reach GEF in Chapter 10 with an overview of the GEF plug-in. GEF is needed if you want to create drag-and-drop style editors and this is probably what most programmers will want to do. As GEF has an MVC structure, after an overview, Chapter 11 concentrates on the View then Chapter 12 describes how to turn the Genealogy diagram into a full editor. The final chapter looks at how to work with commands.

While the general concepts of how GEF works are described many of the specifics are glossed over and you are left to read the code to find out how to do things. After reading the last four chapters I really didn't have much idea how to work with GEF. I struggled to see how it was all supposed to work.

At the end of the day, if you are looking for a book explaining GEF, this is very much better than nothing at all. On the topic of Draw2D it is very good indeed, but it seems to run out of steam when it reaches the main topic for any programmer wanting to implement a full editor for some new graphical language or designer.

So a great book for beginning Eclipse programmer, but it doesn't cover enough to save you the headache of working a lot of things out for yourself. 

 

Banner


Core Java for the Impatient, 3rd Ed

Authors:  Cay S. Horstmann 
Publisher: Addison Wesley
Pages: 576
ISBN: 9780138052102
Print: 0138052107
Kindle: B0B8RZZBDJ
Audience: Smart programmers wanting in-depth coverage
Rating: 4.8
Reviewer: Mike James

The key to this book is the word "impatient" in the title. What does this m [ ... ]



Seriously Good Software

Author: Marco Faella
Publisher: Manning
Date: March 2020
Pages: 328
ISBN: 978-1617296291
Print: 1617296295
Kindle: B09782DKN8
Audience: Relatively experienced Java programmers
Rating: 4.5
Reviewer: Mike James
Don't we all want to write seriously good software?


More Reviews

Last Updated ( Tuesday, 29 November 2011 )