January 5th, 2010
· This release fixes wxWidgets ListCtrl not updating header on connected variable change. It was a bug of the wxWidget driver (avcwx.py): missed the column name (header) setting call.
December 8th, 2008
· 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).
· 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.