GEF教程:构建基于RCP的图形编辑器

需积分: 46 4 下载量 144 浏览量 更新于2024-07-29 收藏 1.93MB PDF 举报
"GEF全称Graphical Editing Framework,是一个用于构建图形化编辑器的开源框架,主要在Eclipse环境中使用。本文档是一份关于如何使用GEF开发图形化编辑器的教程,从创建RCP(Rich Client Platform)项目开始,逐步讲解如何建立并配置依赖,以及创建基于GEF的Editor。 在开始之前,确保你的开发环境配置正确,包括安装了JDK 1.5或更高版本,Eclipse 3.1.0及以上,GEF 3.1.0,Draw2D(包含在GEF中),以及EMF 2.1.0。这些工具和库是构建基于GEF应用的基础。 创建RCP工程的第一步是创建一个新的Plug-in Project。在Eclipse中,选择“Plug-in Project”,为项目命名为“gef.tutorial.stepz”。然后在RichClientApplication选项中选择“Yes”,接着选择“HelloRCP”模板完成工程的初始化。 接下来,需要设置项目的依赖性。打开`plugin.xml`文件,进入dependencies页面,通过Add...功能添加对`org.eclipse.gef`(3.1.0)的依赖。这将使你的项目能够使用GEF提供的图形编辑功能。 创建Editor是GEF应用的核心步骤。因为Editor继承自EditorPart,它不仅提供了一个展示图形的画布,还具备了文件保存机制,包括脏标志(dirty state)处理,即当图形内容被修改后,系统会提示用户保存更改。 在GEF中,通常的做法是将图形元素绘制在Editor上,而不是View。虽然两者在RCP中有所区别,但这里主要关注的是Editor,因为它能更好地处理用户交互和数据持久化。 教程中可能还会涵盖以下内容: 1. 创建和配置EditorPart:定义EditorPart类,实现图形编辑器的基本框架,包括初始化视图、处理用户输入以及响应保存请求等。 2. 使用Model和EMF:通过EMF创建和管理数据模型,这些模型会被GEF用来驱动图形界面的显示和更新。 3. 图形组件和手势:学习如何使用GEF提供的图形组件(如Figure和GraphicalViewer)以及手势(如拖放、缩放、旋转等)来构建交互式编辑环境。 4. 路径和连接:了解如何在图形中创建和管理对象之间的连接,这通常涉及到Edge和ConnectionFigure的概念。 5. 视图和控制器:理解GEF中的MVC模式,如何分离视图逻辑与业务逻辑,以及如何定义控制器来处理用户操作。 6. 自定义行为和扩展:学习如何根据需求扩展GEF的功能,例如添加自定义的绘画策略、工具栏命令或者事件监听。 7. 保存和恢复状态:实现保存编辑器状态到文件,以及在下次打开时恢复状态的功能。 8. 集成到Eclipse工作台:将创建的编辑器集成到Eclipse的工作台,使得用户可以通过菜单、透视图等方式访问和使用。 通过以上步骤,读者将能够掌握使用GEF开发图形化编辑器的基本流程和技术。随着对GEF的理解加深,可以构建更复杂、功能丰富的图形界面应用程序。