| GTK+ Reference Manual | ||||
|---|---|---|---|---|
#include <gtk/gtk.h>
            GtkBuildable;
            GtkBuildableIface;
void        gtk_buildable_set_name          (GtkBuildable *buildable,
                                             const gchar *name);
const gchar* gtk_buildable_get_name         (GtkBuildable *buildable);
void        gtk_buildable_add_child         (GtkBuildable *buildable,
                                             GtkBuilder *builder,
                                             GObject *child,
                                             const gchar *type);
void        gtk_buildable_set_buildable_property
                                            (GtkBuildable *buildable,
                                             GtkBuilder *builder,
                                             const gchar *name,
                                             const GValue *value);
GObject*    gtk_buildable_construct_child   (GtkBuildable *buildable,
                                             GtkBuilder *builder,
                                             const gchar *name);
gboolean    gtk_buildable_custom_tag_start  (GtkBuildable *buildable,
                                             GtkBuilder *builder,
                                             GObject *child,
                                             const gchar *tagname,
                                             GMarkupParser *parser,
                                             gpointer *data);
void        gtk_buildable_custom_tag_end    (GtkBuildable *buildable,
                                             GtkBuilder *builder,
                                             GObject *child,
                                             const gchar *tagname,
                                             gpointer *data);
void        gtk_buildable_custom_finished   (GtkBuildable *buildable,
                                             GtkBuilder *builder,
                                             GObject *child,
                                             const gchar *tagname,
                                             gpointer data);
void        gtk_buildable_parser_finished   (GtkBuildable *buildable,
                                             GtkBuilder *builder);
GObject*    gtk_buildable_get_internal_child
                                            (GtkBuildable *buildable,
                                             GtkBuilder *builder,
                                             const gchar *childname);
GtkBuildable is implemented by GtkListItem, GtkBin, GtkTreeView, GtkButtonBox, GtkPaned, GtkColorSelectionDialog, GtkVButtonBox, GtkTearoffMenuItem, GtkEntry, GtkOptionMenu, GtkImage, GtkCalendar, GtkFixed, GtkLinkButton, GtkHButtonBox, GtkInputDialog, GtkRadioButton, GtkVRuler, GtkVSeparator, GtkVBox, GtkCurve, GtkRadioToolButton, GtkHRuler, GtkToggleButton, GtkSeparatorMenuItem, GtkHScale, GtkTable, GtkTreeViewColumn, GtkImageMenuItem, GtkFileChooserButton, GtkCheckButton, GtkRadioMenuItem, GtkMenuShell, GtkStatusbar, GtkDrawingArea, GtkButton, GtkIconView, GtkNotebook, GtkUIManager, GtkTree, GtkSocket, GtkVScale, GtkProgress, GtkGammaCurve, GtkText, GtkCList, GtkAlignment, GtkMenuToolButton, GtkMenuItem, GtkPageSetupUnixDialog, GtkRecentChooserMenu, GtkToolItem, GtkHSeparator, GtkProgressBar, GtkCTree, GtkActionGroup, GtkRange, GtkAssistant, GtkFileSelection, GtkToolbar, GtkTreeItem, GtkAccelLabel, GtkPreview, GtkRecentChooserDialog, GtkExpander, GtkScale, GtkTreeStore, GtkMessageDialog, GtkSeparator, GtkLayout, GtkFontSelection, GtkCellView, GtkInvisible, GtkWindow, GtkSeparatorToolItem, GtkFileChooserWidget, GtkCheckMenuItem, GtkToolButton, GtkMisc, GtkEventBox, GtkFontButton, GtkEntryCompletion, GtkDialog, GtkHBox, GtkCombo, GtkOldEditable, GtkAspectFrame, GtkAboutDialog, GtkHScrollbar, GtkListStore, GtkRecentChooserWidget, GtkToggleToolButton, GtkComboBox, GtkVScrollbar, GtkFrame, GtkSpinButton, GtkList, GtkLabel, GtkFontSelectionDialog, GtkTipsQuery, GtkColorSelection, GtkItem, GtkWidget, GtkMenuBar, GtkTextView, GtkArrow, GtkToggleAction, GtkRadioAction, GtkPlug, GtkHPaned, GtkBox, GtkMenu, GtkAction, GtkPrintUnixDialog, GtkComboBoxEntry, GtkColorButton, GtkPixmap, GtkFileChooserDialog, GtkRuler, GtkVPaned, GtkHandleBox, GtkScrollbar, GtkContainer, GtkSizeGroup, GtkViewport and GtkScrolledWindow.
typedef struct {
  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);
} GtkBuildableIface;
void gtk_buildable_set_name (GtkBuildable *buildable, const gchar *name);
Sets the name of the buildable object.
buildable : | 
a GtkBuildable | 
name : | 
name to set | 
Since 2.12
const gchar* gtk_buildable_get_name (GtkBuildable *buildable);
Gets the name of the buildable object. 
GtkBuilder sets the name based on the the 
GtkBuilder UI definition 
used to construct the buildable.
buildable : | 
a GtkBuildable | 
| Returns : |  the name set with gtk_buildable_set_name()
 | 
Since 2.12
void gtk_buildable_add_child (GtkBuildable *buildable, GtkBuilder *builder, GObject *child, const gchar *type);
Adds a child to buildable. type is an optional string
describing how the child should be added.
buildable : | 
a GtkBuildable | 
builder : | 
a GtkBuilder | 
child : | 
child to add | 
type : | 
 kind of child or NULL
 | 
Since 2.12
void        gtk_buildable_set_buildable_property
                                            (GtkBuildable *buildable,
                                             GtkBuilder *builder,
                                             const gchar *name,
                                             const GValue *value);
Sets the property name name to value on the buildable object.
buildable : | 
a GtkBuildable | 
builder : | 
a GtkBuilder | 
name : | 
name of property | 
value : | 
value of property | 
Since 2.12
GObject* gtk_buildable_construct_child (GtkBuildable *buildable, GtkBuilder *builder, const gchar *name);
Constructs a child of buildable with the name name. 
GtkBuilder calls this function if a "constructor" has been specified in the UI definition.
buildable : | 
A GtkBuildable | 
builder : | 
GtkBuilder used to construct this object | 
name : | 
name of child to construct | 
| Returns : | the constructed child | 
Since 2.12
gboolean gtk_buildable_custom_tag_start (GtkBuildable *buildable, GtkBuilder *builder, GObject *child, const gchar *tagname, GMarkupParser *parser, gpointer *data);
This is called for each unknown element under <child>.
buildable : | 
a GtkBuildable | 
builder : | 
a GtkBuilder used to construct this object | 
child : | 
 child object or NULL for non-child tags
 | 
tagname : | 
name of tag | 
parser : | 
a GMarkupParser structure to fill in | 
data : | 
return location for user data that will be passed in to parser functions | 
| Returns : |  TRUE if a object has a custom implementation, FALSE
         if it doesn't.
 | 
Since 2.12
void gtk_buildable_custom_tag_end (GtkBuildable *buildable, GtkBuilder *builder, GObject *child, const gchar *tagname, gpointer *data);
This is called at the end of each custom element handled by the buildable.
buildable : | 
A GtkBuildable | 
builder : | 
GtkBuilder used to construct this object | 
child : | 
 child object or NULL for non-child tags
 | 
tagname : | 
name of tag | 
data : | 
user data that will be passed in to parser functions | 
Since 2.12
void gtk_buildable_custom_finished (GtkBuildable *buildable, GtkBuilder *builder, GObject *child, const gchar *tagname, gpointer data);
This is similar to gtk_buildable_parser_finished() but is
called once for each custom tag handled by the buildable.
buildable : | 
a GtkBuildable | 
builder : | 
a GtkBuilder | 
child : | 
 child object or NULL for non-child tags
 | 
tagname : | 
the name of the tag | 
data : | 
user data created in custom_tag_start | 
Since 2.12
void gtk_buildable_parser_finished (GtkBuildable *buildable, GtkBuilder *builder);
Called when the builder finishes the parsing of a 
GtkBuilder UI definition. 
Note that this will be called once for each time 
gtk_builder_add_from_file() or gtk_builder_add_from_string() 
is called on a builder.
buildable : | 
a GtkBuildable | 
builder : | 
a GtkBuilder | 
Since 2.12
GObject* gtk_buildable_get_internal_child (GtkBuildable *buildable, GtkBuilder *builder, const gchar *childname);
Get the internal child called childname of the buildable object.
buildable : | 
a GtkBuildable | 
builder : | 
a GtkBuilder | 
childname : | 
name of child | 
| Returns : | the internal child of the buildable object | 
Since 2.12