GSoC 2011: GObject property binding support for GtkBuilder and Glade
This project should make it possible to define bindings between GTK+ widget properties in Glade by using GLib's GBinding API. The idea is to allow simple means of interaction to be defined directly in GtkBuilder files without the need for additional code in the application.
Getting the Code
The gtkbuilder-gbinding branch of GTK+ adds support for a new <binding> tag to the GtkBuilder syntax. It also introduces two new functions, gtk_builder_create_bindings() and gtk_builder_create_bindings_full() which work similarly to the corresponding gtk_builder_connect_signals*() functions and create all property bindings from the read interface description. (This includes hooking up any specified transformation functions via GModule.)
This is not strictly needed to try out the Glade branch (Glade has its own GtkBuilder implementation), but the Glade previewer won't work without it.
git clone git://git.gnome.org/gtk+ git checkout gtkbuilder-gbinding
The Glade branch I am working on is called gbinding. It now has full support for creating, editing, deleting and saving property bindings, including bindings with transformation functions. The feature is accessible from the Bind to source... and Unbind context menu items in the property inspector.
git clone git://git.gnome.org/glade git checkout gbinding
Bug report to track inclusion of the gtkbuilder-gbinding GTK+ branch to master:
Bug 654417 - [GSoC] Add <binding> element to GtkBuilder syntax