Hi Ben,
This is a good question.
I have been struggling with how to solve this for a while now, but did not yet come to a suitable solution. I opened a ticket: http://code.google.com/p/moose-technology/issues/detail?id=884
One possibility would be to allow the Roassal presentation react when a certain port changes: a roassal painting: [:view :entity | ... ] on: #customPort do: [ :view :customValue | ... ]
Cheers, Doru
On 1 Dec 2012, at 17:08, Ben Coman btc@openinworld.com wrote:
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@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Moose-dev mailing list Moose-dev@iam.unibe.ch https://www.iam.unibe.ch/mailman/listinfo/moose-dev
-- www.tudorgirba.com
"Innovation comes in the least expected form. That is, if it is expected, it already happened."