visual proxy in wxPython

Robert Gravina robert at gravina.com
Fri Feb 8 05:34:13 BRST 2008


Hi All,

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:

Short version:
Does anyone know of a visual proxy implementation for wxPython?

Long version:
I've been working for some time on a wxPython application which uses  
the MVP pattern described here:
http://wiki.wxpython.org/wxPython_Patterns

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  
rather cool:
http://www.javaworld.com/javaworld/jw-09-1999/jw-09-toolbox.html

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!
http://www.async.com.br/projects/kiwi/example-personalinformation.html

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  
starting point.

Thanks to both camps for fantastic frameworks!

Robert



More information about the Kiwi mailing list