Tweak events (was Re: Viewing in Morphic)

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


Hi Bert,

Thanks for the explanation.

Cheers,
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