Re: Release 0.2a0?

Magnus Lie Hetland <[email protected]>
Newsgroups gmane.comp.python.anygui.devel
Message-ID <[email protected]>
Samuele Pedroni <[email protected]>:
>
> 
> > What major obstacles remain before such a pre-release? Dallas: How are
> > the models coming along?

Just a quick note about models: If they are proving problematic,
perhaps we should leave them out of 0.2a0 too? (I'm just interested in
getting something out that works, as soon as possible.)

It seems that there may be more than one challenge in updating these
for 0.2. (E.g. getting them to work properly with push/pull; I seem to
recall something about the in-place modification in pull() being
broken or not implemented?)

> Am I seeing right that the infinite recursion avoidance mechanism in
> event send is not enough to avoid spurious push with models?

Hm... That may be.

> A) if prop1 of a component is bound to model mod modifying prop1 will
> 
> [Attrib.modify]
> 
> change value of mod
>   this will trigger a change event
>    one of the handlers is: push  prop1 for comp [1]
>    ... other handlers ...
> push prop1 [2, aggregate push at the end of Attrib.modify]
> 
> Is this correct ?

Hm. Modifying the model shouldn't affect the component that holds it
as an attribute in any other way than the normal route. Per default,
the component should not observe the model. (Maybe I'm just not
following your argument here...)

> We could avoid to add the names of props bound to models in the name list
> passed in [2], but when changing more than one single prop, the best thing
> would be to avoid to call [1].
> 
> B) retrieving comp.prop1 can pull the value from the widget, then if prop1 is
> bound to a modal its value is (should be) changed but this would trigger a
> spurious push...

Why? I don't see why modifying the model should trigger a push? Of
course modify() calls push, but that's beside the point. My view is
that using foo.rawModify(bar=fnord) should not call foo.push(), even
if bar is a model. The idea with models is that *other* objects are
allowed to listen in on their state. If the component itself wants to
do so it is allowed to of course, but if it links this listening to
push, then a "spurious" push is exactly what one would expect.

(Though I still have a sneaking suspicion that I'm not getting the
point here :)

> It seems we need a mechanism to identify handlers and a way to send
> an event but ignoring some specified handlers.

If indeed we do, this might perhaps be related to the tag system
proposed by Alex (and others). But I'm still not quite sure why we
need it... I suspect we might need to clarify (if nothing else, then
for my benefit ;) how we expect models to behave.

> Samuele.

-- 
Magnus Lie Hetland                                  The Anygui Project
http://hetland.org                                  http://anygui.org


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.