InterestConverter.st
author Claus Gittinger <cg@exept.de>
Tue, 02 Apr 2019 10:50:28 +0200
changeset 24034 ba4c42171801
parent 21546 a0d2c61004a7
child 24387 93437c789d8a
permissions -rw-r--r--
#BUGFIX by cg class: CharacterArray changed: #, #asDenseUnicodeString
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
21546
a0d2c61004a7 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 14286
diff changeset
    14
"{ NameSpace: Smalltalk }"
a0d2c61004a7 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 14286
diff changeset
    15
1074
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
Object subclass:#InterestConverter
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    17
	instanceVariableNames:'destination selector aspect'
1074
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
	classVariableNames:''
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
	poolDictionaries:''
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
	category:'Interface-Support-Models'
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
!
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
!InterestConverter class methodsFor:'documentation'!
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
5272
1dad283c5256 copyrights
Claus Gittinger <cg@exept.de>
parents: 2717
diff changeset
    25
copyright
1dad283c5256 copyrights
Claus Gittinger <cg@exept.de>
parents: 2717
diff changeset
    26
"
1dad283c5256 copyrights
Claus Gittinger <cg@exept.de>
parents: 2717
diff changeset
    27
 COPYRIGHT (c) 1996 by Claus Gittinger / eXept Software AG
1dad283c5256 copyrights
Claus Gittinger <cg@exept.de>
parents: 2717
diff changeset
    28
              All Rights Reserved
1dad283c5256 copyrights
Claus Gittinger <cg@exept.de>
parents: 2717
diff changeset
    29
1dad283c5256 copyrights
Claus Gittinger <cg@exept.de>
parents: 2717
diff changeset
    30
 This software is furnished under a license and may be used
1dad283c5256 copyrights
Claus Gittinger <cg@exept.de>
parents: 2717
diff changeset
    31
 only in accordance with the terms of that license and with the
1dad283c5256 copyrights
Claus Gittinger <cg@exept.de>
parents: 2717
diff changeset
    32
 inclusion of the above copyright notice.   This software may not
1dad283c5256 copyrights
Claus Gittinger <cg@exept.de>
parents: 2717
diff changeset
    33
 be provided or otherwise made available to, or used by, any
1dad283c5256 copyrights
Claus Gittinger <cg@exept.de>
parents: 2717
diff changeset
    34
 other person.  No title to or ownership of the software is
1dad283c5256 copyrights
Claus Gittinger <cg@exept.de>
parents: 2717
diff changeset
    35
 hereby transferred.
1dad283c5256 copyrights
Claus Gittinger <cg@exept.de>
parents: 2717
diff changeset
    36
"
1dad283c5256 copyrights
Claus Gittinger <cg@exept.de>
parents: 2717
diff changeset
    37
1dad283c5256 copyrights
Claus Gittinger <cg@exept.de>
parents: 2717
diff changeset
    38
!
1dad283c5256 copyrights
Claus Gittinger <cg@exept.de>
parents: 2717
diff changeset
    39
1074
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
documentation
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
"
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
    instances convert update messages into messages as setup via
8436
4a9e5fbe67e5 Fix typo in comment
Stefan Vogel <sv@exept.de>
parents: 7347
diff changeset
    43
    #onChangeSend:to:.
1074
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
    This is a temporary kludge and will be replaced by a more intelligent
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
    DependencyCollection class in the future.
1291
74d61fd64c4a documentation
Claus Gittinger <cg@exept.de>
parents: 1098
diff changeset
    46
74d61fd64c4a documentation
Claus Gittinger <cg@exept.de>
parents: 1098
diff changeset
    47
    [author:]
74d61fd64c4a documentation
Claus Gittinger <cg@exept.de>
parents: 1098
diff changeset
    48
        Claus Gittinger
1074
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
"
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
!
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
examples
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
"
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    54
  #onChangeSend:to / #retractInterestsIn:
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    55
  interested in any change:
1315
85a27a31a690 examples
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
    56
                                                                        [exBegin]
1074
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
    |p b|
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
1422
9a0b792f2953 showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 1315
diff changeset
    59
    b := [Transcript showCR:'--> notification: point has changed'].
1074
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
    p := Point new.
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
    p onChangeSend:#value to:b.
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
    Delay waitForSeconds:1.
1422
9a0b792f2953 showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 1315
diff changeset
    64
    Transcript showCR:'sending change ...'.
1074
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
    p changed.
2716
08cf98cf1a53 comment
Claus Gittinger <cg@exept.de>
parents: 1801
diff changeset
    66
    Transcript showCR:'retracting ...'.
1074
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
    p retractInterestsFor:b.
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
    Delay waitForSeconds:1.
1422
9a0b792f2953 showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 1315
diff changeset
    69
    Transcript showCR:'sending change ...'.
1074
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
    p changed.
1315
85a27a31a690 examples
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
    71
                                                                        [exEnd]
1098
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
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    74
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    75
  #expressInterestIn:for:sendBack / #retractInterestIn:for:
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    76
  interested in a specific change:
1315
85a27a31a690 examples
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
    77
                                                                        [exBegin]
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    78
     |p b|
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    79
1422
9a0b792f2953 showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 1315
diff changeset
    80
     b := [Transcript showCR:'the point changed'].
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    81
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    82
     p := Point new.
1422
9a0b792f2953 showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 1315
diff changeset
    83
     Transcript showCR:'interest in #foo'.
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    84
     p expressInterestIn:#foo for:b sendBack:#value.
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    85
     p x:1.
1422
9a0b792f2953 showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 1315
diff changeset
    86
     Transcript showCR:'now changing #bar'.
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    87
     p changed:#bar.
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    88
     Transcript cr.
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    89
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    90
     Delay waitForSeconds:1.
1422
9a0b792f2953 showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 1315
diff changeset
    91
     Transcript showCR:'now changing #foo'.
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    92
     p changed:#foo.
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    93
     Transcript cr.
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    94
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    95
     Delay waitForSeconds:1.
1422
9a0b792f2953 showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 1315
diff changeset
    96
     Transcript showCR:'no more interest in #foo'.
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    97
     p retractInterestIn:#foo for:b.
1422
9a0b792f2953 showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 1315
diff changeset
    98
     Transcript showCR:'now changing #foo'.
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
    99
     p changed:#foo.
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   100
     Transcript cr.
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   101
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   102
     Delay waitForSeconds:1.
1422
9a0b792f2953 showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 1315
diff changeset
   103
     Transcript showCR:'interest in #bar now'.
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   104
     p expressInterestIn:#bar for:b sendBack:#value.
1422
9a0b792f2953 showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 1315
diff changeset
   105
     Transcript showCR:'now changing #foo'.
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   106
     p changed:#foo.
1422
9a0b792f2953 showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 1315
diff changeset
   107
     Transcript showCR:'now changing #bar'.
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   108
     p changed:#bar.
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   109
     Transcript cr.
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   110
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   111
     Delay waitForSeconds:1.
1422
9a0b792f2953 showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 1315
diff changeset
   112
     Transcript showCR:'interest in #foo now'.
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   113
     p expressInterestIn:#foo for:b sendBack:#value.
1422
9a0b792f2953 showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 1315
diff changeset
   114
     Transcript showCR:'now changing #foo'.
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   115
     p changed:#foo.
1422
9a0b792f2953 showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 1315
diff changeset
   116
     Transcript showCR:'now changing #bar'.
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   117
     p changed:#bar.
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   118
     Transcript cr.
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   119
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   120
     Delay waitForSeconds:1.
1422
9a0b792f2953 showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 1315
diff changeset
   121
     Transcript showCR:'no more interests'.
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   122
     p retractInterestsFor:b.
1422
9a0b792f2953 showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 1315
diff changeset
   123
     Transcript showCR:'now changing #foo'.
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   124
     p changed:#foo.
1422
9a0b792f2953 showCr: -> showCR:
Claus Gittinger <cg@exept.de>
parents: 1315
diff changeset
   125
     Transcript showCR:'now changing #bar'.
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   126
     p changed:#bar.
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   127
     Transcript cr.
1315
85a27a31a690 examples
Claus Gittinger <cg@exept.de>
parents: 1291
diff changeset
   128
                                                                        [exEnd]
1074
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
"
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
! !
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
!InterestConverter class methodsFor:'instance creation'!
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
destination:anObject selector:aSelector
2717
c1cd0f1920a4 comments
Claus Gittinger <cg@exept.de>
parents: 2716
diff changeset
   135
    "create & return an interestConverter, which sends aSelector
c1cd0f1920a4 comments
Claus Gittinger <cg@exept.de>
parents: 2716
diff changeset
   136
     to anObject when a change notification arrives"
c1cd0f1920a4 comments
Claus Gittinger <cg@exept.de>
parents: 2716
diff changeset
   137
1074
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
    ^ self basicNew destination:anObject selector:aSelector
2717
c1cd0f1920a4 comments
Claus Gittinger <cg@exept.de>
parents: 2716
diff changeset
   139
c1cd0f1920a4 comments
Claus Gittinger <cg@exept.de>
parents: 2716
diff changeset
   140
    "Modified: 21.5.1997 / 11:59:08 / cg"
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   141
!
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   142
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   143
destination:anObject selector:aSelector aspect:aspect
2717
c1cd0f1920a4 comments
Claus Gittinger <cg@exept.de>
parents: 2716
diff changeset
   144
    "create & return an interestConverter, which sends aSelector
c1cd0f1920a4 comments
Claus Gittinger <cg@exept.de>
parents: 2716
diff changeset
   145
     to anObject when a change notification for aspect arrives"
c1cd0f1920a4 comments
Claus Gittinger <cg@exept.de>
parents: 2716
diff changeset
   146
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   147
    ^ self basicNew destination:anObject selector:aSelector aspect:aspect
2717
c1cd0f1920a4 comments
Claus Gittinger <cg@exept.de>
parents: 2716
diff changeset
   148
c1cd0f1920a4 comments
Claus Gittinger <cg@exept.de>
parents: 2716
diff changeset
   149
    "Modified: 21.5.1997 / 11:59:26 / cg"
1074
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
! !
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
!InterestConverter methodsFor:'accessing'!
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
2717
c1cd0f1920a4 comments
Claus Gittinger <cg@exept.de>
parents: 2716
diff changeset
   154
aspect
c1cd0f1920a4 comments
Claus Gittinger <cg@exept.de>
parents: 2716
diff changeset
   155
    "return my aspect (if any)"
c1cd0f1920a4 comments
Claus Gittinger <cg@exept.de>
parents: 2716
diff changeset
   156
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   157
    ^ aspect
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   158
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   159
    "Created: 8.3.1996 / 23:00:37 / cg"
2717
c1cd0f1920a4 comments
Claus Gittinger <cg@exept.de>
parents: 2716
diff changeset
   160
    "Modified: 21.5.1997 / 11:59:43 / cg"
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   161
!
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   162
1074
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
destination
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
    ^ destination
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
    "Created: 7.3.1996 / 10:57:01 / cg"
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
!
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
destination:dest selector:sel
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
    destination := dest.
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
    selector := sel
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
    "Created: 7.3.1996 / 10:49:13 / cg"
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   174
!
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   175
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   176
destination:dest selector:sel aspect:a
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   177
    destination := dest.
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   178
    selector := sel.
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   179
    aspect := a
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   180
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   181
    "Created: 8.3.1996 / 22:42:03 / cg"
7347
1c4e0be2c4f0 add access method for selector
penk
parents: 6056
diff changeset
   182
!
1c4e0be2c4f0 add access method for selector
penk
parents: 6056
diff changeset
   183
1c4e0be2c4f0 add access method for selector
penk
parents: 6056
diff changeset
   184
selector
1c4e0be2c4f0 add access method for selector
penk
parents: 6056
diff changeset
   185
    ^ selector
1c4e0be2c4f0 add access method for selector
penk
parents: 6056
diff changeset
   186
1c4e0be2c4f0 add access method for selector
penk
parents: 6056
diff changeset
   187
    "Created: 7.3.1996 / 10:57:01 / cg"
1074
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   188
! !
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   189
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   190
!InterestConverter methodsFor:'change & update'!
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   191
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   192
update:something with:aParameter from:someObject
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   193
    (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
   194
        (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
   195
            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
   196
        ] ifFalse:[
11737
cbf8d519c784 update:with:from: - up to 3 arguments into block
Claus Gittinger <cg@exept.de>
parents: 11715
diff changeset
   197
            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
   198
        ]
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   199
    ]
1074
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   200
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   201
    "Created: 7.3.1996 / 10:14:30 / cg"
1098
e8543399e2a0 support aspect-specific interests
Claus Gittinger <cg@exept.de>
parents: 1074
diff changeset
   202
    "Modified: 8.3.1996 / 22:41:53 / cg"
1074
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   203
! !
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   204
21546
a0d2c61004a7 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 14286
diff changeset
   205
!InterestConverter methodsFor:'printing & storing'!
6056
5406d407a9bb better displayString
Claus Gittinger <cg@exept.de>
parents: 5272
diff changeset
   206
14286
2998078bc2aa Implement #displayOn: instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 11737
diff changeset
   207
displayOn:aGCOrStream
2998078bc2aa Implement #displayOn: instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 11737
diff changeset
   208
    "Compatibility
2998078bc2aa Implement #displayOn: instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 11737
diff changeset
   209
     append a printed desription on some stream (Dolphin,  Squeak)
2998078bc2aa Implement #displayOn: instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 11737
diff changeset
   210
     OR:
2998078bc2aa Implement #displayOn: instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 11737
diff changeset
   211
     display the receiver in a graphicsContext at 0@0 (ST80).
2998078bc2aa Implement #displayOn: instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 11737
diff changeset
   212
     This method allows for any object to be displayed in some view
2998078bc2aa Implement #displayOn: instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 11737
diff changeset
   213
     (although the fallBack is to display its printString ...)"
2998078bc2aa Implement #displayOn: instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 11737
diff changeset
   214
2998078bc2aa Implement #displayOn: instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 11737
diff changeset
   215
    "/ what a kludge - Dolphin and Squeak mean: printOn: a stream;
21546
a0d2c61004a7 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 14286
diff changeset
   216
    "/ old ST80 means: draw-yourself on a GC.
14286
2998078bc2aa Implement #displayOn: instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 11737
diff changeset
   217
    aGCOrStream isStream ifFalse:[
2998078bc2aa Implement #displayOn: instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 11737
diff changeset
   218
        ^ super displayOn:aGCOrStream.
2998078bc2aa Implement #displayOn: instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 11737
diff changeset
   219
    ].
2998078bc2aa Implement #displayOn: instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 11737
diff changeset
   220
2998078bc2aa Implement #displayOn: instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 11737
diff changeset
   221
    aGCOrStream 
2998078bc2aa Implement #displayOn: instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 11737
diff changeset
   222
        nextPutAll:self class name;
2998078bc2aa Implement #displayOn: instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 11737
diff changeset
   223
        nextPutAll:'(sending '.
2998078bc2aa Implement #displayOn: instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 11737
diff changeset
   224
2998078bc2aa Implement #displayOn: instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 11737
diff changeset
   225
    selector storeOn:aGCOrStream.
2998078bc2aa Implement #displayOn: instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 11737
diff changeset
   226
    aGCOrStream nextPutAll:' to '.
2998078bc2aa Implement #displayOn: instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 11737
diff changeset
   227
    destination printOn:aGCOrStream.
2998078bc2aa Implement #displayOn: instead of #displayString
Stefan Vogel <sv@exept.de>
parents: 11737
diff changeset
   228
    aGCOrStream nextPut:$).
21546
a0d2c61004a7 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 14286
diff changeset
   229
a0d2c61004a7 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 14286
diff changeset
   230
    "Modified (comment): / 22-02-2017 / 16:48:30 / cg"
6056
5406d407a9bb better displayString
Claus Gittinger <cg@exept.de>
parents: 5272
diff changeset
   231
! !
5406d407a9bb better displayString
Claus Gittinger <cg@exept.de>
parents: 5272
diff changeset
   232
9281
9f05718319a0 interest stuff
Claus Gittinger <cg@exept.de>
parents: 8436
diff changeset
   233
!InterestConverter methodsFor:'testing'!
9f05718319a0 interest stuff
Claus Gittinger <cg@exept.de>
parents: 8436
diff changeset
   234
9f05718319a0 interest stuff
Claus Gittinger <cg@exept.de>
parents: 8436
diff changeset
   235
isInterestConverter
9f05718319a0 interest stuff
Claus Gittinger <cg@exept.de>
parents: 8436
diff changeset
   236
    ^ true
9f05718319a0 interest stuff
Claus Gittinger <cg@exept.de>
parents: 8436
diff changeset
   237
! !
9f05718319a0 interest stuff
Claus Gittinger <cg@exept.de>
parents: 8436
diff changeset
   238
1074
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   239
!InterestConverter class methodsFor:'documentation'!
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   240
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   241
version
21546
a0d2c61004a7 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 14286
diff changeset
   242
    ^ '$Header$'
1074
e20967eee4bd renamed
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   243
! !
21546
a0d2c61004a7 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 14286
diff changeset
   244