Here is a working version for now:
browser := GLMTabulator new .
browser
with: [:tabulator |
tabulator column: #index; column: #visualization.
tabulator transmit to: #index; andShow: [:a | a list ].
tabulator transmit to: #visualization; andShowIfNone:[ :a |
a roassal
painting: [:view :collection :roassal |
view shape label.
view nodes: collection.
view gridLayout.
roassal on: GLMContextChanged do: [:ann |
ann property = #highlight ifTrue: [
ann oldValue ifNotNil: [
ROUnhighlightElement on: (ann presentation view raw elementFromModel: ann
oldValue)].
ROHighlightElement on: (ann presentation view raw elementFromModel: ann value)
color: Color red ]]]].
tabulator transmit from: #index; to: #visualization port: #highlight
];
openOn: ( 1 to: 20).
Cheers,
Doru
On 1 Dec 2012, at 20:46, Tudor Girba <tudor(a)tudorgirba.com> wrote:
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(a)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(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
_______________________________________________
Moose-dev mailing list
Moose-dev(a)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."