gtk2/docs/reference/gtk/migrating-GtkBuilder.sgml

67 lines
2.6 KiB
Plaintext
Raw Normal View History

<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>
<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>
<para>
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
into multiple GtkBuilder input files using the <option>--root</option>
that was mentioned above.
</para></listitem>
<listitem><para>
GtkBuilder does not yet implement support for accessibility
properties. It parses the same &lt;accessibility&gt; 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
appear here over time...
</para>
</chapter>