GEF学习笔记(一) eclipse的GEF相关项目说明

首先、感谢八进制的辛勤劳动和奉献。这几天开始对GEF发生兴趣,八进制的GEF系列对我学这些的帮助很大入门很快。自己也就顺手把周末学习的东西记录下来。帮助后来学人。我会把这几天所学陆续写出希望大家支持。目前、正在为八进制例子发愁,我对NodePart增加了ResizeEditPolicy,但是不知为何鼠标拖动时有个灰色的区域在随着变化,但鼠标释放时,NodeFigure的尺寸不发生变化,是否是因为在refreshVisuals中固化了Size,代码学习中….

eclipse的GEF相关项目说明。

各项目的简介:

Draw2D:建立了2维的图形库(树状图形部件Figure),负责显示2维的图形展示。

GEF:(Graphical Editing Framework)建立标准的MVC构架,代码利用Draw2D作为自己的View部分,主要代码实现复杂的树状(于Model分别对应)   的控制器。实现的框架具有很高的可复用等特性,例如:将图形部件功能分解为多个EditPolicy,这样使用者可以通过installEditPolicy接口来定制,以及扩充自己的某一功能特征。

EMF: (Eclipse Modeling Framework)首先在一个轻量级项目以及项目初期开发,Model常常采用拥有Property的Java对象来简单明了表示【即 Plain Old Java Objects (POJOs)】。EMF定义了一套Ecore元模型,使得Model具有易于维护、易于扩充、易于数据交换等特性的Model Framwork。因此、在实际中大型的项目中往往会采用Draw2D+GEF+EMF的方式来实现整体的MVC模式。例如:ROSE的最新版本 IBM.Rational.Software.Architect就是采用了这种构架。

GMF:(Graphical Modeling Framework )使用了GEF和EMF,建立了两个之间的桥梁框架,同时实现了一些领域上的典范应用,如UML图,甘特图,脑图等。(项目正在进行中这些功能还未完备。可以用来参考以实现自己的一个标准的GEF+EMF的应用)。

各项目依赖关系:

如上图:使用者可以有以下几种用法:

EMF: Model管理层

Draw2D: 二维图形展现

Draw2D + GEF: 二维图形的简单编辑模块

Draw2D + GEF + EMF:二维图形的编辑模块

Draw2D + GEF + EMF + GMF:基于GMF提供的图形编辑功能之上扩展

时间: 2024-09-16 01:54:19

GEF学习笔记(一) eclipse的GEF相关项目说明的相关文章

GEF学习笔记(五) GEF的EditPart的职能分离

接下来我们以一个故事的方式来解决第三篇遗留下来问题: 已存在一个三角图形EditPart,我们想重用它,但是我们还需要增加(或删去)边框可调整的特性,如何保证无需重新建立一个新的EditPart,或者做出丑陋的继承,当功能不断组合后,出现无数子EditPart类? 如何由框架自动完成Undo及Redo功能? 话说在某个跨国时尚媒体集团中国区广告部门(这是一家主营平面广告的广告公司,听说董事长是个年仅办百的老头GraphicalEditor先生,来自赫赫有名的eclipse基金财团),有目前主要有

GEF学习笔记(四) GEF 消息转义 ___ Tool的作用

接着上一节: 我们先解决如下问题: 在界面操作过程中,我们希望面对的是边框调整事件,图形移动事件,或者是编辑文本事件,而不是原始的鼠标和键盘事件? 术语定义: 系统UI事件:一般由某些计算机人机交互硬件发出信号,并且经操作系统理解后产生的事件,例如:原始的鼠标的移动.点击和键盘的敲击事件等. UI业务语义事件: 由系统UI事件和其它UI业务语义事件触发,由UI业务代码理解后产生的事件(操作系统不可理解,同时无任何领域的业务语义),如2D图形的尺寸调整,2D图形的点击,2D图形的移动. (其实不仅

GEF学习笔记(六) GEF的EditPart的职能分离

GraphicalEditPart先生当天安排了部门及会议计划.经过EditPart部门紧张有奏的准备会议讨论的资料,第三天.按时8:30开会. GraphicalEditPart先生还如往常,准时提前5分钟坐在会议室前边角上.他喜欢部门的小伙子们,虽然这些小伙子们做事情时常有些不周,但是他更欣赏他们的活力和富有创造激情.所以.每每开会时,他更愿坐在旁边听这些小伙子们的意见,"相比较当个威武的军队长官,我更意是一个严格又和蔼的优秀教练"GraphicalEditPart先生常常如此提醒

GEF学习笔记(三) 模拟GEF设计思路,解剖GEF2

包含GEF的Editor创建时序图 以eclipse网站上例子A Shape Diagram Editor为例

GEF学习笔记(二) 模拟GEF设计思路,解剖GEF 1

GEF如同其他的一些framework一样,是一个复杂庞大(有点夸张)的,当我们想使用驾驭它时,就必须全面的理解其整体构架及其运作过程.这需要我们的毅力和敏锐.旅途开始了-. GEF主要的任务是针对2D图形编辑操作,如下图. 为了使GEF能够广泛的用于种类繁多2D图形编辑领域,GEF就必须建立一个严格的易扩充/易组合/易重用的MVC框架(当然这种分解细化功能对象的方法思想,我们可以用在其它的地方,其它领域.其他语言如C#上). 那么如果设计 这个 严格的MVC框架(对于Model是严格的独立,它

AJax 学习笔记一(XMLHTTPRequest对象)_AJAX相关

现在很多公司都在做标准的静态页面,为了增强客户的体验效果,经常会涉及到AJax效果,而设计AJax使用的一种重要技术(工具)就是XMLHttpRequest对象了.今天学习了点关于XMLHttpRequest对象的一些方法和属性,有点体会,在这里也想记录起来. 1.何为XMLHttpRequest 定义:XMLHttp是一套可以在Javascript.VbScript.Jscript等脚本语言中通过http协议传送或从接收XML及其他数据的一套API.XmlHttp最大的用处是可以更新网页的部分

java学习笔记之eclipse+tomcat 配置_java

计划开始学习java.第一步 1.在servers窗口中新建server 2.弹出的界面选择对应的tomcat版本 3.这里是关键,已存在的项目不要选择过去,否则最后生成的server配置无法修改server locations 备注说明:虽然网上找到了不少在server配置上右键点击clean之后可以设置server locations的说法,但是我本机测试不是这个效果. 4.在server配置上双击 5.弹出的server locations这个时候可以配置了,选择第二项,使用tomcat,

bootstrap学习笔记之初识bootstrap_javascript技巧

Bootstrap是一款目前非常流行的前端框架,简单的说,就是html,css,javascript的工具集,我们可以用bootstrap搭建出简洁,清新的网站或软件界面,有了bootstrap这个利器后台开发人员再也不用发愁前台界面的搭建了. bootstrap是一Twitter推出的一个开源的用于前端开发的工具包,是一个CSS/HTML框架.bootstrap提供了优雅的html和css规范,它即是由动态css语言Less写成.是Github上的热门开源项目. 它基于jQuery框架开发,在

Bootstrap3学习笔记(三)之表格_javascript技巧

在上篇文章给大家介绍了 BootStrap3学习笔记(一)之网格系统       Bootstrap3学习笔记(二)之排版 只需要在table标签上使用.table类,就可以使用bootstrap默认的表格样式 如果需要行背景有交替变化,可以这样设定: 复制代码 代码如下: <table class="table table-striped"> 如果需要边框,可以这样设定: 复制代码 代码如下: <table class="table table-borde