Ed,

Thanks for the info on the callAfterInterval. I didn't know about the
caching.  This would be the ideal solution and we've tried it before,
however, we can't put a call to self.layout in the Dynamic method because
this induces a loop, since layout calls update which call the dynamics, etc.


What is also puzzling, when we open the debgger in Wing and manually issue
self.layout() , it doesn't seem to propagate properly in that the sizers are
not adjusted in our case.

Larry

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
Behalf Of Ed Leafe
Sent: Thursday, November 20, 2008 12:35 PM
To: Dabo developers' list
Subject: Re: [dabo-dev] Update/Layout issue with Dynamic Properties

On Nov 20, 2008, at 11:04 AM, <[EMAIL PROTECTED]> <[EMAIL PROTECTED]>
wrote:

> That works...kinda. The sizer refreshed properly, however I got a dead 
> object error upon exiting the app

        Simple then: change the call to

if obj and obj.Parent:
        dabo.ui.callAfter...

> and using your suggestion would be
> problematic if the Dynamic method is used by multiple objects since 
> the method doesn't know anything about the object..iow I had to issue
> dabo.ui.callAfter(self.Form.<objregid>.Parent.layout) explicitly


        That's what callAfterInterval() is for. It caches all identical
calls within a given interval, and only issues it once. So if you have a
dozen calls to the dynamic method, have it call (assuming it's a form- level
method):

dabo.ui.callAfterInterval(100, self.layout)

Now each time it is called within 100ms of another call, the interval gets
re-set. Only when the interval passes without a call does the call actually
get made.


-- Ed Leafe





[excessive quoting removed by server]

_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-dev
Searchable Archives: http://leafe.com/archives/search/dabo-dev
This message: http://leafe.com/archives/byMID/[EMAIL PROTECTED]

Reply via email to