般若菩提(丁丁)  

 

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

 

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

 

eclipseGEF相关项目说明。

 

各项目的简介:

 

 

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


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


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


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

 

各项目依赖关系:

 

 

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

EMF: Model管理层

Draw2D: 二维图形展现

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

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

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

posted on 2005-11-28 17:41  般若菩提  阅读(5769)  评论(1编辑  收藏  举报