## GtkBuildable GtkBuildable |

## Functions

void | gtk_buildable_set_name ()
const gchar * | gtk_buildable_get_name ()
void | gtk_buildable_add_child ()
void | gtk_buildable_set_buildable_property ()
GObject * | gtk_buildable_construct_child ()
gboolean | gtk_buildable_custom_tag_start ()
void | gtk_buildable_custom_tag_end ()
void | gtk_buildable_custom_finished ()
void | gtk_buildable_parser_finished ()
GObject * | gtk_buildable_get_internal_child ()

## Types and Values

| GtkBuildable
struct | GtkBuildableIface

## Object Hierarchy

        GInterface
        ╰── GtkBuildable

## Prerequisites

GtkBuildable requires GObject.

## Known Implementations

GtkBuildable is implemented by GtkAboutDialog, GtkAccelLabel, GtkAction, GtkActionGroup, GtkAlignment, GtkArrow, GtkAspectFrame, GtkAssistant, GtkBin, GtkBox, GtkButton, GtkButtonBox, GtkCList, GtkCTree, GtkCalendar, GtkCellView, GtkCheckButton, GtkCheckMenuItem, GtkColorButton, GtkColorSelection, GtkColorSelectionDialog, GtkCombo, GtkComboBox, GtkComboBoxEntry, GtkComboBoxText, GtkContainer, GtkCurve, GtkDialog, GtkDrawingArea, GtkEntry, GtkEntryCompletion, GtkEventBox, GtkExpander, GtkFileChooserButton, GtkFileChooserDialog, GtkFileChooserWidget, GtkFileSelection, GtkFixed, GtkFontButton, GtkFontSelection, GtkFontSelectionDialog, GtkFrame, GtkGammaCurve, GtkHBox, GtkHButtonBox, GtkHPaned, GtkHRuler, GtkHSV, GtkHScale, GtkHScrollbar, GtkHSeparator, GtkHandleBox, GtkIconFactory, GtkIconView, GtkImage, GtkImageMenuItem, GtkInfoBar, GtkInputDialog, GtkInvisible, GtkItem, GtkLabel, GtkLayout, GtkLinkButton, GtkList, GtkListItem, GtkListStore, GtkMenu, GtkMenuBar, GtkMenuItem, GtkMenuShell, GtkMenuToolButton, GtkMessageDialog, GtkMisc, GtkNotebook, GtkOffscreenWindow, GtkOldEditable, GtkOptionMenu, GtkPageSetupUnixDialog, GtkPaned, GtkPixmap, GtkPlug, GtkPreview, GtkPrintUnixDialog, GtkProgress, GtkProgressBar, GtkRadioAction, GtkRadioButton, GtkRadioMenuItem, GtkRadioToolButton, GtkRange, GtkRecentAction, GtkRecentChooserDialog, GtkRecentChooserMenu, GtkRecentChooserWidget, GtkRuler, GtkScale, GtkScaleButton, GtkScrollbar, GtkScrolledWindow, GtkSeparator, GtkSeparatorMenuItem, GtkSeparatorToolItem, GtkSizeGroup, GtkSocket, GtkSpinButton, GtkSpinner, GtkStatusbar, GtkTable, GtkTearoffMenuItem, GtkText, GtkTextTagTable, GtkTextView, GtkTipsQuery, GtkToggleAction, GtkToggleButton, GtkToggleToolButton, GtkToolButton, GtkToolItem, GtkToolItemGroup, GtkToolPalette, GtkToolbar, GtkTree, GtkTreeItem, GtkTreeStore, GtkTreeView, GtkTreeViewColumn, GtkUIManager, GtkVBox, GtkVButtonBox, GtkVPaned, GtkVRuler, GtkVScale, GtkVScrollbar, GtkVSeparator, GtkViewport, GtkVolumeButton, GtkWidget and GtkWindow.

## Includes

    #include <gtk/gtk.h>

## Description

## Functions

### gtk_buildable_set_name ()

    void
    gtk_buildable_set_name (GtkBuildable *buildable,
                            const gchar *name);

Since: 2.12

### gtk_buildable_get_name ()

    const gchar *
    gtk_buildable_get_name (GtkBuildable *buildable);

Since: 2.12

### gtk_buildable_add_child ()

    void
    gtk_buildable_add_child (GtkBuildable *buildable,
                             GtkBuilder *builder,
                             GObject *child,
                             const gchar *type);

Since: 2.12

### gtk_buildable_set_buildable_property ()

    void
    gtk_buildable_set_buildable_property (GtkBuildable *buildable,
                                          GtkBuilder *builder,
                                          const gchar *name,
                                          const GValue *value);

Since: 2.12

### gtk_buildable_construct_child ()

    GObject *
    gtk_buildable_construct_child (GtkBuildable *buildable,
                                   GtkBuilder *builder,
                                   const gchar *name);

Since: 2.12

### gtk_buildable_custom_tag_start ()

    gboolean
    gtk_buildable_custom_tag_start (GtkBuildable *buildable,
                                    GtkBuilder *builder,
                                    GObject *child,
                                    const gchar *tagname,
                                    GMarkupParser *parser,
                                    gpointer *data);

Since: 2.12

### gtk_buildable_custom_tag_end ()

    void
    gtk_buildable_custom_tag_end (GtkBuildable *buildable,
                                  GtkBuilder *builder,
                                  GObject *child,
                                  const gchar *tagname,
                                  gpointer *data);

Since: 2.12

### gtk_buildable_custom_finished ()

    void
    gtk_buildable_custom_finished (GtkBuildable *buildable,
                                   GtkBuilder *builder,
                                   GObject *child,
                                   const gchar *tagname,
                                   gpointer data);

Since: 2.12

### gtk_buildable_parser_finished ()

    void
    gtk_buildable_parser_finished (GtkBuildable *buildable,
                                   GtkBuilder *builder);

Since: 2.12

### gtk_buildable_get_internal_child ()

    GObject *
    gtk_buildable_get_internal_child (GtkBuildable *buildable,
                                      GtkBuilder *builder,
                                      const gchar *childname);

Since: 2.12

## Types and Values

### GtkBuildable

    typedef struct _GtkBuildable GtkBuildable;

### struct GtkBuildableIface

    struct GtkBuildableIface {
      GTypeInterface g_iface;

      /* virtual table */
      void          (* set_name)               (GtkBuildable  *buildable,
                                                const gchar   *name);
      const gchar * (* get_name)               (GtkBuildable  *buildable);
      void          (* add_child)              (GtkBuildable  *buildable,
    					    GtkBuilder    *builder,
    					    GObject       *child,
    					    const gchar   *type);
      void          (* set_buildable_property) (GtkBuildable  *buildable,
    					    GtkBuilder    *builder,
    					    const gchar   *name,
    					    const GValue  *value);
      GObject *     (* construct_child)        (GtkBuildable  *buildable,
    					    GtkBuilder    *builder,
    					    const gchar   *name);
      gboolean      (* custom_tag_start)       (GtkBuildable  *buildable,
    					    GtkBuilder    *builder,
    					    GObject       *child,
    					    const gchar   *tagname,
    					    GMarkupParser *parser,
    					    gpointer      *data);
      void          (* custom_tag_end)         (GtkBuildable  *buildable,
    					    GtkBuilder    *builder,
    					    GObject       *child,
    					    const gchar   *tagname,
    					    gpointer      *data);
      void          (* custom_finished)        (GtkBuildable  *buildable,
    					    GtkBuilder    *builder,
    					    GObject       *child,
    					    const gchar   *tagname,
    					    gpointer       data);
      void          (* parser_finished)        (GtkBuildable  *buildable,
    					    GtkBuilder    *builder);

      GObject *     (* get_internal_child)     (GtkBuildable  *buildable,
    					    GtkBuilder    *builder,
    					    const gchar   *childname);
    };