InterestConverter.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Thu, 19 Jan 2012 11:46:00 +0000
branchjv
changeset 17911 a99f15c5efa5
parent 17910 8d796ca8bd1d
child 17966 8b5df02e171f
permissions -rw-r--r--
Updated with /trunk
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5272
1dad283c5256 copyrights
Claus Gittinger <cg@exept.de>
parents: 2717
diff changeset
     1
"
1dad283c5256 copyrights
Claus Gittinger <cg@exept.de>
parents: 2717
diff changeset
     2
 COPYRIGHT (c) 1996 by Claus Gittinger / eXept Software AG
1dad283c5256 copyrights
Claus Gittinger <cg@exept.de>
parents: 2717
diff changeset
     3
              All Rights Reserved
1dad283c5256 copyrights
Claus Gittinger <cg@exept.de>
parents: 2717
diff changeset
     4
1dad283c5256 copyrights
Claus Gittinger <cg@exept.de>
parents: 2717
diff changeset
     5
 This software is furnished under a license and may be used
1dad283c5256 copyrights
Claus Gittinger <cg@exept.de>
parents: 2717
diff changeset
     6
 only in accordance with the terms of that license and with the
1dad283c5256 copyrights
Claus Gittinger <cg@exept.de>
parents: 2717
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
1dad283c5256 copyrights
Claus Gittinger <cg@exept.de>
parents: 2717
diff changeset
     8
 be provided or otherwise made available to, or used by, any
1dad283c5256 copyrights
Claus Gittinger <cg@exept.de>
parents: 2717
diff changeset
     9
 other person.  No title to or ownership of the software is
1dad283c5256 copyrights
Claus Gittinger <cg@exept.de>
parents: 2717
diff changeset
    10
 hereby transferred.
1dad283c5256 copyrights
Claus Gittinger <cg@exept.de>
parents: 2717
diff changeset
    11
"
6056
5406d407a9bb better displayString
Claus Gittinger <cg@exept.de>
parents: 5272
diff changeset
    12
"{ Package: 'stx:libbasic' }"
5406d407a9bb better displayString
Claus Gittinger <cg@exept.de>
parents: 5272
diff changeset
    13
1074
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
Object subclass:#InterestConverter
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    15
	instanceVariableNames:'destination selector aspect'
1074
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
	classVariableNames:''
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
	poolDictionaries:''
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
	category:'Interface-Support-Models'
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
!
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
!InterestConverter class methodsFor:'documentation'!
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
5272
1dad283c5256 copyrights
Claus Gittinger <cg@exept.de>
parents: 2717
diff changeset
    23
copyright
1dad283c5256 copyrights
Claus Gittinger <cg@exept.de>
parents: 2717
diff changeset
    24
"
1dad283c5256 copyrights
Claus Gittinger <cg@exept.de>
parents: 2717
diff changeset
    25
 COPYRIGHT (c) 1996 by Claus Gittinger / eXept Software AG
1dad283c5256 copyrights
Claus Gittinger <cg@exept.de>
parents: 2717
diff changeset
    26
              All Rights Reserved
1dad283c5256 copyrights
Claus Gittinger <cg@exept.de>
parents: 2717
diff changeset
    27
1dad283c5256 copyrights
Claus Gittinger <cg@exept.de>
parents: 2717
diff changeset
    28
 This software is furnished under a license and may be used
1dad283c5256 copyrights
Claus Gittinger <cg@exept.de>
parents: 2717
diff changeset
    29
 only in accordance with the terms of that license and with the
1dad283c5256 copyrights
Claus Gittinger <cg@exept.de>
parents: 2717
diff changeset
    30
 inclusion of the above copyright notice.   This software may not
1dad283c5256 copyrights
Claus Gittinger <cg@exept.de>
parents: 2717
diff changeset
    31
 be provided or otherwise made available to, or used by, any
1dad283c5256 copyrights
Claus Gittinger <cg@exept.de>
parents: 2717
diff changeset
    32
 other person.  No title to or ownership of the software is
1dad283c5256 copyrights
Claus Gittinger <cg@exept.de>
parents: 2717
diff changeset
    33
 hereby transferred.
1dad283c5256 copyrights
Claus Gittinger <cg@exept.de>
parents: 2717
diff changeset
    34
"
1dad283c5256 copyrights
Claus Gittinger <cg@exept.de>
parents: 2717
diff changeset
    35
1dad283c5256 copyrights
Claus Gittinger <cg@exept.de>
parents: 2717
diff changeset
    36
!
1dad283c5256 copyrights
Claus Gittinger <cg@exept.de>
parents: 2717
diff changeset
    37
1074
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
documentation
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
"
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
    instances convert update messages into messages as setup via
8436
4a9e5fbe67e5 Fix typo in comment
Stefan Vogel <sv@exept.de>
parents: 7347
diff changeset
    41
    #onChangeSend:to:.
1074
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
    This is a temporary kludge and will be replaced by a more intelligent
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
    DependencyCollection class in the future.
1291
74d61fd64c4a documentation
Claus Gittinger <cg@exept.de>
parents: 1098
diff changeset
    44
74d61fd64c4a documentation
Claus Gittinger <cg@exept.de>
parents: 1098
diff changeset
    45
    [author:]
74d61fd64c4a documentation
Claus Gittinger <cg@exept.de>
parents: 1098
diff changeset
    46
        Claus Gittinger
1074
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
"
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
!
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
examples
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
"
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    52
  #onChangeSend:to / #retractInterestsIn:
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    53
  interested in any change:
1315
85a27a31a690 examples
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
    54
                                                                        [exBegin]
1074
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
    |p b|
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
1422
9a0b792f2953 showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 1315
diff changeset
    57
    b := [Transcript showCR:'--> notification: point has changed'].
1074
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
    p := Point new.
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
    p onChangeSend:#value to:b.
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
    Delay waitForSeconds:1.
1422
9a0b792f2953 showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 1315
diff changeset
    62
    Transcript showCR:'sending change ...'.
1074
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
    p changed.
2716
08cf98cf1a53 comment
Claus Gittinger <cg@exept.de>
parents: 1801
diff changeset
    64
    Transcript showCR:'retracting ...'.
1074
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
    p retractInterestsFor:b.
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
    Delay waitForSeconds:1.
1422
9a0b792f2953 showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 1315
diff changeset
    67
    Transcript showCR:'sending change ...'.
1074
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
    p changed.
1315
85a27a31a690 examples
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
    69
                                                                        [exEnd]
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    70
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    71
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    72
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    73
  #expressInterestIn:for:sendBack / #retractInterestIn:for:
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    74
  interested in a specific change:
1315
85a27a31a690 examples
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
    75
                                                                        [exBegin]
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    76
     |p b|
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    77
1422
9a0b792f2953 showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 1315
diff changeset
    78
     b := [Transcript showCR:'the point changed'].
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    79
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    80
     p := Point new.
1422
9a0b792f2953 showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 1315
diff changeset
    81
     Transcript showCR:'interest in #foo'.
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    82
     p expressInterestIn:#foo for:b sendBack:#value.
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    83
     p x:1.
1422
9a0b792f2953 showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 1315
diff changeset
    84
     Transcript showCR:'now changing #bar'.
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    85
     p changed:#bar.
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    86
     Transcript cr.
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    87
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    88
     Delay waitForSeconds:1.
1422
9a0b792f2953 showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 1315
diff changeset
    89
     Transcript showCR:'now changing #foo'.
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    90
     p changed:#foo.
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    91
     Transcript cr.
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    92
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    93
     Delay waitForSeconds:1.
1422
9a0b792f2953 showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 1315
diff changeset
    94
     Transcript showCR:'no more interest in #foo'.
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    95
     p retractInterestIn:#foo for:b.
1422
9a0b792f2953 showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 1315
diff changeset
    96
     Transcript showCR:'now changing #foo'.
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    97
     p changed:#foo.
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    98
     Transcript cr.
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    99
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   100
     Delay waitForSeconds:1.
1422
9a0b792f2953 showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 1315
diff changeset
   101
     Transcript showCR:'interest in #bar now'.
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   102
     p expressInterestIn:#bar for:b sendBack:#value.
1422
9a0b792f2953 showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 1315
diff changeset
   103
     Transcript showCR:'now changing #foo'.
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   104
     p changed:#foo.
1422
9a0b792f2953 showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 1315
diff changeset
   105
     Transcript showCR:'now changing #bar'.
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   106
     p changed:#bar.
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   107
     Transcript cr.
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   108
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   109
     Delay waitForSeconds:1.
1422
9a0b792f2953 showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 1315
diff changeset
   110
     Transcript showCR:'interest in #foo now'.
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   111
     p expressInterestIn:#foo for:b sendBack:#value.
1422
9a0b792f2953 showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 1315
diff changeset
   112
     Transcript showCR:'now changing #foo'.
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   113
     p changed:#foo.
1422
9a0b792f2953 showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 1315
diff changeset
   114
     Transcript showCR:'now changing #bar'.
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   115
     p changed:#bar.
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   116
     Transcript cr.
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   117
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   118
     Delay waitForSeconds:1.
1422
9a0b792f2953 showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 1315
diff changeset
   119
     Transcript showCR:'no more interests'.
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   120
     p retractInterestsFor:b.
1422
9a0b792f2953 showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 1315
diff changeset
   121
     Transcript showCR:'now changing #foo'.
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   122
     p changed:#foo.
1422
9a0b792f2953 showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 1315
diff changeset
   123
     Transcript showCR:'now changing #bar'.
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   124
     p changed:#bar.
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   125
     Transcript cr.
1315
85a27a31a690 examples
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
   126
                                                                        [exEnd]
1074
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
"
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
! !
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
!InterestConverter class methodsFor:'instance creation'!
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
destination:anObject selector:aSelector
2717
c1cd0f1920a4 comments
Claus Gittinger <cg@exept.de>
parents: 2716
diff changeset
   133
    "create & return an interestConverter, which sends aSelector
c1cd0f1920a4 comments
Claus Gittinger <cg@exept.de>
parents: 2716
diff changeset
   134
     to anObject when a change notification arrives"
c1cd0f1920a4 comments
Claus Gittinger <cg@exept.de>
parents: 2716
diff changeset
   135
1074
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
    ^ self basicNew destination:anObject selector:aSelector
2717
c1cd0f1920a4 comments
Claus Gittinger <cg@exept.de>
parents: 2716
diff changeset
   137
c1cd0f1920a4 comments
Claus Gittinger <cg@exept.de>
parents: 2716
diff changeset
   138
    "Modified: 21.5.1997 / 11:59:08 / cg"
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   139
!
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   140
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   141
destination:anObject selector:aSelector aspect:aspect
2717
c1cd0f1920a4 comments
Claus Gittinger <cg@exept.de>
parents: 2716
diff changeset
   142
    "create & return an interestConverter, which sends aSelector
c1cd0f1920a4 comments
Claus Gittinger <cg@exept.de>
parents: 2716
diff changeset
   143
     to anObject when a change notification for aspect arrives"
c1cd0f1920a4 comments
Claus Gittinger <cg@exept.de>
parents: 2716
diff changeset
   144
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   145
    ^ self basicNew destination:anObject selector:aSelector aspect:aspect
2717
c1cd0f1920a4 comments
Claus Gittinger <cg@exept.de>
parents: 2716
diff changeset
   146
c1cd0f1920a4 comments
Claus Gittinger <cg@exept.de>
parents: 2716
diff changeset
   147
    "Modified: 21.5.1997 / 11:59:26 / cg"
1074
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
! !
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
!InterestConverter methodsFor:'accessing'!
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
2717
c1cd0f1920a4 comments
Claus Gittinger <cg@exept.de>
parents: 2716
diff changeset
   152
aspect
c1cd0f1920a4 comments
Claus Gittinger <cg@exept.de>
parents: 2716
diff changeset
   153
    "return my aspect (if any)"
c1cd0f1920a4 comments
Claus Gittinger <cg@exept.de>
parents: 2716
diff changeset
   154
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   155
    ^ aspect
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   156
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   157
    "Created: 8.3.1996 / 23:00:37 / cg"
2717
c1cd0f1920a4 comments
Claus Gittinger <cg@exept.de>
parents: 2716
diff changeset
   158
    "Modified: 21.5.1997 / 11:59:43 / cg"
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   159
!
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   160
1074
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
destination
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
    ^ destination
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
    "Created: 7.3.1996 / 10:57:01 / cg"
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
!
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
destination:dest selector:sel
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
    destination := dest.
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
    selector := sel
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
    "Created: 7.3.1996 / 10:49:13 / cg"
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   172
!
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   173
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   174
destination:dest selector:sel aspect:a
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   175
    destination := dest.
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   176
    selector := sel.
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   177
    aspect := a
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   178
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   179
    "Created: 8.3.1996 / 22:42:03 / cg"
7347
1c4e0be2c4f0 add access method for selector
penk
parents: 6056
diff changeset
   180
!
1c4e0be2c4f0 add access method for selector
penk
parents: 6056
diff changeset
   181
1c4e0be2c4f0 add access method for selector
penk
parents: 6056
diff changeset
   182
selector
1c4e0be2c4f0 add access method for selector
penk
parents: 6056
diff changeset
   183
    ^ selector
1c4e0be2c4f0 add access method for selector
penk
parents: 6056
diff changeset
   184
1c4e0be2c4f0 add access method for selector
penk
parents: 6056
diff changeset
   185
    "Created: 7.3.1996 / 10:57:01 / cg"
1074
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   186
! !
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   187
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   188
!InterestConverter methodsFor:'change & update'!
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   189
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   190
update:something with:aParameter from:someObject
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   191
    (aspect isNil or:[aspect == something]) ifTrue:[
11715
03f0d5aee2fd allow for 0,1,2 arguments (update params) to be passed to interest blocks.
Claus Gittinger <cg@exept.de>
parents: 9281
diff changeset
   192
        (selector numArgs) == 0 ifTrue:[
03f0d5aee2fd allow for 0,1,2 arguments (update params) to be passed to interest blocks.
Claus Gittinger <cg@exept.de>
parents: 9281
diff changeset
   193
            destination perform:selector
03f0d5aee2fd allow for 0,1,2 arguments (update params) to be passed to interest blocks.
Claus Gittinger <cg@exept.de>
parents: 9281
diff changeset
   194
        ] ifFalse:[
11737
cbf8d519c784 update:with:from: - up to 3 arguments into block
Claus Gittinger <cg@exept.de>
parents: 11715
diff changeset
   195
            destination perform:selector withOptionalArgument:something and:aParameter and:someObject
11715
03f0d5aee2fd allow for 0,1,2 arguments (update params) to be passed to interest blocks.
Claus Gittinger <cg@exept.de>
parents: 9281
diff changeset
   196
        ]
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   197
    ]
1074
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   198
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   199
    "Created: 7.3.1996 / 10:14:30 / cg"
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   200
    "Modified: 8.3.1996 / 22:41:53 / cg"
1074
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   201
! !
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   202
6056
5406d407a9bb better displayString
Claus Gittinger <cg@exept.de>
parents: 5272
diff changeset
   203
!InterestConverter methodsFor:'printing'!
5406d407a9bb better displayString
Claus Gittinger <cg@exept.de>
parents: 5272
diff changeset
   204
5406d407a9bb better displayString
Claus Gittinger <cg@exept.de>
parents: 5272
diff changeset
   205
displayString
5406d407a9bb better displayString
Claus Gittinger <cg@exept.de>
parents: 5272
diff changeset
   206
    ^ self className , '(sending ' , selector storeString , ' to ' , destination printString , ')'
5406d407a9bb better displayString
Claus Gittinger <cg@exept.de>
parents: 5272
diff changeset
   207
! !
5406d407a9bb better displayString
Claus Gittinger <cg@exept.de>
parents: 5272
diff changeset
   208
9281
9f05718319a0 interest stuff
Claus Gittinger <cg@exept.de>
parents: 8436
diff changeset
   209
!InterestConverter methodsFor:'testing'!
9f05718319a0 interest stuff
Claus Gittinger <cg@exept.de>
parents: 8436
diff changeset
   210
9f05718319a0 interest stuff
Claus Gittinger <cg@exept.de>
parents: 8436
diff changeset
   211
isInterestConverter
9f05718319a0 interest stuff
Claus Gittinger <cg@exept.de>
parents: 8436
diff changeset
   212
    ^ true
9f05718319a0 interest stuff
Claus Gittinger <cg@exept.de>
parents: 8436
diff changeset
   213
! !
9f05718319a0 interest stuff
Claus Gittinger <cg@exept.de>
parents: 8436
diff changeset
   214
1074
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   215
!InterestConverter class methodsFor:'documentation'!
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   216
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   217
version
17892
d86c8bd5ece3 Merged with CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17869
diff changeset
   218
    ^ '$Header: /cvs/stx/stx/libbasic/InterestConverter.st,v 1.15 2009/05/28 06:01:29 cg Exp $'
17865
598963c6ff8e Recommited from itself
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17846
diff changeset
   219
!
598963c6ff8e Recommited from itself
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17846
diff changeset
   220
598963c6ff8e Recommited from itself
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17846
diff changeset
   221
version_SVN
17911
a99f15c5efa5 Updated with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17910
diff changeset
   222
    ^ '$Id: InterestConverter.st 10761 2012-01-19 11:46:00Z vranyj1 $'
17846
24edc476ac18 Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17845
diff changeset
   223
! !
17892
d86c8bd5ece3 Merged with CVS
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17869
diff changeset
   224
17910
8d796ca8bd1d Merged with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17892
diff changeset
   225
17911
a99f15c5efa5 Updated with /trunk
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 17910
diff changeset
   226