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