ConvertedValue.st
author Claus Gittinger <cg@exept.de>
Sat, 12 May 2018 14:23:45 +0200
changeset 4088 bbf9b58f99c8
parent 2222 e376d56f37a5
child 3855 1db7742d33ad
permissions -rw-r--r--
#FEATURE by cg class: MIMETypes class changed: #initializeFileInfoMappings class: MIMETypes::MIMEType added: #asMimeType #isCHeaderType #isCPPSourceType #isCSourceType

"{ Package: 'stx:libview2' }"

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.5 2006-09-15 18:02:35 cg Exp $'
! !