2016-02-13 16:24 GMT+01:00 stepharo <steph...@free.fr>: > > > > 2016-02-09 13:46 GMT+01:00 stepharo <steph...@free.fr>: > >> Hi nicolai >> >> I agree. I will have a look at the Calipso experience of Alain. >> Because may be Calipso + Spec layout format would be much nicer. >> Did you look at it? >> > > I could not find anything about Calipso, what is it? > > > http://smalltalkhub.com/#!/~AlainPlantec/Calypso > >
Sorry still can not find out what this is about. With this amount of documentation, I guess it is not yet ready for review/feedback. > > Stef > > > > > > >> Alain just brainstormed but this is interesting for thinking. >> >> Stef >> >> What I hate also is that the >> >> AbstractApdate>>update: aSymbol >> >> self changed: aSymbol >> >> This is a bit terrible because the adpater should not exist at runtime >> and adapter should just encapsulate how to create and set the >> communication >> between the model and the view. Now it is in the middle and this is not >> good. >> >> stef >> >> >> Le 8/2/16 11:31, Nicolai Hess a écrit : >> >> >> >> 2016-02-08 10:37 GMT+01:00 stepharo < <steph...@free.fr>steph...@free.fr> >> : >> >>> Hi guys >>> >>> I should say that I'm sick (gift from my little boy) so may be this is >>> obvious. >>> >>> I'm looking at the code of Spec and I hate this code :) >>> >>> widgetDo: aBlock >>> >>> ^ self widget ifNotNil: aBlock >>> >>> >>> I do not see why widgetDo: has to test for nil >>> So I transformed >>> >>> widgetDo: aBlock >>> >>> ^ self widget ifNotNil: aBlock >>> >>> into >>> >>> >>> widgetDo: aBlock >>> >>> ^ aBlock cull: self widget >>> >>> BTW I hate all the cull: call. They are connected with sloppiness). It >>> is far too easy to use cull: >>> I do not know how many arguments, I do not care I use cull: >>> cull: is slow slow and help producing messing API. >>> >>> And it broke. The methodBrowser example did not work anymore and many >>> others. >>> Debugger felt down.... >>> I feel sad. Now my brain is dead so I cannot concentrate more. >>> >>> >>> Stef >>> >>> >> This is a big problem with morphic/spec ui elements. You never know for >> sure >> what code this >> self update ---> search through all (dynamicly added) dependents and >> notify >> will finally call. >> In this example we are about to *built* the widgets and in this run , we >> change a component that >> will update all dependents goes back and forth between model, adapter and >> widget. And all >> before the widget is actually accessible for the widgetDo: call. >> >> (and, REALLY we need to clean this up. This is really bad code if we >> announce a textChanged announcement for >> a text component, if we *initialize* an *empty textcomponent* with an >> *empty text*!). >> >> >> >> > >