Chapter 23. Glade and libglademm

Table of Contents

Although you can use C++ code to instantiate and arrange widgets, this can soon become tedious and repetitive. And it requires a recompilation to show changes. The Glade application allows you to layout widgets on screen and then save an XML description of the arrangement. Your application can then use the libglademm API to load that XML file at runtime and obtain a pointer to specifically named widget instances.

This has the following advantages:

  1. Less C++ code is required.
  2. UI changes can be seen more quickly, so UIs are able to improve.
  3. Designers without programming skills can create and edit UIs.

You still need C++ code to deal with User Interface changes triggered by user actions, but using libglademm for the basic widget layout allows you to focus on implementing that functionality.

Headers and Linking

To use libglade, you must include the header file, like so:

#include <libglademm.h>

You must also link to the libglademm library. For instance, you can add libglademm-2.4 to your list of pkg-config modules, as described in the Headers and Linking section for gtkmm.