BooleanBlockValue.st
author Claus Gittinger <cg@exept.de>
Mon, 19 May 2008 18:12:11 +0200
changeset 2463 bfec2627f73c
child 2484 d55c4fd22196
permissions -rw-r--r--
initial checkin
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2463
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:libview2' }"
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
BlockValue subclass:#BooleanBlockValue
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
	instanceVariableNames:''
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
	classVariableNames:''
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	poolDictionaries:''
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	category:'Interface-Support-Models'
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
!
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
!BooleanBlockValue methodsFor:'logical operations'!
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
& anotherBooleanValueHolder
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
    "return another valueHolder, which returns the logical and of myself and another valueHolder"
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
    ^ BooleanBlockValue 
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
        forLogical:self and:anotherBooleanValueHolder
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
    "
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
     |b1 b2 a|
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
     b1 := BooleanValueHolder new.
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
     b2 := BooleanValueHolder new.
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
     a := b1 & b2.
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
     b1 value:false.
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
     b2 value:true.
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
     a value.      
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
     b1 value:true.
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
     a value.     
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
    "
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
!
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
not
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
    "return another valueHolder, which returns the logical not of myself"
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
    ^ BooleanBlockValue forLogicalNot:self.
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
    "
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
     |b nb|
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
     b := BooleanValueHolder new.
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
     nb := b not.
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
     b value:true.
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
     nb value.     
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
     b value:false.
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
     nb value.     
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
    "
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
!
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
| anotherBooleanValueHolder
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
    "return another valueHolder, which returns the logical and of myself and another valueHolder"
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
    ^ BooleanBlockValue 
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
        forLogical:self or:anotherBooleanValueHolder
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
    "
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
     |b1 b2 o|
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
     b1 := BooleanValueHolder new.
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
     b2 := BooleanValueHolder new.
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
     o := b1 | b2.
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
     b1 value:false.
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
     b2 value:false.
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
     o value.      
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
     b1 value:true.
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
     o value.     
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
    "
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
! !
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
!BooleanBlockValue class methodsFor:'documentation'!
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
version
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
    ^ '$Header: /cvs/stx/stx/libview2/BooleanBlockValue.st,v 1.1 2008-05-19 16:12:11 cg Exp $'
bfec2627f73c initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
! !