Hi Denis On Sun, Mar 20, 2011 at 8:26 AM, Denis Washington <[email protected]> wrote: > Hello, > > My name is Denis Washington and I am a first-semester Computer Science > student at the Humboldt University Berlin, Germany. Being a student now, > I would love to finally participate in this year's Google Summer of > Code. Therefore, I'd like to present you my project idea and am asking > you whether you find it to be viable for GSoC (and if someone would like > to mentor me): > > With the GBinding facility introduced in GLib 2.26, it is possible to > declare bindings between two specified GObject instance properties; that > is, whenever the "source" property's value is changed, the "target" > property is updated accordingly. Unfortunately, while this is very handy > for declaratively define several kinds of basic UI interactions (e.g., > toggling the sensitivity of a group of settings widgets according to the > state of a master on/off switch), there is no support for embedding > GBindings in GtkBuiler files. My idea is to change that. Specifically, I > want to do the following: > > * GTK+: Define a GtkBuilder syntax for property bindings and add support > for reading it to GtkBuilder. > * Glade: Add support for graphically defining property bindings, > > What do you think of this idea? Do you think it is big enough in scope > to be a Summer of Code project? I very much appreciate any feedback!
I'm glad to see this idea; I actually did a GSoc project a couple of years ago with a similar aim of binding specifically GSettings keys in GtkBuilder files as a replacement for the GConf-peditor code found in the old control centre. Binding any property would be even more useful, of course, although it would probably only reach its full potential with GLADE embedded in Anjuta (or with some GObject-introspection hack) to give access to the list of non-UI objects in the program and their properties. GSettings bindings could work separately to this, where you specify a key to link the property to rather than an object property. There's a parallel with GLADE's signal connection UI, I don't know a huge amount about GLADE development but I do know that the signal editor is due an overhaul and perhaps your project could take this on ... but then again, my project was simply to introduce settings bindings and I ran out of time for that particular aspect (kind of got sidetracked :) so maybe this would be too big for a gsoc. I certainly wouldn't worry that introducing property bindings is not enough work for a gsoc project anyway. The code I wrote is still here: http://gitorious.org/gsettings-gtk , it dates from before gsettings and gvariant were even merged so it will be probably quite broken. I was planning on finishing it when I get the time, but if it can become part of your project then even better :) Hopefully someone who knows more about GLADE can give you some ideas for the UI side of things, but the Gtk+ builder side would certainly not be too difficult and is something people want, see for example: https://bugzilla.gnome.org/show_bug.cgi?id=494329 Good luck! sam _______________________________________________ Glade-devel maillist - [email protected] http://lists.ximian.com/mailman/listinfo/glade-devel
