Tweak events (was Re: Viewing in Morphic)

Juan Vuletich juan at
Thu Nov 16 02:08:34 UTC 2006

Hi Bert,

Thanks for the explanation.

Juan Vuletich

Bert Freudenberg escribió:
> (separating this from the Morphic discussion)
> On Nov 14, 2006, at 11:22 , Juan Vuletich wrote:
>> Hi Andreas,
>> Andreas Raab escribió:
>>> I presume that by "the receiver of the message for some object was 
>>> always the object triggering the event" you mean that the signaler 
>>> and the handler of the event are the same (if not, please clarify).
>> yes.
>>> If that's what you mean then you are right, usually they are not the 
>>> same. This is why you have <on: eventName in: signaler> annotations 
>>> (and the common <on: eventName> is effectively shorthand for <on: 
>>> eventName in: self>).
>> I missed that. How do you reference signaler? I mean, each instance 
>> of the handler could want events from a particular signaler, perhaps 
>> one that still doesn't exist when you compile the method! Perhaps it 
>> is an instance variable of the handler?
> Yes, it is like an instance variable (actually a field, which is used 
> exactly like an instance variable but generates change events on 
> assignment).
> When compiling, only existing instances are updated. But when creating 
> a new instance, the field will be nil, so no event handlers will be 
> registered for that event, yet. But a second event handler is 
> installed that handles a change event for that field - it will 
> register the actual event handler as soon as you assign to the field.
> This is an example for what Andreas meant with "indeed, part of the 
> implementation of Tweak depends on objects 'viewing themselves'". This 
> is totally non-graphical, it takes the model/view separation idea down 
> to the system core itself.
> - Bert -

More information about the Squeak-dev mailing list