Gtk.Buildable

Entities

Simple Types

Constants

Subprograms

Description

GtkBuildable allows objects to extend and customize their deserialization from [GtkBuilder UI descriptions][BUILDER-UI]. 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 Gtk.Builder.Gtk_Builder. 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 Gtk.Builder.Gtk_Builder format or run any extra routines at deserialization time.

"+"

function "+" (W : Gtk_Buildable) return Gtk_Buildable
Parameters
W
Return Value

Add_Child

procedure Add_Child
   (Self     : Gtk_Buildable;
    Builder  : not null access Gtk.Builder.Gtk_Builder_Record'Class;
    Child    : not null access Glib.Object.GObject_Record'Class;
    The_Type : UTF8_String := "";
    Error    : Glib.Error.GError)

Adds a child to Buildable. Type is an optional string describing how the child should be added. Since: gtk+ 2.12

Parameters
Self
Builder

a Gtk.Builder.Gtk_Builder

Child

child to add

The_Type

kind of child or null

Error

Construct_Child

function Construct_Child
   (Self    : Gtk_Buildable;
    Builder : not null access Gtk.Builder.Gtk_Builder_Record'Class;
    Name    : UTF8_String) return Glib.Object.GObject

Constructs a child of Buildable with the name Name. Gtk.Builder.Gtk_Builder calls this function if a "constructor" has been specified in the UI definition. Since: gtk+ 2.12

Parameters
Self
Builder

Gtk.Builder.Gtk_Builder used to construct this object

Name

name of child to construct

Return Value

the constructed child

Custom_Finished

procedure Custom_Finished
   (Self    : Gtk_Buildable;
    Builder : not null access Gtk.Builder.Gtk_Builder_Record'Class;
    Child   : access Glib.Object.GObject_Record'Class;
    Tagname : UTF8_String;
    Data    : System.Address)

This is similar to Gtk.Buildable.Parser_Finished but is called once for each custom tag handled by the Buildable. Since: gtk+ 2.12

Parameters
Self
Builder

a Gtk.Builder.Gtk_Builder

Child

child object or null for non-child tags

Tagname

the name of the tag

Data

user data created in custom_tag_start

Custom_Tag_End

procedure Custom_Tag_End
   (Self    : Gtk_Buildable;
    Builder : not null access Gtk.Builder.Gtk_Builder_Record'Class;
    Child   : access Glib.Object.GObject_Record'Class;
    Tagname : UTF8_String;
    Data    : in out System.Address)

This is called at the end of each custom element handled by the buildable. Since: gtk+ 2.12

Parameters
Self
Builder

Gtk.Builder.Gtk_Builder 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

Get_Internal_Child

function Get_Internal_Child
   (Self      : Gtk_Buildable;
    Builder   : not null access Gtk.Builder.Gtk_Builder_Record'Class;
    Childname : UTF8_String) return Glib.Object.GObject

Get the internal child called Childname of the Buildable object. Since: gtk+ 2.12

Parameters
Self
Builder

a Gtk.Builder.Gtk_Builder

Childname

name of child

Return Value

the internal child of the buildable object

Get_Name

function Get_Name (Self : Gtk_Buildable) return UTF8_String

Gets the name of the Buildable object. Gtk.Builder.Gtk_Builder sets the name based on the [GtkBuilder UI definition][BUILDER-UI] used to construct the Buildable. Since: gtk+ 2.12

Parameters
Self
Return Value

the name set with Gtk.Buildable.Set_Name

Get_Type

function Get_Type return Glib.GType
Return Value

Gtk_Buildable

type Gtk_Buildable is new Glib.Types.GType_Interface;

Null_Gtk_Buildable

Null_Gtk_Buildable : constant Gtk_Buildable;

Parser_Finished

procedure Parser_Finished
   (Self    : Gtk_Buildable;
    Builder : not null access Gtk.Builder.Gtk_Builder_Record'Class)

Called when the builder finishes the parsing of a [GtkBuilder UI definition][BUILDER-UI]. 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. Since: gtk+ 2.12

Parameters
Self
Builder

a Gtk.Builder.Gtk_Builder

Set_Buildable_Property

procedure Set_Buildable_Property
   (Self    : Gtk_Buildable;
    Builder : not null access Gtk.Builder.Gtk_Builder_Record'Class;
    Name    : UTF8_String;
    Value   : in out Glib.Values.GValue)

Sets the property name Name to Value on the Buildable object. Since: gtk+ 2.12

Parameters
Self
Builder

a Gtk.Builder.Gtk_Builder

Name

name of property

Value

value of property

Set_Name

procedure Set_Name (Self : Gtk_Buildable; Name : UTF8_String)

Sets the name of the Buildable object. Since: gtk+ 2.12

Parameters
Self
Name

name to set