[PEAK] Trellis on_commit and Performers
Sergey Schetinin
maluke at gmail.com
Sun Oct 5 14:09:39 EDT 2008
> Nice. A very elegant solution.
Thanks.
> One minor issue: there will be a circular
> reference between the freeze manager and the top-level window. Dunno if
> that's really a problem, though.
When wx windows are destroyed they do __dict__.clear(), so that would
get rid of the reference. And while window is live, a reference is OK
anyway.
> or polling to pull such events from the queue. Of course, I suppose that wx
> might do it inside of certain calls, but hopefully this is documented if so.
> :)
Exactly, but relying on wx consistency can be risky. Also, who knows
what workarounds are in work on different platforms? I really hope at
least SetSize followed by an immediate GetClientSize works all of the
time.
>> I completely missed the [dis]connectors of @maintain rules, this
>> really starts to look like a solution. Thanks a lot, your help is
>> invaluable. I'll report on how this works out.
>
> I didn't think of it earlier because I not only forgot they were there, but
> I also forgot I'd made them able to safely do trellis-level changes. :)
Something is odd with them though. Following test prints "maintain" three times.
class Test(trellis.Component):
@trellis.maintain
def value(self):
print 'maintain'
@value.connector
def _watch(self, sensor):
pass
@value.disconnector
def _unwatch(self, sensor, key):
pass
t = Test()
--
Best Regards,
Sergey Schetinin
http://s3bk.com/ -- S3 Backup
http://word-to-html.com/ -- Word to HTML Converter
More information about the PEAK
mailing list