[pygtk] A Model-View-Controller implementation for pygtk2

2002-12-04 Thread Roberto Cavada
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

2002-12-04 Thread Christian Reis
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/