`
diystyle
  • 浏览: 38094 次
文章分类
社区版块
存档分类
最新评论

GEF中,同一层次不同节点的重叠顺序的设置

阅读更多
在进行GEF进行图形化设计的时候,经常会有这样的需求,即同一个层次中的不同外观的图形,在图形有重叠的时候,经常需要固定他的重叠的顺序,如 当矩形和椭圆的重叠的时候,椭圆必须是出于矩形节点的下方。如果在默认情况下,GEF中的 处理重叠问题是按照在这个层次中的childModel加入的先后顺序来处理的,先加入节点会被后加入的节点覆盖。从AbstractEditPart中的方法refreshChildren 和 AbstractGraphicalEditpart中的方法addChildVisual其实就可以看出来。一开始考虑问题太简单了,以为只需要重载refreshChildren 这个方法或者直接在视图的FreeeFormLayer中的addFigure方法进行处理,呵呵,确实是个幼稚的想法,没有很好的考虑到GEF其实已经很好的体现的MVC设计模式。原来一个很简单的方式就可以实现了,即在吧节点模型加入到当前的Diagram模型的时候,对加入的类型进行排序就可以了,把加入的椭圆置入diagram中的children模型的前端就行了。
分享到:
评论
1 楼 faithful_czx 2009-10-14  
多谢,正好帮我解决了一个类似的问题。

相关推荐

Global site tag (gtag.js) - Google Analytics