ValueHolder.st
author claus
Wed, 03 May 1995 20:15:57 +0200
changeset 67 e48bf03eb059
parent 66 6ee963fd8e27
child 68 43b867285d01
permissions -rw-r--r--
Initial revision
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
62
194eb0590b1e Initial revision
claus
parents:
diff changeset
     1
ValueModel subclass:#ValueHolder 
194eb0590b1e Initial revision
claus
parents:
diff changeset
     2
	 instanceVariableNames:'value changeMsg changeReceiver'
194eb0590b1e Initial revision
claus
parents:
diff changeset
     3
	 classVariableNames:''
194eb0590b1e Initial revision
claus
parents:
diff changeset
     4
	 poolDictionaries:''
66
claus
parents: 62
diff changeset
     5
	 category:'Interface-Support'
62
194eb0590b1e Initial revision
claus
parents:
diff changeset
     6
!
194eb0590b1e Initial revision
claus
parents:
diff changeset
     7
194eb0590b1e Initial revision
claus
parents:
diff changeset
     8
!ValueHolder class methodsFor:'instance creation'!
194eb0590b1e Initial revision
claus
parents:
diff changeset
     9
194eb0590b1e Initial revision
claus
parents:
diff changeset
    10
with:anObject
194eb0590b1e Initial revision
claus
parents:
diff changeset
    11
    ^ (super new) value:anObject
194eb0590b1e Initial revision
claus
parents:
diff changeset
    12
!
194eb0590b1e Initial revision
claus
parents:
diff changeset
    13
194eb0590b1e Initial revision
claus
parents:
diff changeset
    14
newString
194eb0590b1e Initial revision
claus
parents:
diff changeset
    15
    ^ self with:''
194eb0590b1e Initial revision
claus
parents:
diff changeset
    16
!
194eb0590b1e Initial revision
claus
parents:
diff changeset
    17
194eb0590b1e Initial revision
claus
parents:
diff changeset
    18
newBoolean
194eb0590b1e Initial revision
claus
parents:
diff changeset
    19
    ^ self with:false
194eb0590b1e Initial revision
claus
parents:
diff changeset
    20
! !
194eb0590b1e Initial revision
claus
parents:
diff changeset
    21
194eb0590b1e Initial revision
claus
parents:
diff changeset
    22
!ValueHolder methodsFor:'accessing'!
194eb0590b1e Initial revision
claus
parents:
diff changeset
    23
194eb0590b1e Initial revision
claus
parents:
diff changeset
    24
onChangeSend:selector to:someone
194eb0590b1e Initial revision
claus
parents:
diff changeset
    25
    changeMsg := selector.
194eb0590b1e Initial revision
claus
parents:
diff changeset
    26
    changeReceiver := someone
194eb0590b1e Initial revision
claus
parents:
diff changeset
    27
!
194eb0590b1e Initial revision
claus
parents:
diff changeset
    28
194eb0590b1e Initial revision
claus
parents:
diff changeset
    29
value:anObject
194eb0590b1e Initial revision
claus
parents:
diff changeset
    30
    |oldValue|
194eb0590b1e Initial revision
claus
parents:
diff changeset
    31
194eb0590b1e Initial revision
claus
parents:
diff changeset
    32
    oldValue := value.
194eb0590b1e Initial revision
claus
parents:
diff changeset
    33
    value := anObject.
194eb0590b1e Initial revision
claus
parents:
diff changeset
    34
    self changed:#value.
194eb0590b1e Initial revision
claus
parents:
diff changeset
    35
    changeReceiver notNil ifTrue:[
194eb0590b1e Initial revision
claus
parents:
diff changeset
    36
	changeMsg notNil ifTrue:[
194eb0590b1e Initial revision
claus
parents:
diff changeset
    37
	    changeReceiver perform:changeMsg
194eb0590b1e Initial revision
claus
parents:
diff changeset
    38
	]
194eb0590b1e Initial revision
claus
parents:
diff changeset
    39
    ]
194eb0590b1e Initial revision
claus
parents:
diff changeset
    40
!
194eb0590b1e Initial revision
claus
parents:
diff changeset
    41
194eb0590b1e Initial revision
claus
parents:
diff changeset
    42
value
194eb0590b1e Initial revision
claus
parents:
diff changeset
    43
    ^ value
194eb0590b1e Initial revision
claus
parents:
diff changeset
    44
! !