Hi Alex!
I took a brief look at it and will play with it more tomorrow but it looks great! Especially the RTMultiLine>>block: message makes it is much more flexible for weird use cases (e.g. wanting to have control points while maintaining orthogonality etc).
Perhaps we don't even need to add extra option for control points per se and just let it be handled from outside? E.g. something like
---------------------------------
v := RTView new.
e1 := (RTEllipse new size: 30) elementOn: 'A'.
e2 := (RTEllipse new size: 30) elementOn: 'B'.
ctrlShape := RTEllipse new size: 10; color: (Color purple alpha: 0.3).
ctrls := (ctrlShape elementsOn: (1 to: 2)).
v
add: e1;
add: e2;
addAll: ctrls.
v elements @ RTDraggable.
e := RTEdge from: e1 to: e2.
ctrls do: [ :el | el addConnectedEdge: e ].
shape := RTMultiLine new color: Color blue.
shape block: [ :fromPoint :toPoint |
| points |
points := ctrls collect: [ :el | el position ].
points��
addFirst: fromPoint;
addLast: toPoint.
points asArray.
].
e + shape.
v add: e.
RTCircleLayout on: v elements.
v open.
-------------------------
Thanks!
Peter
p.s. should I be CC-ing to moose-dev list? not sure what the proper mailing policy is