Hi,
Consider this script:
view := RTMondrian new.
view shape label.
view nodes: { 1 . 2 }.
view edges objects: { 1 }; connectFrom: [ :x | x + 1 ].
view
The expectation is to create 2 nodes and an edge between them. However, the
script does not create any edges.
The reason is that the collection that is passed to objects: is also used
to search the source and target nodes. This is a problem, because this type
of filtering is rarely needed.
I believe we should keep objects: to only denote the input set of objects
that need to be iterated in order to produce the edges. And, if needed, we
can add another selector specifically only for filtering (like
restrictEdgeSourceToObjects: / restrictEdgeTargetToObjects: ).
What do you think?
Cheers,
Doru
--
www.tudorgirba.com
"Every thing has its own flow"