ValueHolder subclass:#ConvertedValue
instanceVariableNames:'conversion'
classVariableNames:''
poolDictionaries:''
category:'Interface-Support-Models'
!
!ConvertedValue class methodsFor:'documentation'!
documentation
"
a ConvertedValue translates changes on input via a conversion block
to the output. For example, if you want to have a toggle to change the
color inputs of some other labels, use a convertedValue which translates
true/false into colors:
|toggle label converter|
converter := ConvertedValue new
conversion:[:input | input == true
ifTrue:[Color red]
ifFalse:[Color blue]];
value:false.
toggle := Toggle label:'change color'.
toggle controller pressChannel:converter.
label := Label label:'see me changing'.
label foregroundChannel:converter.
toggle open.
label open.
"
!
examples
"
examples to be added.
"
! !
!ConvertedValue methodsFor:'accessing'!
conversion:aBlock
conversion := aBlock
!
initialValue:someValue
self value:someValue
!
value:input
^ super value:(conversion value:input)
! !
!ConvertedValue class methodsFor:'documentation'!
version
^ '$Header: /cvs/stx/stx/libview2/ConvertedValue.st,v 1.4 1996-05-10 16:42:53 cg Exp $'
! !