2016-02-08 10:37 GMT+01:00 stepharo <stepharo@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*!).