This document contains information about the functionalities and the architecture of a Model-View-Controller Infrastructure (MVC from here on) for Pygtk version 2. The aim is to supply the essential information in order to make everyone able to interact, modify and extend the infrastructure, as well as for creating new applications based on this infrastructure. This document is not complete, and it has been extracted from another document which describes the architecture of gNuSMV 2, the new GUI for the NuSMV model checker3. gnusmv is strongly based on the MVC pattern implementation for Pygtk we developed at ITC-irst.
Section 2 briefly gives an overview of the general architecture for a gNuSMV application based on Python and the GTK toolkit, showing all major parts, and how these depend on each other.
Section 3 describes the basement of a GUI application, the Model-View-Controller Infrastructure. An example via a simple Sequence Diagram is also provided, in order to better fix concepts.
Finally, Sections 4 and 5 supply some further details about implementation, via an example. The example aims to make more concrete the ideas described in all previous sections.