GEF开发详解:可视化框架与Eclipse集成

需积分: 9 8 下载量 150 浏览量 更新于2024-07-20 收藏 388KB PDF 举报
"GEF开发指南 中文版 - GEF (Graphical Editing Framework) 是一套基于 MVC 结构的可视化开发框架,适用于 Eclipse 插件开发。" 在GEF(Graphical Editing Framework)开发中,它主要被设计用于构建图形化编辑器,特别是在Eclipse平台上。GEF的核心理念是通过Model-View-Controller(MVC)架构来实现图形界面与数据模型的解耦。以下是关于GEF开发的一些关键知识点: 1. **何时使用GEF**: GEF适合于需要创建图形界面以表示和编辑数据模型的场合,尤其在开发Eclipse插件时,能够利用Eclipse的生态系统提供丰富的功能和良好的集成。 2. **EditParts**: EditParts是GEF中的核心组成部分,它们是模型与视图之间的适配器。每个EditPart对应于模型中的一个对象,并负责在屏幕上呈现该对象。EditParts不仅管理其对应模型的可视化表示,还处理用户交互,如拖放、选择等。 3. **图形界面**: GEF使用Draw2D库来绘制图形, Draw2D专注于高效的图形绘制和布局,而GEF则在此基础上添加了编辑操作的支持,使得用户能够对图形进行创建、修改和删除等操作。 4. **编辑和编辑策略**: 编辑策略(EditPolicies)是EditParts的一部分,它们定义了特定类型的编辑行为。例如,一个节点的编辑策略可能包含添加子节点、删除节点等操作。 5. **EditPart生命周期**: EditPart有自己的生命周期,包括初始化、创建视图、更新视图以及销毁等阶段。在这些阶段中,EditPart会响应模型的变化并更新视图,或者处理用户的编辑操作。 6. **工具和绘图板**: GEF支持各种用户交互,如鼠标和键盘操作,以及与Eclipse工作台的交互。工具(Tools)是用户与绘图板(Drawing Board)交互的方式,它们触发请求(Request),这些请求随后转化为对模型的命令(Command)。 7. **模型(Model)**: 模型可以是任何持久化的数据,但为了与GEF配合,模型需要具有通知机制,以便在模型变化时通知视图。模型通常与命令(Command)紧密关联,命令用于修改模型,并支持撤销/重做操作。 8. **视图(View)**: 视图是用户可见的部分,包括图形(Figures)和树节点(TreeItems)。在GEF中,这些元素通过EditParts与模型关联。 9. **控制器(Controller) - EditPart**: EditPart作为模型和视图之间的桥梁,它监听模型变化,更新视图,并响应用户编辑操作。EditPolicy是EditPart的助手,帮助处理具体的编辑任务。 10. **Viewers**: EditPartViewer是GEF中的一个重要组件,它管理一组EditParts,提供对它们的布局和导航支持。Viewers允许开发者定义不同类型的视图,如树形视图或表视图,来展示模型数据。 GEF提供了一套完整的框架,用于在Eclipse环境中创建复杂的图形编辑器,它通过封装图形绘制、用户交互和模型管理,简化了开发过程,让开发者可以更专注于业务逻辑和用户体验。