将文本模型转换成图形模型,是想最终获得一张整洁清晰、一目了然的图,并将之用到文档之中。因此依赖的第三方图形模型编辑器的图形布局功能没有做好,平面图形布局就成了一个问题。
第三方图形编辑器是用GEF写的,去搜索了解了GEF的框架架构后,就去debug了编辑器的源码。试图找出合适的接口,可以在图形模型转换完毕后,可以立即得到一张布局合理的图,也就是图形的autolayout.
Autolayout分为statemachinediagram与sequencediagram,前者使用了编辑器自带的autolayout功能来实现,代码中只需调用一下就ok了,而后者因为在图形的生成上会更加严格,所以使用了其中的Editpart(即MVC中的C)和使用算法来计算的图形线条先后顺序来为其实现layout。
总结所得:
-
GEF的MVC架构的理解与使用
-
Layout算法
-
Sequence Diagram Layout 重构