I should add, the underlying requirement for this is so the user can
drag the the ROElements to different positions and using ROFocusView
retains the user layout, whereas putting the ROFocusView inside
#andShow: wipes out the user's layout.
Ben Coman wrote:
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).
--------------------
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev