[Glade-devel] [GSoC] Project Idea: GBinding support for GtkBuilder / Glade
Denis Washington
denisw at online.de
Tue Mar 22 04:31:04 EDT 2011
Am 21.03.2011 22:56, schrieb Sam Thursfield:
> Hi Denis
>
> On Sun, Mar 20, 2011 at 8:26 AM, Denis Washington<denisw at online.de> 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.
Ah, cool! I tripped over your Summer of Code project when I searched for
prior art. Hi!
> 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.
I was also thinking that one could at least use the same UI for setting
bindings, but implementing that would probably be out of scope for my
SoC project due to time (maybe as an optional "if-time-permits" type of
task).
> 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.
OK.
> 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
Thanks! And thank you for your comments and pointers, that already
helped me quite a bit. :)
Denis
More information about the Glade-devel
mailing list