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.
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.
- 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