GEF图形编辑框架入门教程

5星 · 超过95%的资源 需积分: 50 3 下载量 128 浏览量 更新于2024-07-30 收藏 1.15MB PDF 举报
"GEF (Graphical Editing Framework) 是一个用于构建图形化编辑器的开源框架,主要用于开发基于Eclipse的富客户端平台(RCP - Rich Client Platform)的应用。本教程适用于初学者,由Epitech的学生Jean-Charles Mammana、Romain Meson和Jonathan Gramain在2007年于INRIA合作编写。教程涵盖的内容包括RCP插件创建、模型建立、图形交互、撤销/重做功能、缩放与快捷键、大纲视图、缩略图视图、上下文菜单以及自定义动作的创建等。" 在深入学习GEF之前,首先理解几个核心概念: 1. **Graphical Editing Framework (GEF)**:这是一个用于构建图形用户界面的框架,尤其适用于创建图形化的编辑工具,如流程图编辑器、UML模型设计器等。GEF提供了丰富的API和类库,可以帮助开发者快速实现复杂的图形编辑功能。 2. **Rich Client Platform (RCP)**:Eclipse RCP是一种构建桌面应用程序的框架,它允许开发者使用Java语言创建功能丰富的、可扩展的应用程序,而无需从零开始构建用户界面。 教程分为多个部分,逐步指导读者掌握GEF的使用: **Part 1: Creation of a RCP plug-in** 这部分介绍了如何创建一个基于Eclipse RCP的插件项目,这是构建任何Eclipse插件的基础。读者将学习到如何配置项目结构,以及如何定义插件依赖。 **Part 2: Creation of the model** 模型是图形编辑器的核心,这部分教导如何定义数据模型,这通常涉及到定义Java类来表示图形元素及其关系。 **Part 3: First interaction with the graph** 讲解如何将模型与图形视图关联,使得模型的改变能在图形上直观地体现出来,同时,图形的修改也能同步更新到模型中。 **Part 4: Undo/Redo** 在图形编辑器中,撤销/重做功能是必不可少的。这部分教如何实现这些功能,让用户的操作可以被记录和恢复。 **Part 5: Zoom and keyboard shortcuts** 这部分涉及图形界面的交互增强,如缩放功能和键盘快捷键的设置,提高用户在编辑过程中的效率。 **Part 6: Outline** 大纲视图提供了另一种查看和导航模型元素的方式,帮助用户快速定位和组织图形元素。 **Part 7: Miniature view** 缩略图视图能让用户鸟瞰整个图形,便于全局布局和调整。 **Part 8: Context menu** 上下文菜单(右键菜单)是添加额外操作的常见方式,这部分教如何定制和绑定图形元素的上下文菜单。 **Part 9: Creating a custom action** 这部分涵盖了创建自定义操作的全过程,包括Wizard创建、命令创建、动作创建和编辑策略的关联。通过自定义动作,开发者可以扩展GEF的功能,实现特定的业务逻辑。 **Wizard creation**:向导(Wizard)是Eclipse中引导用户输入信息的一种交互形式,用于创建或编辑模型元素。 **Command creation**:命令(Command)是Eclipse事件驱动架构的关键,它封装了应用中的操作,可以被触发、撤销或重做。 **Action creation**:动作(Action)是命令的可视化表示,通常与按钮、菜单项等UI元素关联。 **EditPolicy creation**:编辑策略(EditPolicy)定义了图形元素的行为,例如拖放、连接、大小调整等。 **Associate the new EditPolicy with the EditParts**:将新创建的编辑策略关联到编辑部件(EditPart),使得策略在图形编辑中生效。 最后,关于“property activation to update views”,这可能是指当模型属性发生变化时,如何自动更新图形视图。在GEF中,通常通过监听模型变化并调用相应视图的`refresh()`方法来实现这一功能。 通过这个教程,读者将全面了解GEF的使用,并具备开发自己的图形编辑器的能力。由于是英文版,建议有一定英语基础的学习者进行阅读。