一、概述 
 Graphical Editing Framework (GEF) 是目前为止介绍的最震撼的Eclipse工具了。GEF使用 
基于SWT插件Draw2d建立图形环境。对MVC (model-view-controller) architecture感兴趣的赶快研究源代码吧。 
 先看一个例子震撼一下: http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/gef-home/images/LogicExample.jpg?cvsroot=Tools_Project
    
GEF可以用于开发以下应用:
 
  
flow builders,  
GUI builders,  
UML diagram editors (such as work-flow and class modeling diagrams),  
WYSIWYG text editors like HTML 
  
参考文档: 
 The GEF FAQ 
Display a UML Diagram using Draw2D Daniel Lee (IBM) August 25, 2003 
Using Native Drag and Drop with GEF Eric Bordeau (IBM) August 25, 2003 
Create an Eclipse-based Application using the Graphical Editing Framework Randy Hudson (IBM) July 29, 2003 
  
二、GEF主要包括两个部分: 
 GEF和Draw2d 
 The Draw2d plug-in provides a standalone rendering and layout package for an SWT Canvas.  It includes common shapes and layouts that can be assembled to render almost anything. 
 Features  
 Double buffered painting and optimized layouts   
Various Figure and Layout implementations   
Simple event routing to figures (mouse and keyboard)   
Border support on figures   
Cursor and tooltip support   
Connection anchoring, routing and decorating   
Multiple layers   
Flexible coordinate systems  
Overview window (thumbnail with scrolling)   
 The GEF plug-in uses Draw2d for rendering, but adds a rich MVC editing framework on top of it.  This framework helps ensure that most graphical applications look and behave in a similar way. 
 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  
  
三、下载和使用 
 GEF-SDK-3.0.1.zip 
GEF-examples-3.0.1.zip 
 安装后核实6个plugins:  
org.eclipse.draw2d - The Draw2d plug-in  
org.eclipse.gef - The GEF plug-in (requires Draw2d)  
org.eclipse.draw2d.doc.isv - ISV integrated Help  
org.eclipse.gef.doc.isv - ISV integrated Help  
org.eclipse.gef.example.logic - A GEF example that shows containers, nodes, and connections.  
org.eclipse.gef.example.flow - A GEF example of a flow editor.  
 注意后面两个例子,当你安装以后,就可以新建两种文件,logic 和 flow .
  
 
  |