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