工作流设计器之图层


第 6 章 图层

GEF中将整个Viewport分为多个图层,不同的图形放在不同的图层中,图层之间是有先后顺序的,排列在前面的图层中的图形可能会覆盖排列在后面的图层中的图形。

6.1. 主要图层

0106-01.png

主要图层

图 6.1. 主要图层


Gef里一共有六个图形,mask, dragging, handle, node, connection和grid。

通常情况,我们会用到四个图层,它们分别是LAYER_DRAGGING, LAYER_HANDLE, LAYER_NODE, LAYER_CONNECTION。

拖拽节点和连线时使用的临时图形会显示在LAYER_DRAGGING中。

修改节点和连线时使用的临时图形会显示在LAYER_HANDLE中。

所有节点对应的图形会显示在LAYER_NODE中。

所有连线对应的图形会显示在LAYER_CONNECTION中。

LAYER_MASK位于所有图形的最前面,估计本意是用来进行统一的事件监听,但是我们这里偷懒没有做统一事件判断的功能,所以就没有用到这一层。。

LAYER_GRID位于所有图形的最后,用来显示辅助绘图的网格,这一功能也还没有实现,所以这一层暂时也没有用到。

6.2. 变更

目前在进行图形设计的时候遇到了一次问题,因此考虑将handle与dragging层,connection与node层调换位置。


变更结果0106-02.png

图 6.2. 变更结果


这样在出现父子节点的情况时,子节点的连线就不会被父节点遮盖住。

这样也会优先进行handle的处理,不会出现希望修改节点大小时,很容易变成拖拽后面的节点。

这些问题都是因为父子节点的情况引起的,如果这些修改不会对其他功能造成影响,就会在未来的版本进行图形位置的变换。


上一篇 下一篇

评论



分享