[Glade-devel] gsettings and glade



Hello!
I'm doing Summer of code work integrating Gtk+ and the awesome
gsettings. This includes adding a bunch of stuff to GLADE to make
binding widgets to settings easy. This can already be done in code
using g_settings_bind, but nobody likes writing code when the computer
could do it for us!

I thought I would mail a rundown of some stuff I plan to do over the next
couple of weeks, because I hope to get it merged into GLADE at some
point. (after gsettings is released, and by gsettings-gtkbuilder stuff
is merged, and gvariant is merged into glib :)

Here is an exciting bullet list of my plans
* add a 'bindings' tab based on the 'signals' tab which can bind any
properties that it makes any sense to (things that aren't
construct-only, or read-only, or virtual).

This is flexible but most of the properties are still things you
wouldn't bind a settings key to in a hundred years. This also makes
the inspector's notebook very wide. I wonder if it would be worth
hiding the bindings tab by default and having a sort of 'advanced...'
checkbox to show it

* for properties you would actually want to bind to, like
GtkEntry::text and GtkToggleButton::active, add a GtkEntry under the
property editor widget to enter a gsettings key name to bind to.

* schemas will be generated from the .ui file at compile time, using
the widget's state in the GtkBuilder file as the default key value

* enums and flags I haven't really considered yet. It would be nice to
make say, a set of radio buttons automatically tied to an enum
definition, and then bind the radio group to a settings key. I guess
this isn't really a gsettings-specific issue. It would still be nice
for GLADE to have this though. I guess you would need to associate a
glib-mkenums input file with the .ui file.

Comments on this are very welcome. I might not have explained this
stuff very well either I am happy to clarify. Also, I only started
working on this stuff yesterday so it's all changable if some better
ideas come up.

Thanks for reading anyway!
Sam




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]