libglade replacement for gtk+ 2.8 [SNEAK PREVIEW]



Hi gtk-devel list

In preparation for the meeting tonight I'd like to present this document
describing integration of libglade in gtk+.

* Custom properties

Most widgets exposes all important states through GObject properties,
however in some cases the state is not properly exported. Libglade
handles this by having custom properties; one example is the
set_format_string accessor for GtkProgress. Currently there are 36
custom properties handled in libglade. Ideally all of these "fixes"
should be moved into the widgets themselves so libglade doesn't need to
patch them to work in a compatible way.

* GObject support

The most important thing libglade lacks today is support for GObjects.
Without this GUI Builders like gazpacho cannot support GtkUIManager and
GtkTreeModel properly. To be able to build a modern graphical
builder/designer this is of highest priority.

James has written a proposal on how to handle arbitrary GObjects, he'll
not be able to attend the meeting today
(due to timezone differences) but the document can be found here:
http://live.gnome.org/LibgladeWithGobjects

* GObject Serialisation

At some point GObject is going to support serialisation and that we
should be prepared to support that.
Currently the only state available through introspection of a GObject
are the properties.

* Extending

To allow external library to integrate with libglade (and GUI builders),
it provides an extension module
interface which allows custom properties to be registered, it also allow
you to specifiy how to construct
children for your widgets (using a custom so called build_children
handler).
Most of this can most likley use the new introspection API to fetch
information about given GTypes.

* XML Parser

Currently, libglade uses libxml for parsing. To avoid a dependency of
libxml in gtk+ we should use GMarkup, there is a somewhat outdated patch
in bugzilla bug #139821
The patch is pretty straight forward and shouldn't be an issue at all.

Johan




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