Comment #1 on issue 888 by alexandr...@gmail.com: MondrianViewBuilder should support a better zOrder http://code.google.com/p/moose-technology/issues/detail?id=888
The content of the mail sent today:
I agree with you Doru. Two weeks ago I have seen Emmanuel Pietriga (INRIA guy) who has designed ZVTM. There is plenty of good ideas in it. One that I like is about managing the z-index. In ZVTM, different strategies can be plugged to compute the z-index. I took this idea for Roassal.
A view or a any graphical element can now have an instance of ROZOrdering that gives a zIndex to each added element. Here is an example:
-=-=-=-=-=-=-=-=-=-=-=-= view raw zOrdering: (ROZOrdering new at: 5 put: #isEdge; at: 10 put: #isNotEdge). view shape label text: #yourself. view nodes: (1 to: 20). view edges: (1 to: 20) from: [:x | x // 2] to: 1. view edges: (1 to: 20) from: [:x | x // 3] to: 2. view edges: (1 to: 20) from: [:x | x // 5] to: #yourself. view edges: (1 to: 20) from: [:x | x // 7] to: #yourself. view dominanceTreeLayout. -=-=-=-=-=-=-=-=-=-=-=-=
ROZOrdering also support dynamically computed zIndex, such as: -=-=-=-=-=-=-=-=-= view raw zOrdering: (ROZOrdering new at: [ :element | element depth ] put: true). -=-=-=-=-=-=-=-=-=
This means that the zIndex is based on the nesting of the element. Currently this does not quite work since the zOrdering is not passed along the nesting. For the Mondrian DSL, we need a default ROZOrdering, probably based on the nesting depth.
Any comment?