visual proxy in wxPython
robert at gravina.com
Fri Feb 8 05:34:13 BRST 2008
I'm cross-posting this to the wxPython and Kiwi mailing lists,
because it's relevant to both groups. Apologies to the Kiwi-people if
it's more to do with wxPython.
Here's my question in short and long form:
Does anyone know of a visual proxy implementation for wxPython?
I've been working for some time on a wxPython application which uses
the MVP pattern described here:
I often needed to develop create/update/edit/delete GUIs for objects
(or lists/dicts of them), and ended up with a little framework for
making these forms. You basically provide it with a list of objects
of the same type, and provide it with a list of attribute name and
types, and it will generate a GUI so users can add/edit/delete
entries on a list.
It's worked reasonably well so far, but the code's a bit messy now..
and in general, my MVP application isn't as clean/understandable as
I'd hoped. Just having all these views, presenters, models and
interactors for every single form seems a bit more complex than it
needs to be.
A little while ago I came across this article on the Visual Proxy
pattern, and how you can use it to make model classes that know how
to generate their own GUI. It's a bit of a lengthy article, and it's
geared towards Java Swing programs, but I think the idea itself is
I did a bit of Googling, and found Kiwi. It's a PyGTK implementation
of that idea, and it looks wonderful. Have a look at how in this
example, there's no GUI widget related code at all. Fantastic!
I need to stick with wxPython because my application is well and
truly underway (and I like wxPython's true native GUI underneath, no
QT licensing issues for commercial apps etc.)
To the Kiwi developers:
- Do you think it's feasible to create a "wxPython backend" for Kiwi?
Or is it too intertwined with PyGTK?
To the wxPython developers:
- Are there any wxPython implementations of this Visual Proxy idea
out there? Would anyone be interested in seeing an open source one
created? I could clean up my MVP-based framework and use that as a
Thanks to both camps for fantastic frameworks!
More information about the Kiwi