最近由于实习需要,一直在研究GMF,就写下博客记录这其中走过的弯路吧,欢迎留言讨论,本人尚是新手,欢迎指正。
对于GMF初步,网上有很多资料,这里就不赘述了。在实现一个缺省的GMF项目过程中,也遇到了一些问题,比如:
1 创建的图形错乱,比如我从Tool中拖出的是And节点,创建出来却是Or节点,这是由于在Map模型中Node Mapping的Tool属性没有设置好造成的,对Node Mapping节点选择相应的tool即可解决这个问题。
2 对于连接的定义,http://www.blogjava.net/xiaoxiaoleemin/archive/2007/05/06/115632.html中指出GMF中的Link有两个,分别是基于Type的和基于Reference的。我一开始使用的是基于Type的link,但是一直出错,拖出来即创建了该类的实例,后来才知道是在graph模型中定义了形状为rectangle;后来尝试了使用基于Reference的link,也频繁出错,经过修改ecore模型,终于运行成功,下面贴上ecore模型图:
当然这个模型并不完善,若是所有节点的连接都想共用一个连接,可以参考此模型。
在创建graph模型和tool模型的过程中,对于节点选择And Or BasicEvent InterEvent,对于连接则只需选择Node下的Connection即可。
3 完成缺省模型的创建后,需要对其做出相应配置。下一步的目标是更换小图标以及创建的图形,目前只完成了更换小图标部分,可参考http://gmfsamples.tuxfamily.org/wiki/doku.php?id=gmf_tutorial3,下一章我将结合自身例子翻译之后贴上来。对于图形形状的更改,目前还没有完成,就先这样。
欢迎大家留言讨论以及指导!