AVC

Free and open source application view controller
Download

AVC Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Freeware
  • Price:
  • FREE
  • Publisher Name:
  • Fabrizio Pollastri
  • Publisher web site:
  • http://avc.inrim.it/html/
  • Operating Systems:
  • Mac OS X
  • File Size:
  • 603 KB

AVC Tags


AVC Description

Free and open source application view controller AVC is a multiplatform, fully automatic, live connection among graphical interface widgets and application variables for the python language. AVC supports in a uniform way the most popular widget toolkits: Qt3, Qt4, GTK+, Tk, wxWidgets. AVC is a python package that can be imported by any python application.The display and the control of some application data through a GUI (Graphical User Interface) is a central problem in GUI programming, it absorbs a relevant part of the programming effort. AVC makes this programming very easy, far more easy than traditional solutions based on MVC (Model View Controller). NOTE: AVC is licensed and distributed under the terms of the GNU GPL license. Here are some key features of "AVC": · Fully transparent widget-variable connections · Automatic connection by matching widgets and variables names · Multiple matching namespaces · Dynamic connections · No design pattern, no application redesign, no widget toolkit dependent code, separation between application logic and GUI. · Multiple widget toolkits support: GTK+, Qt3, Qt4, Tk, wxWidgets. · Full compatibility and support for Glade, Qt Designer, Visual Tcl and wxGlade interface design tools. · Widgets support: button, check button, combo box, entry, label, radio button, slider, spin button, status bar, text view/edit, toggle button. · Variable types support: boolean, integer, float, string, list, tuple. · Multiple widgets to one variable connection · Dual update timing of variable value views: immediate or periodic. · Testing printout logging activity with selectable verbosity · Python package written in pure python Requirements: · Python · PyGTK · PyQt What's New in This Release: · This release comes with a big code rewrite and a step up in internal complexity for the introduction of multiple matching namespaces and dynamic connections. A small change in user api is also introduced. Multiple matching namespaces: · Now, each python object (class instance) in the application program has its own matching namespace. This means that AVC can search for matching names in the attributes of a given object, from the application side, and in the widget names of a given widget tree or subtree, from the GUI side. Each name space is independent from the others, this allows different connections belonging to different objects to have the same matching name. For example, AVC can create and manage all the widget-variable connections required by an application that needs to instantiate a number of object from a class that creates its own GUI or a part of a GUI and interacts with it by connecting some of its attributes to some widgets of its GUI (see "countdown" example). Dynamic connections: · Widget-variable connections can be created at any run time, in this way, AVC can connect widgets that are created later than application start up time. When the application deletes a widget that belongs to a connection, AVC automatically removes it from the connection and if the connection has no more widgets, the connection is also removed (see "countdown" example). Small changes in user api: · Now, AVC detects automatically the widget toolkit imported in the applcation, so the same import statement is used for AVC import avc or from avc import *, this behaviour is incompatible with older AVC releases. · A new method ("avc_connect") is introduced to cope with multiple namespaces and dynamic connections. As usual, any application using AVC first has to call "avc_init" at init time, then, if other connections are required, all subsequent AVC calls must be done to "avc_connect". Uniform separation between application logic and GUI: · AVC allows to structure the application with program logic separated from GUI statements for all supported toolkits. For example, program logic can be put in one class and GUI management in another class (see "counter" example). Older releases allowed this separation for GTK+ and Tk toolkits only.


AVC Related Software