[Pharo-project] [squeak-dev] Use of #asMorph

Igor Stasenko siguctua at gmail.com
Sun Mar 14 23:01:38 UTC 2010


On 14 March 2010 19:42, Stéphane Ducasse <stephane.ducasse at inria.fr> wrote:
>
> On Mar 14, 2010, at 3:04 PM, Igor Stasenko wrote:
>
>> On 14 March 2010 15:38, Stéphane Ducasse <stephane.ducasse at inria.fr> wrote:
>>>
>>> I'm not convinced by your argumentation.
>>> Because
>>>        #('a' 'b') collect: [:each | each asMorph]
>>> would mean to me that you get StringMorph or some morph representation of the object.
>>
>> Yes, exactly like that.
>> And i want to find a convenient approach how to achieve that. Means ,
>> that from one side we having
>> a container (list, inspector, panel, window etc) and from other side,
>> we having a model which is a collection of items.
>> And i want to find a way, how an object, which you want to represent
>> in a container, could pick a most appropriate form
>> of its representation, BUT depending on a nature of container.
>
> it smells like a lot of magic or double dispatch?

Yes, it is a double dispatch. But the problem who will take a first
half and who is second, i.e.
will message should come in
object(item) -> container direction
or
container -> object(item).

>>
>>> If this is what you want why not but I thought you talk about container containee relationship/
>>>
>>
>> I am not convinced myself that such way is feasible either. You tell :)
>> Usually, in most cases, a container dictating how its items should be
>> displayed and behave.
>> And usually, a model knows more than a little about items it contains
>> (for instance a class methods pane contains only methods, not
>> arbitrary objects).
>>
>>>
>>>
>>> Stef
>>>
>>>
>>> On Mar 14, 2010, at 2:05 PM, Igor Stasenko wrote:
>>>
>>>> On 14 March 2010 14:40, stephane ducasse <stephane.ducasse at gmail.com> wrote:
>>>>> Igor
>>>>>
>>>>> I do not know (I'm dizzy after a couple of hours of bus) but
>>>>> asMorph for me conveys the idea that we get a transformation of the receiver, while if this is just to
>>>>> change the model of a morph why not model:
>>>>>
>>>> Changing a model gives nothing:
>>>>
>>>> morph := MyListMorph new.
>>>> morph model: someModel.
>>>>
>>>> now, since my morph is a list, it assumes that someModel object
>>>> implements a protocol, which allows to extract the
>>>> items ( #size, #at: etc).
>>>> The question is, what you would do, if you want to represent each item
>>>> in a list as a morph, so instead of:
>>>>
>>>> strings := model items collect: [:each | each asString ].
>>>>
>>>> you doing:
>>>>
>>>> subMorphs := model items collect: [:each | each asMorph ].
>>>> ...
>>>> this gives you a freedom to pick any form how represent each item in a
>>>> list, instead of bare strings.
>>>>
>>>>
>>>>>
>>>>> Stef
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Best regards,
>>>> Igor Stasenko AKA sig.
>>>>
>>>
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> Pharo-project at lists.gforge.inria.fr
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>
>>
>>
>> --
>> Best regards,
>> Igor Stasenko AKA sig.
>>
>> _______________________________________________
>> Pharo-project mailing list
>> Pharo-project at lists.gforge.inria.fr
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project at lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>



-- 
Best regards,
Igor Stasenko AKA sig.



More information about the Squeak-dev mailing list