All my previous use of layouts with the Roassal API has been of the form..
ROSomeLayout on: rawview elements.
where elements returns both ROElement and ROEdge.
This has never been a problem until I do...
ROForceBasedLayout on : rawview elements
which fails in doExecute since ROEdge does not understand #center.
This might not have been noticed earlier since the tests send only elements,
and the only other use is by ROMondrianExample where
ROMondrianFrame>>applyLayout
uses 'self nodes' which returns only elements, eg....
ROMondrianFrame>>nodes
^ (elements select: [ :el | el class ~~ ROEdge ]) asArray
So should the caller of a layout _required_ to send only ROElements to a
layout (which may clutter user code)
or perhaps now that there is ROAbstractComponent, ROView>>elements might
return only ROElements,
with ROView>>components returning both ROElement and ROEdge ?
(except I think you wanted to minimise the dependency of separate
ROElement/ROEdge.
Or perhaps ROLayout>>on: might filter out ROEdge(s) ?
cheers -ben
Show replies by date