On 14 Dec 2009, at 18:52, Simon Denier wrote:
OK we are almost there ... one last hitch (see test code below). if
I dont add allowNil the text browser only shows text if all 6 lists
have a selection. I want to be able to have a list without
selection (= no metric), so I added allowNil, but that always shows
the text nilnilnilnilnilnil . How do I fix this? Thanks in advance!
| browser |
browser := GLMTabulator new.
browser row: #selections; row: #selectionStatus.
browser showOn: #selections; using: [browser custom: AMUI new
propertiesSelector2 ].
browser showOn: #selectionStatus;
from: #selections->#selCwidth;
from: #selections->#selCheight;
from: #selections->#selAwidth;
from: #selections->#selAheight;
from: #selections->#selMwidth;
from: #selections->#selMheight;
using: [browser text display: [ :cw :ch :aw :ah :mw :mh | ch
asString, cw asString , ah asString, aw asString, mh asString, mw
asString]; allowNil ].
Usually one inserts a when: clause to activate the pane when a
specific parameter is not nil (because at least one should be not
nil to display something). But in your case it seems different: the
status is always active, but it should filter the nil in its
display: block
Something like (warning, not tested!)
using: [browser text display: [ :cw :ch :aw :ah :mw :mh | {cw. ch.
aw. ah. mw. mh} select: #notNil thenCollect: #asString ]; allowNil ].
Thanks for helping out, but the problem remains the same: the
parameters passed to the block are *always* nil when I allowNil, and
when I dont allowNil the browser only displays the parameters when all
6 lists have a selection. a when: does not help here (in either of
both cases).
Anybody got any other ideas?
--
Johan Fabry
jfabry(a)dcc.uchile.cl -
http://dcc.uchile.cl/~jfabry
PLEIAD Lab - Computer Science Department (DCC) - University of Chile