On Mar 14, 2010, at 3:04 PM, Igor Stasenko wrote: > On 14 March 2010 15:38, Stéphane Ducasse <[email protected]> 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? > >> 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 <[email protected]> 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 >> [email protected] >> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project >> > > > > -- > Best regards, > Igor Stasenko AKA sig. > > _______________________________________________ > Pharo-project mailing list > [email protected] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project _______________________________________________ Pharo-project mailing list [email protected] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
