GEF (MVC)

GEF (MVC) is interactive model-view-controler framework, which fosters the implementation of SWT-based tree and Draw2d-based graphical editors for the Eclipse Workbench UI.

GEF Snapshots

Overview

The GEF (MVC) plug-in adds editing behavior on top of SWT (Tree, TreeItem) or Draw2d and allows to create rich tree-based and graphical editors for the Eclipse Workbench UI. The purpose of this framework is to:

  • Facilitate the display of any model graphically (using SWT Tree/TreeItem or Draw2d figures)
  • Handle all kind of interactions originating from mouse and keyboard events.
  • Provide a integration with the Eclipse Workbench UI (toolbar, outline, property view)

GEF is completely application neutral and provides the groundwork to build almost any editor application, including but not limited to: activity diagrams, GUI builders, class diagram editors, state machines, and even WYSIWYG text editors.

Features

  • Tools like Selection, Creation, Connection and Marquee tools 
  • A Palette for displaying those tools 
  • Handles for resizing objects and bending connections 
  • Two types of GEF Viewers (Graphical and Tree) 
  • A Controller framework for mapping the business Model to a View 
  • Plug-in policies for mapping interactions with the view to changes in the model 
  • Various implementations for showing feedback and adding selection handles 
  • Various request types and tools or actions that send these requests to the controllers 
  • Undo/Redo support via Commands and a CommandStack