Comment #13 on issue 831 by google....@ben.coman.com.au: Rossal problem with nested node translation to left of 0@0 http://code.google.com/p/moose-technology/issues/detail?id=831
I believe operating as per Comment 12 will be much more intuitive to work with. To expand your test method above, if you present the following to a dozen random programmers, what do you think their answer would be for the position of innerNodes 1, 2 & 3 ?
testDraggingOnTheTopLeftCorner
| view outterNode innerNode1 innerNode2 innerNode3 result | view := ROView new. view @ RODraggable. outterNode := ROElement new. outterNode + (ROBox new extent: 50 @ 50). innerNode1 := ROElement new. innerNode1 + (ROBox blue extent: 10 @ 10). innerNode2 := ROElement new. innerNode2 + (ROBox green extent: 10 @ 10). innerNode3 := ROElement new. innerNode3 + (ROBox red extent: 10 @ 10).
outterNode add: innerNode1. outterNode add: innerNode2. outterNode add: innerNode3. view add: outterNode. " view open "
"Witout dragging" self assert: innerNode1 position = (0 @ 0). self assert: innerNode2 position = (0 @ 0). self assert: innerNode3 position = (0 @ 0).
"Dragging innerNodes" innerNode1 translateBy: -10 @ -10. innerNode2 translateBy: -10 @ -10.