With Glamour, to enable targeting the focus of a Roassal View based on
the list selection in another pane, I hacked up the following Workspace
script. Is there a more elegant way to achieve this? In particular, one
that avoids the need to for the 'viewHack' variable?
-------------
| browser viewHack |
browser := GLMTabulator new.
browser column: #list; column: #drawing.
browser transmit
to: #list;
andShow: [ :a | a list ].
browser transmit
to: #drawing;
andShow: [ :a | a roassal painting:
[ :moview :collection |
collection do: [ :x | moview view add: (ROElement
spriteOn: x) + ROLabel + ROBox white ].
ROVerticalLineLayout on: moview view elements.
viewHack := moview view.
] ].
browser transmit
from: #list port:#selection;
to: #drawing;
transformed:
[ :x | | foundElements |
viewHack elements do: [ :el | ROUnhighlightElement on: el ].
targetElement := viewHack elements at: x.
ROFocusView on: targetElement.
ROHighlightElement on: targetElement color: Color red.
viewHack signalUpdate
].
browser openOn: #(1 2 3 4 5 6).
--------------------