Kiwi is a PyGTK framework for building graphical applications loosely based on MVC Model-View-Controller (MVC) and Allen Holub's Visual proxy [1]. Think of Kiwi as a high-level, object-oriented layer built on PyGTK.
Its design is based on real-world experience using PyGTK to develop large desktop applications, which use many concepts common to most graphical applications: multiple windows and dialogs, forms, data persistence, lists and high-level classes that support domain objects directly. Download ======== Grab the latest sources from: http://download.gnome.org/sources/kiwi/1.9/kiwi-1.9.9.tar.gz What's new since 1.9.8? ======================= - KiwiEntry improvements (Johan, Patrick, Ronaldo) - Win32 installation fixes for Gazpacho & Kiwi (Johan) - DateEntry fixes (Ronaldo, Johan) - DateEntry win32 support (Aaron Spike) - Logging improvements (Johan) - Datatypes refactoring and improved Gazpacho integration (Ronaldo) - Add UI tests (Johan) - Bugs fixes: #2535: entry needs exceptions that don't fail (Patrick O'Brien) #2545: DateEntry calendar popup doesn't hide correctly (Ronaldo) #2562: Falha na exibição de valores do tipo "currency" (Lincoln, Ronaldo) #2610: [Patch] Remove unnecessary on_column__clicked handler (Dave Cook) #2611: Adding a sortable keyword to objectlist (Dave Cook) #2612: [Patch] objectlist.refresh() fix and optimization (Dave Cook) #2632: Problems with datatype currency when the language ... (Lincoln, Johan) #2654: Decimal precision is removed when pickling (Ronaldo) #2656: ComboEntry's clear() is missing (Ronaldo) #2681: Kiwi doesn't respect system colors after widget ... (Johan, Gustavo Barberi) #2682: Mandatory fields fails to validade if they state ... (Gustavo, Ronaldo) #2685: Make it able to turn fading of invalid stateness to ... (Ali, Johan) #2697: Add a pixbuf data type (Johan, Ronaldo) #2698: Add a ProxyButton (Johan, Henrique) #2720: DateEntry breaks when set invalid. (Ali) #2721: Missing locale specific date formatting information ... (Aaron Spike, Johan) #2758: Datatype converters should provide a get_mask method. (Ronaldo) Features ======== * An MVC-derived framework of classes: * Views, which represent the graphical display * Controllers, which handles user interaction with the widgets in a View. * Delegates, combines a View and a Controller. * Models, which are special mixins for your domain objects * Proxies, special types of Delegate designed to implement forms * Validation: Kiwi supports validation on different levels: data type validation and verification on the Model/Proxy level, View validation and hooks for visually displaying validation state. * ObjectList widget, which provides a higher level abstraction of GtkTreeView and all its classes (GtkTreeModel, GtkTreeViewColumn, GtkCellRenderer) with hooks to easily integrate into the Kiwi Framework. * Mask suport: You can set a mask on entries to force the input to follow a certain standard, such as zip code, social security, ip address * Gazpacho integration for most (non-deprecated) interactive widgets with attributes for handling validation and proxy attributes. * UI Testing framework Features a recorder and a player. The recorder allows you to record different tasks, a script will be saved which will reproduce the actions you made in the interface. * Kiwi Tasklets Tasklet is a small coroutines framework written by Gustavo Carneiro, it was previously known as gtasklets. * PyGTK utilities, to make it easier to add signals and properties to your objects. * i18n translation utilities, to help you translate PyGTK applications, currently depends on gettext and intltool. * and many other things! Requirements ============ Python 2.3 or higher (2.4 recommended) http://www.python.org/ PyGTK 2.6.0 or higher (2.8 recommended) http://www.pygtk.org/ gazpacho 0.6.5 (svn recommenced) http://gazpacho.sicem.biz/ Documentation ============= Kiwi provides API documentation generated by epydoc, it can be found at http://www.async.com.br/projects/kiwi/api/ Included in the tarball are also a number of examples, which serves as a good starting point. Keep in mind that most of them require gazpacho to be installed. Thanks ====== Christian Robottom Reis: Original author and design Lorenzo Gil Sanchez: PyGTK 2.x port Also thanks to the following people which has contributed features or bug reports: Ali Afshar, Gustavo Barbieri, Gustavo Carneiro, David M Cook, Daniel Saran R. da Cunha, Patrick O'Brien, Ronaldo Maia, Evandro Vale Miquelito, Henrique Romano, Sidnei da Silva, Aaron Spike Resources ========= Homepage http://www.async.com.br/projects/kiwi/ Download http://www.async.com.br/projects/kiwi/download/ Repository http://svn.async.com.br/cgi-bin/viewcvs.cgi/kiwi/ Report a bug http://bugs.async.com.br/enter_bug.cgi?product=Kiwi API docs http://www.async.com.br/projects/kiwi/api/ Open bugs http://tinyurl.com/cyrms Mail. list http://www.async.com.br/mailman/listinfo/kiwi/ [1] http://en.wikipedia.org/wiki/Model-view-controller [2] http://tinyurl.com/2ccch [3] http://epydoc.sourceforge.net/ -- Johan Dahlin <[EMAIL PROTECTED]> Async Open Source _______________________________________________ gnome-announce-list mailing list gnome-announce-list@gnome.org http://mail.gnome.org/mailman/listinfo/gnome-announce-list