Libglade

Libglade is a library that performs a similar job to the C
source output routines in the GLADE user interface builder.
Whereas GLADE's output routines create C source code that must be
compiled, libglade builds the interface from an XML file (GLADE's
save format) at runtime. This can allow modifying the user
interface without recompiling.

Libglade can also automatically connect signal handlers in the
user interface. It does this by matching handler names specified
in the glade file with symbols in the executable looked up with
the gmodule library (this requires that applications be linked
with the --export-dynamic flag).