[pygtk] A Model-View-Controller implementation for pygtk2
Hi all, at http://sra.itc.it/people/cavada/dload/mvc.tar.bz2 can be found an implementation of the MVC pattern for pygtk2. I hope can be particularly useful when developing GTK based GUIs with pygtk and glade. For middle-size and large applications, the result is a more rational, structured domain separation. Also, reuse allows a more rapid prototyping of small and dummy applications. The key idea is (of course) to be able to separate the state of the application (the Model) and the representation for parts ot that state (the View). One or more glade files can be associated with a View, as well as widget hierarchies manually built by developers. In our implementation Model and View do not know each other. In the middle, one or more Controllers are located, which handle signals fired by Views, and notifications of state changes fired by Models. In that sense our implementation is different from classic MVC pattern, but we think it is better integrated with the GTK toolkit. This MVC implementation is an important basement for gNuSMV, the GUI for the Open Source Model Checker NuSMV we are developing. As you can guess (look at the version number 0.1.0! ) it is still an early version. The supplied archive contains the pattern implementation, an example of implementation, and a short document which describes the idea and the architecture. License is LGPL. In the immediate future we will extend it with: - Multithreading support for models. - A better observable properties support. We welcome feedback! rob -- Roberto Cavada ITC-irst Institute for Scientific and Technological Research Automated Reasoning Systems - Formal Methods Group Via Sommarive, 18 - 38050 Povo (TN) - Italy Tel: +39 0461 314 321 Fax: +39 0461 302 040 [EMAIL PROTECTED] http://sra.itc.it/people/cavada/ -- ___ pygtk mailing list [EMAIL PROTECTED] http://www.daa.com.au/mailman/listinfo/pygtk Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/
Re: [pygtk] A Model-View-Controller implementation for pygtk2
On Wed, Dec 04, 2002 at 04:46:33PM +0100, Roberto Cavada wrote: In our implementation Model and View do not know each other. In the middle, one or more Controllers are located, which handle signals fired by Views, and notifications of state changes fired by Models. In that sense our implementation is different from classic MVC pattern, but we think it is better integrated with the GTK toolkit. Have you had a look at Kiwi? It covers MVC but goes beyond it in creating a truly Pythonic OO framework for UI apps. It's currently PyGTK-0 based but we have implemented lately some changes that will make the change quite convenient. Homepage: http://www.async.com.br/projects/kiwi/ The supplied archive contains the pattern implementation, an example of implementation, and a short document which describes the idea and the architecture. License is LGPL. I'll have a look to see what your architecture is like, and where we can share info. Take care, -- Christian Reis, Senior Engineer, Async Open Source, Brazil. http://async.com.br/~kiko/ | [+55 16] 261 2331 | NMFL ___ pygtk mailing list [EMAIL PROTECTED] http://www.daa.com.au/mailman/listinfo/pygtk Read the PyGTK FAQ: http://www.async.com.br/faq/pygtk/