一种基于 EMF 模型的在 GEF 中判断创建连接线有效性的方法
2010-04-02 00:00:00 来源:WEB开发网核心提示: GEF工作原理GEF 采用的是 MVC 架构,其架构图如图1所示,一种基于 EMF 模型的在 GEF 中判断创建连接线有效性的方法(2),GEF一般和 EMF 结合使用,EMF 负责生成模型, 这个 XMI 文件一般作为一种中间格式来保存,当我们想要按照自己的格式来保存各个模型和它们之间的关系时
GEF工作原理
GEF 采用的是 MVC 架构,其架构图如图1所示。GEF一般和 EMF 结合使用,EMF 负责生成模型。MVC 的各个部分都是树状结构的,并且是一一对应关系。其中 EditPart 充当控制器的角色,里面可以使用各种 EditPolicy,而 EditPolicy 的具体实现有时需要调用 Command 工具集类;而通过 draw2d 绘制的图形充当视图的角色。 具体的工作流程为:
EditPartFactory 会针对每个模型创建一个对应的EditPart;
在每个 EditPart 内部会创建与模型对应的视图,即显示的图形;
当模型的属性改变后,会通知 EditPart 它的属性变化情况;
EditPart 会根据模型属性的变化更新视图的显示;
当需要在模型间建立某种关联关系时,用 Command 在两个图形间建立一条连接线。该连接线也是一个模型,所以针对该连接线的一些操作可以重复以上1)—4)步。
当图形化设计完后进行保存,后台调用的是 EMF 的保存机制,将各个模型和它们之间的关系保存成 EMF 自定义的 XMI 格式(各个模型保存时是并列的结构,它们之间的关系是通过属性来标识,具体的关系要在设计时确定)。 这个 XMI 文件一般作为一种中间格式来保存,当我们想要按照自己的格式来保存各个模型和它们之间的关系时(比如说树状结构),最好的办法就是对 EMF 保存的 XMI 文件进行二次 XML 处理。
图 1. GEF 的 MVC 架构图
查看原图(大图)
- ››基于IP地址的vsftp服务器
- ››基于MySQL 水平分区的优化示例
- ››基于CentOS5的Linux下pptp和openvpn的搭建及配置
- ››基于JavaScript的网页版塔防游戏
- ››基于Android平台 QQ大战360手机游戏爆红
- ››基于Windows Azure的云计算应用设计
- ››基于AES算法实现对数据的加密
- ››基于SoPC目标板Flash编程设计的创建及应用
- ››基于SolidWarks齿轮机构的运动分析与仿真
- ››基于Windwos Server 2008故障转移群
- ››基于JavaScript的REST客户端框架
- ››基于JavaScript和CSS的Web图表框架横向对比
更多精彩
赞助商链接