1.一般来说可以继承三种EditPart,分别是
org.eclipse.gef.editparts.AbstractGraphicalEditPart 用于一般图形
org.eclipse.gef.editparts.AbstractConnectionEditPart 用于连线
org.eclipse.gef.editparts.AbstractTreeEditPart 用于大纲视图
2.编辑域[EditDomain] :编辑域是一个起到管理作用的类,它绑定了一个编辑器、若干个查看器和若干个工具。因此它定义了真实的编辑器。编辑域还提供一个命令堆栈,用来保存所有执行过的命令,有两点好处:1.可实现重做和不做的操作2.可查看模型是否被改动。
3.
编辑器主要实现以下功能 :
1).需要创建EditDomain。
2).通过EditDomain,访问命令堆栈,为编辑器提供参考[如参考命令堆栈,编辑器决定是否允许存储操作]。
3).实现存储功能。
4).装配图形查看器[GraphicalViewer]。
5).装配调色板[palette]。
6).实现大纲[Outline]的挂接等等。
总结:编辑器利用工厂[EditPart Factory]根据模型创建对应的控制器[EditParts]。在控制器中通过它的设置图形方法来把EditPart与图形对应起来,这样模型、控制器和图形就一一对应了。
4.支持反馈的EditPolicy :
1).SelectionEditPolicy :一个抽象类,它是提供控制器被选择的反馈基础。即当用户在编辑器上选中图形时,相应的图形给以相应的反应以区分选中的和未选中的。要注意的反馈图形被画在反馈层上[LayerConstants.FEEDBACK_LAYER]。有如下方法包括在该类中:
Protected void showFocus()
Protected abstract void showSelection()
protected void showPrimarySelection()
protected void showFocus()
protected abstract void hideSelection()
这几个方法的英文名字表示了它们的含义,这里就不再一一介绍。
2).SelectionHandlesEditPolicy :这个类继承了SelectionEditPolicy,它提供个带控制点[handle]的选择反馈。子类提供了一个控制点的List,该List将修饰被选择的[控制器对应的]图形。GEF中提供了如下继承SelectionHandlesEditPolicy的子类:
1.BendpointEditPolicy :这个类在实现带弯点的连接时,被连接的控制器调用。
2.ConnectionEndpointEditPolicy :在连接的两端展示控制点。
3.NonResizableEditPolicy :阻止用户改变图形大小,并在被选图形上添加一格简单的黑框和在四个边角处设置四个黑色小方框。如图1所示。用户可以改变图形的位置。
4.ResizableEditPolicy :这个类继承NonResizableEditPolicy,在图形的四周添加八个黑色小方框,用来增加改变图形大小功能。
3).GraphicalNodeEditPolicy :这个类提供关于连接的反馈。当用户建立连接,从一个端点拖向另一个端点,GEF通过该类模拟一个连接。这模拟的连接被画在反馈层,它将连接到控制器提供的锚点[Anchor]。
4).LayoutEditPolicy :这是一个抽象类,它用布局管理器[LayoutManager]来放置它的子控制器图形。该类应该提供反馈,一个新元素放到该类对应的图形中的反馈。注意,这里该类对应的图形应该是一个容器图形,即该图形包含子图形。关键方法如下:
1.showLayoutTargetFeedback :这个方法展示当前的操作将放图形在什么位置的反馈。
2.getSizeOnDropFeedback :展示将新建图形的大小。
分享到:
相关推荐
GEF 全称 Graphical Editor Framework 。它是一个基于 eclipse 的图形化编辑框架。通过它,开发人员可以方便的以图形化的方式(而非文本的方式)展示和编辑模型。
**GEF学习体会与经验总结** GEF,全称Graphical Editing Framework,是Eclipse组织开发的一个图形编辑框架,主要用于构建可自定义的图形化编辑工具。它为开发者提供了丰富的API和工具,使得创建复杂的图形用户界面...
【GEF研究总结】 GEF(Graphical Editor Framework)是一个专为开发图形化编辑应用程序的框架,它使得开发者可以通过图形化方式展示和编辑模型,从而提高用户体验。在各种图形化编辑应用中,如UML类图编辑器、XML...
**Gef 学习总结** Gef,全称为 Graph Editor Framework,是一个强大的图形编辑框架,主要用于构建可视化的图形编辑工具。在IT行业中,Gef通常与EMF(Eclipse Modeling Framework)结合使用,用于创建复杂的建模和...
这是我自己在学习GEF的时候做的一些总结。 1、GEF中的概念比如Command,Tool,Request等等。 2、GEF中使用到的几种设计模式。 3、GEF中对鼠标键盘事件处理的机制、流程。
总结起来,"GEF-SDK-3.6.2 jar"是一个用于图形化编辑的Java库,它是Eclipse平台下开发图形界面的重要工具,特别是在Android ADT中,它极大地简化了Android应用的界面设计工作。通过理解并熟练运用GEF,开发者能够...
### 总结 本文详细介绍了如何使用GEF和EMF构建一个简单的“Hello World”示例。通过本教程,您应该能够理解GEF的基本结构和工作原理,以及如何在Eclipse RCP应用中集成GEF。此外,还介绍了如何设置项目依赖、创建...
**GEF教程及DEMO源码详解** ...总结,GEF教程及DEMO源码的学习,不仅能帮助开发者理解图形编辑框架的设计思想,还能掌握实际开发中的关键技术点。通过实践,可以快速上手并开发出满足特定需求的图形编辑工具。
#### 七、总结 本文详细介绍了《GEF开发指南—插件开发》中的关键知识点,包括GEF的基本概念、开发环境的搭建、RCP项目的创建、Editor的实现细节等。通过阅读本书,读者不仅能够了解GEF的基本原理,还能掌握如何利用...
**总结** GEF是一个强大的图形编辑框架,借助Java语言和Eclipse环境,开发者可以高效地构建图形界面应用程序。通过深入学习和实践,你可以掌握创建复杂图形编辑器的技巧,从而提升软件开发的效率和用户体验。这个...
总结来说,"GEF入门版中文教程 源码"是一个面向初学者的宝贵资源,它涵盖了GEF的主要概念和技术,结合源码实践,可以帮助开发者快速掌握图形化编辑器的开发技术,并为后续的RCP应用开发打下坚实基础。无论你是希望...
总结一下,"基于gef框架Demo"是一个用于学习和实践Eclipse Gef框架的资源集合,它涵盖了Java编程、图形化用户界面设计和Eclipse插件开发等多个方面。通过探索这个Demo,开发者可以深入理解Gef的工作原理,并能够运用...
总结来说,本文件详细说明了如何在GEF环境下创建一个简单的HelloWorld应用程序,包括RCP工程的建立、GEF结构的创建、Editor的实现等关键步骤。同时,还强调了使用合适JDK版本的重要性,以及对Windows平台用户的特定...
总结来说,gef工程代码是一个强大的学习资源,对于想要提升调试技能和深入理解代码运行机制的开发者来说,是不可多得的宝藏。通过深入研究和实践,你将能够掌握gef的精髓,从而在日常开发和调试工作中更加游刃有余。
GEF提供了一些预定义的布局策略,如网格布局、自由布局等,同时支持自定义布局。 **使用GEF开发图形化编辑器** 在使用GEF开发图形化编辑器时,开发者通常会经历以下步骤: 1. **定义模型**:首先,你需要定义模型...
#### 四、总结 Eclipse EMF与GEF是两个非常强大的工具,它们分别解决了模型定义和图形化编辑的问题。通过这两者的结合使用,可以极大地提高开发效率,特别是在开发复杂的基于模型的应用程序时。无论是初学者还是有...
描述中的“GEF小组的ppt,展示了如何将GEF应用到Web上的一些思路和做法。”进一步强调了这是一份由GEF开发团队创建的文档,它不仅会讲解理论概念,还会提供实际操作步骤,帮助开发者了解如何将GEF的功能和设计理念...
总结来说,GEF-runtime是Eclipse平台上用于图形化编辑的强大工具,而GEF-runtime-3.6.2版本带来了性能提升、稳定性增强以及可能的新功能,为开发者提供了更完善的开发体验。结合"Eclipse"环境,开发者可以高效地构建...