GtkBuildable

GtkBuildable — SHORT

Synopsis


#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);

Object Hierarchy


  GInterface
   +----GtkBuildable

Known Implementations

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, GtkScaleButton, GtkRecentChooserWidget, GtkToggleToolButton, GtkComboBox, GtkVScrollbar, GtkFrame, GtkSpinButton, GtkList, GtkLabel, GtkFontSelectionDialog, GtkTipsQuery, GtkColorSelection, GtkItem, GtkWidget, GtkRecentAction, GtkVolumeButton, GtkMenuBar, GtkTextView, GtkArrow, GtkToggleAction, GtkRadioAction, GtkPlug, GtkHPaned, GtkBox, GtkMenu, GtkAction, GtkPrintUnixDialog, GtkComboBoxEntry, GtkColorButton, GtkPixmap, GtkFileChooserDialog, GtkRuler, GtkVPaned, GtkHandleBox, GtkScrollbar, GtkContainer, GtkSizeGroup, GtkViewport and GtkScrolledWindow.

Description

LONG

Details

GtkBuildable

typedef struct _GtkBuildable GtkBuildable;


GtkBuildableIface

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;


gtk_buildable_set_name ()

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

Sets the name of the buildable object, it's used to synchronize the name if the object already has it's own concept of name.

GtkWidget implements this to map the buildable name to the widget name

buildable : a GtkBuildable
name : name to set

Since 2.12


gtk_buildable_get_name ()

const gchar*        gtk_buildable_get_name              (GtkBuildable *buildable);

Returns the buildable name. GtkBuilder sets the name based on the the GtkBuilder UI definition used to construct the buildable.

GtkWidget implements this to map the buildable name to the widget name

buildable : a GtkBuildable
Returns : the name set with gtk_buildable_set_name()

Since 2.12


gtk_buildable_add_child ()

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

Add a child to a buildable. type is an optional string describing how the child should be added.

GtkContainer implements this to be able to add a child widget to the container. GtkNotebook uses the type to distinguish between page labels (type = "page-label") and normal children.

buildable : a GtkBuildable
builder : a GtkBuilder
child : child to add
type : kind of child or NULL

Since 2.12


gtk_buildable_set_buildable_property ()

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 which is created by the builder.

This is optional to implement and is normally not needed. g_object_set_property() is used as a fallback.

GtkWindow implements this to delay showing (::visible) itself until the whole interface is fully created.

buildable : a GtkBuildable
builder : a GtkBuilder
name : name of property
value : value of property

Since 2.12


gtk_buildable_construct_child ()

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

Construct a child of buildable with the name name.

GtkUIManager implements this to reference to a widget created in a <ui> tag which is outside of the normal GtkBuilder UI definition hierarchy.

buildable : A GtkBuildable
builder : GtkBuilder used to construct this object
name : name of child to construct
Returns : the child with name 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);

This is called when an unknown tag under <child> tag is found.

Called when an unknown tag is present under a <child> tag. If the buildable implementation wishes to handle the tag it should return TRUE and fill in the parser structure. Remember to either implement custom_tag_end or custom_tag_finish to free the user data allocated here.

GtkWidget implements this and parsers all <accelerator> tags to keyboard accelerators. GtkContainer implements this to map properties defined under <packing> tag to child properties.

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
data : 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


gtk_buildable_custom_tag_end ()

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

This is called for each custom tag handled by the buildable. It will be called when the end of the tag is reached.

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


gtk_buildable_custom_finished ()

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


gtk_buildable_parser_finished ()

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

Finish the parsing of a GtkBuilder UI definition snippet. 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.

GtkWindow implements this to delay showing (::visible) itself until the whole interface is fully created.

buildable : a GtkBuildable
builder : a GtkBuilder

Since 2.12


gtk_buildable_get_internal_child ()

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

See Also

SEE ALSO