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 :展示将新建图形的大小。
本文分享自:http://zhongkem.iteye.com/blog/419093
分享到:
相关推荐
**GEF学习体会与经验总结** GEF,全称Graphical Editing Framework,是Eclipse组织开发的一个图形编辑框架,主要用于构建可自定义的图形化编辑工具。它为开发者提供了丰富的API和工具,使得创建复杂的图形用户界面...
GEF 全称 Graphical Editor Framework 。它是一个基于 eclipse 的图形化编辑框架。通过它,开发人员可以方便的以图形化的方式(而非文本的方式)展示和编辑模型。
【GEF研究总结】 GEF(Graphical Editor Framework)是一个专为开发图形化编辑应用程序的框架,它使得开发者可以通过图形化方式展示和编辑模型,从而提高用户体验。在各种图形化编辑应用中,如UML类图编辑器、XML...
**Gef 学习总结** Gef,全称为 Graph Editor Framework,是一个强大的图形编辑框架,主要用于构建可视化的图形编辑工具。在IT行业中,Gef通常与EMF(Eclipse Modeling Framework)结合使用,用于创建复杂的建模和...
描述进一步说明了这个包中包含的具体内容,如“GEF_Tutorial”、“GEF实例”、“入门教程”以及“GEF-whole-upload”,这些都暗示了这是一个全面的学习资源,旨在帮助用户从基础到实践全方位掌握GEF。 GEF,全称为...
在gef中,转折线的实现涉及到PathFigure和Segment类的使用。PathFigure用于定义一个图形的轮廓,而Segment则代表了轮廓中的一段线段。通过添加和调整Segment实例,我们可以构建出具有转折点的线条。 实现gef转折线...
这是我自己在学习GEF的时候做的一些总结。 1、GEF中的概念比如Command,Tool,Request等等。 2、GEF中使用到的几种设计模式。 3、GEF中对鼠标键盘事件处理的机制、流程。
标题“将GEF应用到Web上,PPT”表明这是一个关于如何在Web环境中使用GEF(图形编辑框架)技术的演示文稿。GEF,全称Graphical Editing Framework,是Eclipse基金会的一个开源项目,主要用于构建图形用户界面(GUI)...
**GEF(Graphical Editing Framework)** 是一个用于构建图形化编辑器的开源框架,它在Eclipse平台上广泛使用,特别是在开发复杂的图形用户界面和工具时。本资料集旨在为初学者提供一个全面的入门指南,帮助理解GEF...
这可能涉及到以下知识点: - **图元(Figure)和图形层次结构**:了解如何创建自定义图元,以及如何组织它们形成层次结构。 - **绘图板(Canvas)**:学习如何设置绘图板,处理用户输入,并在其中绘制图元。 - **...
学习这个例子,开发者可以了解如何使用GEF创建一个完整的图形编辑环境,包括用户交互、图形绘制和模型管理。这将为开发复杂的图形编辑应用打下坚实的基础。在实践中,可以进一步扩展GEF,例如添加自定义图形元素、...
总结起来,"GEF-SDK-3.6.2 jar"是一个用于图形化编辑的Java库,它是Eclipse平台下开发图形界面的重要工具,特别是在Android ADT中,它极大地简化了Android应用的界面设计工作。通过理解并熟练运用GEF,开发者能够...
开发者可以使用这个文件来更新或安装GEF插件到他们的Eclipse环境中。 4. **plugins**:这个目录通常包含了GEF插件的具体实现。每个子目录代表一个Eclipse插件,包含了对应的JAR文件和其他资源。这些插件扩展了...
工具标签则暗示了这个例子可能涉及到了使用GEF作为开发工具或者集成到其他工具链中的情况。 文件名列表中,尽管没有直接的代码文件,但“Gef.doc”可能是关于GEF的文档,可能包含了对GEF的介绍、使用方法以及例子的...
### GEF开发指南——插件开发关键知识点解析 #### 一、概述 本文将详细介绍《GEF开发指南—插件开发》中涉及的关键知识点。该书深入浅出地讲解了如何利用GEF(Graphical Editing Framework)进行插件开发,特别适合...
本教程主要涉及以下几点关键知识点: 1. **GEF基础概念** GEF的核心是其五层架构,包括Model(模型)、View(视图)、EditPart(编辑部件)、Figure(图形)和Command(命令)。模型负责存储数据,视图负责显示...
### GEF(Graphical Editing Framework)入门教程知识点详解 #### 一、简介 GEF(Graphical Editing Framework),即图形编辑框架,是一种基于Java的技术,它作为Eclipse框架的一部分,由IBM开发。GEF为开发者提供...
在图形编辑框架(GEF,Graphical Editing Framework)中,锚点(Anchor)是一个关键概念,它是连接模型元素之间的连接线在元素上的固定点。在GEF中,锚点的定位直接影响到连接线的形状和行为,特别是当用户通过鼠标...
**GEF教程及DEMO源码详解** ...总结,GEF教程及DEMO源码的学习,不仅能帮助开发者理解图形编辑框架的设计思想,还能掌握实际开发中的关键技术点。通过实践,可以快速上手并开发出满足特定需求的图形编辑工具。