GtkBuildable

GtkBuildable — Interface for objects that can be built by GtkBuilder

Functions

Types and Values

Object Hierarchy

    GInterface
    ╰── GtkBuildable

Prerequisites

GtkBuildable requires GObject.

Known Implementations

GtkBuildable is implemented by GtkAboutDialog, GtkAccelLabel, GtkAction, GtkActionBar, GtkActionGroup, GtkAlignment, GtkAppChooserButton, GtkAppChooserDialog, GtkAppChooserWidget, GtkApplicationWindow, GtkArrow, GtkAspectFrame, GtkAssistant, GtkBin, GtkBox, GtkButton, GtkButtonBox, GtkCalendar, GtkCellArea, GtkCellAreaBox, GtkCellView, GtkCheckButton, GtkCheckMenuItem, GtkColorButton, GtkColorChooserDialog, GtkColorChooserWidget, GtkColorSelection, GtkColorSelectionDialog, GtkComboBox, GtkComboBoxText, GtkContainer, GtkDialog, GtkDrawingArea, GtkEntry, GtkEntryCompletion, GtkEventBox, GtkExpander, GtkFileChooserButton, GtkFileChooserDialog, GtkFileChooserWidget, GtkFileFilter, GtkFixed, GtkFlowBox, GtkFlowBoxChild, GtkFontButton, GtkFontChooserDialog, GtkFontChooserWidget, GtkFontSelection, GtkFontSelectionDialog, GtkFrame, GtkGLArea, GtkGrid, GtkHBox, GtkHButtonBox, GtkHPaned, GtkHSV, GtkHScale, GtkHScrollbar, GtkHSeparator, GtkHandleBox, GtkHeaderBar, GtkIconFactory, GtkIconView, GtkImage, GtkImageMenuItem, GtkInfoBar, GtkInvisible, GtkLabel, GtkLayout, GtkLevelBar, GtkLinkButton, GtkListBox, GtkListBoxRow, GtkListStore, GtkLockButton, GtkMenu, GtkMenuBar, GtkMenuButton, GtkMenuItem, GtkMenuShell, GtkMenuToolButton, GtkMessageDialog, GtkMisc, GtkModelButton, GtkNotebook, GtkOffscreenWindow, GtkOverlay, GtkPageSetupUnixDialog, GtkPaned, GtkPlacesSidebar, GtkPlug, GtkPopover, GtkPopoverMenu, GtkPrintUnixDialog, GtkProgressBar, GtkRadioAction, GtkRadioButton, GtkRadioMenuItem, GtkRadioToolButton, GtkRange, GtkRecentAction, GtkRecentChooserDialog, GtkRecentChooserMenu, GtkRecentChooserWidget, GtkRecentFilter, GtkRevealer, GtkScale, GtkScaleButton, GtkScrollbar, GtkScrolledWindow, GtkSearchBar, GtkSearchEntry, GtkSeparator, GtkSeparatorMenuItem, GtkSeparatorToolItem, GtkShortcutsGroup, GtkShortcutsSection, GtkShortcutsShortcut, GtkShortcutsWindow, GtkSizeGroup, GtkSocket, GtkSpinButton, GtkSpinner, GtkStack, GtkStackSidebar, GtkStackSwitcher, GtkStatusbar, GtkSwitch, GtkTable, GtkTearoffMenuItem, GtkTextTagTable, GtkTextView, GtkToggleAction, GtkToggleButton, GtkToggleToolButton, GtkToolButton, GtkToolItem, GtkToolItemGroup, GtkToolPalette, GtkToolbar, GtkTreeStore, GtkTreeView, GtkTreeViewColumn, GtkUIManager, GtkVBox, GtkVButtonBox, GtkVPaned, GtkVScale, GtkVScrollbar, GtkVSeparator, GtkViewport, GtkVolumeButton, GtkWidget and GtkWindow.

Includes

#include <gtk/gtk.h>

Description

GtkBuildable allows objects to extend and customize their deserialization from GtkBuilder UI descriptions. The interface includes methods for setting names and properties of objects, parsing custom tags and constructing child objects.

The GtkBuildable interface is implemented by all widgets and many of the non-widget objects that are provided by GTK+. The main user of this interface is GtkBuilder. There should be very little need for applications to call any of these functions directly.

An object only needs to implement this interface if it needs to extend the GtkBuilder format or run any extra routines at deserialization time.

Functions

gtk_buildable_set_name ()

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

Sets the name of the buildable object.

Parameters

buildable

a GtkBuildable

 

name

name to set

 

Since: 2.12


gtk_buildable_get_name ()

const gchar *
gtk_buildable_get_name (GtkBuildable *buildable);

Gets the name of the buildable object.

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

Parameters

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

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

Parameters

buildable

a GtkBuildable

 

builder

a GtkBuilder

 

child

child to add

 

type

kind of child or NULL.

[allow-none]

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.

Parameters

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

Constructs a child of buildable with the name name .

GtkBuilder calls this function if a “constructor” has been specified in the UI definition.

Parameters

buildable

A GtkBuildable

 

builder

GtkBuilder used to construct this object

 

name

name of child to construct

 

Returns

the constructed child.

[transfer full]

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 for each unknown element under <child>.

Parameters

buildable

a GtkBuildable

 

builder

a GtkBuilder used to construct this object

 

child

child object or NULL for non-child tags.

[allow-none]

tagname

name of tag

 

parser

a GMarkupParser to fill in.

[out]

data

return location for user data that will be passed in to parser functions.

[out]

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 at the end of each custom element handled by the buildable.

Parameters

buildable

A GtkBuildable

 

builder

GtkBuilder used to construct this object

 

child

child object or NULL for non-child tags.

[allow-none]

tagname

name of tag

 

data

user data that will be passed in to parser functions.

[type gpointer]

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 .

Parameters

buildable

a GtkBuildable

 

builder

a GtkBuilder

 

child

child object or NULL for non-child tags.

[allow-none]

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

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.

Parameters

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.

Parameters

buildable

a GtkBuildable

 

builder

a GtkBuilder

 

childname

name of child

 

Returns

the internal child of the buildable object.

[transfer none]

Since: 2.12