ConvValue.st
author Claus Gittinger <cg@exept.de>
Thu, 25 Apr 1996 18:32:07 +0200
changeset 221 ea942fe5dc04
parent 114 e577a2f332d0
child 258 9d218cd753c0
permissions -rw-r--r--
documentation
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
90
claus
parents:
diff changeset
     1
'From Smalltalk/X, Version:2.10.7 on 24-aug-1995 at 8:28:49'                    !
claus
parents:
diff changeset
     2
claus
parents:
diff changeset
     3
ValueHolder subclass:#ConvertedValue
claus
parents:
diff changeset
     4
	 instanceVariableNames:'conversion'
claus
parents:
diff changeset
     5
	 classVariableNames:''
claus
parents:
diff changeset
     6
	 poolDictionaries:''
claus
parents:
diff changeset
     7
	 category:'Interface-Support-Channels'
claus
parents:
diff changeset
     8
!
claus
parents:
diff changeset
     9
claus
parents:
diff changeset
    10
!ConvertedValue class methodsFor:'documentation'!
claus
parents:
diff changeset
    11
claus
parents:
diff changeset
    12
version
114
e577a2f332d0 uff - version methods changed to return stings
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
    13
    ^ '$Header: /cvs/stx/stx/libview2/Attic/ConvValue.st,v 1.3 1995-11-11 16:04:22 cg Exp $'
90
claus
parents:
diff changeset
    14
!
claus
parents:
diff changeset
    15
claus
parents:
diff changeset
    16
documentation
claus
parents:
diff changeset
    17
"
claus
parents:
diff changeset
    18
    a ConvertedValue translates changes on input via a conversion block
claus
parents:
diff changeset
    19
    to the output. For example, if you want to have a toggle to change the
claus
parents:
diff changeset
    20
    color inputs of some other labels, use a convertedValue which translates
claus
parents:
diff changeset
    21
    true/false into colors:
claus
parents:
diff changeset
    22
claus
parents:
diff changeset
    23
	|toggle label converter|
claus
parents:
diff changeset
    24
claus
parents:
diff changeset
    25
	converter := ConvertedValue new
claus
parents:
diff changeset
    26
			conversion:[:input | input == true
claus
parents:
diff changeset
    27
						ifTrue:[Color red]
claus
parents:
diff changeset
    28
						ifFalse:[Color blue]];
claus
parents:
diff changeset
    29
			value:false.
claus
parents:
diff changeset
    30
        
claus
parents:
diff changeset
    31
claus
parents:
diff changeset
    32
	toggle := Toggle label:'change color'.
claus
parents:
diff changeset
    33
	toggle controller pressChannel:converter.
claus
parents:
diff changeset
    34
claus
parents:
diff changeset
    35
	label := Label label:'see me changing'.
claus
parents:
diff changeset
    36
	label foregroundChannel:converter.
claus
parents:
diff changeset
    37
claus
parents:
diff changeset
    38
	toggle open.
claus
parents:
diff changeset
    39
	label open.
claus
parents:
diff changeset
    40
"
claus
parents:
diff changeset
    41
!
claus
parents:
diff changeset
    42
claus
parents:
diff changeset
    43
examples
claus
parents:
diff changeset
    44
"
claus
parents:
diff changeset
    45
    examples to be added.
claus
parents:
diff changeset
    46
"
claus
parents:
diff changeset
    47
! !
claus
parents:
diff changeset
    48
claus
parents:
diff changeset
    49
!ConvertedValue methodsFor:'accessing'!
claus
parents:
diff changeset
    50
claus
parents:
diff changeset
    51
conversion:aBlock 
claus
parents:
diff changeset
    52
    conversion := aBlock
claus
parents:
diff changeset
    53
!
claus
parents:
diff changeset
    54
claus
parents:
diff changeset
    55
initialValue:someValue
claus
parents:
diff changeset
    56
    self value:someValue
claus
parents:
diff changeset
    57
!
claus
parents:
diff changeset
    58
claus
parents:
diff changeset
    59
value:input
claus
parents:
diff changeset
    60
    ^ super value:(conversion value:input)
claus
parents:
diff changeset
    61
! !