2007-06-29 20:03:48 +00:00
|
|
|
<chapter id="gtk-migrating-GtkBuilder">
|
|
|
|
|
|
|
|
<title>Migrating from libglade to GtkBuilder</title>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
Since version 2.12, GTK+ provides #GtkBuilder to construct
|
|
|
|
user interfaces from XML descriptions, similar to the functionality
|
|
|
|
provided by #GladeXML in the libglade library.
|
|
|
|
</para>
|
|
|
|
|
2007-09-10 17:32:52 +00:00
|
|
|
<para>
|
|
|
|
A good way to start a migration from libglade to GtkBuilder is
|
|
|
|
to run the <link linkend="gtk-builder-convert">gtk-builder-convert</link>
|
|
|
|
utility on your glade file, and inspect the resulting output.
|
|
|
|
If your code uses the @root parameter of glade_xml_new(), you
|
|
|
|
may want to split your glade file into multiple GtkBuilder files
|
|
|
|
by using the <option>--root</option> option of
|
|
|
|
<application>gtk-builder-convert</application>.
|
|
|
|
</para>
|
|
|
|
|
2007-06-29 20:03:48 +00:00
|
|
|
<para>
|
2007-07-10 05:28:52 +00:00
|
|
|
While GtkBuilder strives to be a complete replacement for
|
|
|
|
libglade, there are a number of areas where it is currently
|
|
|
|
still behind libglade:
|
|
|
|
<itemizedlist>
|
|
|
|
|
|
|
|
<listitem><para>
|
|
|
|
GtkBuilder can not construct partial trees, it lacks
|
|
|
|
the equivalent of the @root parameter of glade_xml_new().
|
|
|
|
Due to the way GtkBuilder parses its input, this is difficult
|
|
|
|
to implement, see
|
|
|
|
<ulink url="http://bugzilla.gnome.org/show_bug.cgi?id=447998">bug
|
|
|
|
447998</ulink>. As a workaround, you can split your glade file
|
2007-09-10 17:32:52 +00:00
|
|
|
into multiple GtkBuilder input files using the <option>--root</option>
|
|
|
|
that was mentioned above.
|
2007-07-10 05:28:52 +00:00
|
|
|
</para></listitem>
|
|
|
|
|
|
|
|
<listitem><para>
|
|
|
|
GtkBuilder does not yet implement support for accessibility
|
|
|
|
properties. It parses the same <accessibility> elements
|
|
|
|
as libglade, but ignores them. See
|
|
|
|
<ulink url="http://bugzilla.gnome.org/show_bug.cgi?id=454653">bug
|
|
|
|
454983</ulink> for the current status of accessibility support
|
|
|
|
in GtkBuilder.
|
|
|
|
</para></listitem>
|
|
|
|
|
|
|
|
<listitem><para>
|
|
|
|
GtkBuilder supports context information in translatable
|
|
|
|
properties in a slightly different way than libglade.
|
|
|
|
Intltool does not yet support this; see
|
|
|
|
<ulink url="http://bugzilla.gnome.org/show_bug.cgi?id=454894">bug
|
|
|
|
454894</ulink> for the current status of intltool support for
|
|
|
|
GtkBuilder files. Thankfully, context in translations is a
|
|
|
|
rarely used feature, and if you are not using it, intltools
|
|
|
|
glade format support works just fine for GtkBuilder files.
|
|
|
|
</para></listitem>
|
|
|
|
|
|
|
|
</itemizedlist>
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
More details about migrating from libglade to GtkBuilder will
|
2007-06-29 20:03:48 +00:00
|
|
|
appear here over time...
|
|
|
|
</para>
|
|
|
|
|
|
|
|
</chapter>
|