刘寨
精灵王
精灵王
  • UID136
  • 粉丝3
  • 关注2
  • 发帖数31
  • 社区居民
  • 忠实会员
阅读:7584回复:0

GEF入门

楼主#
更多 发布于:2016-08-12 08:53


  什么是GEF?

GEF的英文全称是Graphical Editing Framework,也就是图形化编辑框架。它帮助我们轻松的创建一些模型,并提供富图形化的特性。GEF标准的MVC架构思想如下图所示。

图片:1.png



可以看到,上面最显眼的三个部分就是Model,Controller以及View.这三个部分,也够成了GEF插件开发的核心。
在GEF中,每一个模型都有自己的Editpart,也就是Controller,也有自己的Model,这个Model通常包含了模型的属性以及相关的信息。而Figure则是自己的一种展现方式。
比如经典的两种图形,一种是用于模型的创建,一种用连接模型的连线。
而每一个模型的Editpart都会绑定一些动作,这些动作被放在EditPolicy中,也就是一些动作策略里面。当有属性事件发生时,就会触发这个策略对应的操作,从而修改模型的属性。模型属性会触发一些监听事件,导致图形Figure的重绘。
另外一张图,就是重绘的响应机制。如下图所示:

图片:2.png



这里就不得不提Draw2D了。Draw2D是一种基于SWT的2D绘图框架,它有效的帮助我们完成了图形可视化的工作。
这里面的LWS也就是Draw2D的核心,每次图形的响应时间都会传输到这里,通过分发器找到相应的图形,进行响应。

在GEF可以编辑接近所有的图形,在你的模型中,你既可以简单的修改模型的特性,也可以进行一些复杂的操作。所有的修改操作都符合一般性的操作习惯,比如拖拽,删除,复制,粘贴,或者从菜单或工具栏上触发。
 


学习资源

   第一种就是GEF本身带有的一些的学习文档以及样例。
   GEF SDK在Eclipse的Help里面提供了在线帮助文档。通过查看Draw2D Developers Guide,和GEF Developer Guide可以查阅一些基本的使用指南。
   另外呢,在 http://www.eclipse.org/gef上也有很多GEF的相关资料,比如一些代码,样例以及文档。



  适合GEF的应用程序

GEF可以开发很多种应用程序,几乎对于每一种图形都没有限制。最常见的程序就是建模工具了,比如企业流程、应用模型、以及一些UI界面。
也有很多用于设计报表、网站,表单文档。也可以使用图形化编辑器来修改一些代码的样例,配置,服务器等等。、
有很多优秀的开发产品,比如

Eclipse Desginer
这个工具是基于SWT的设计工具,能够帮助我们可视化的完成一些RCP应用程序UI部分的编辑

图片:3.png

游客

返回顶部