GtkBuildableIface

The #GtkBuildableIface interface contains method that are necessary to allow #GtkBuilder to construct an object from a #GtkBuilder UI definition.

Members

Variables

addChild
void function(GtkBuildable* buildable, GtkBuilder* builder, GObject* child, const(char)* type) addChild;

Adds a child. The @type parameter can be used to differentiate the kind of child. #GtkContainer implements this to add add a child widget to the container, #GtkNotebook uses the @type to distinguish between page labels (of type "page-label") and normal children.

constructChild
GObject* function(GtkBuildable* buildable, GtkBuilder* builder, const(char)* name) constructChild;

Constructs a child of a buildable that has been specified as “constructor” in the UI definition. #GtkUIManager implements this to reference to a widget created in a <ui> tag which is outside of the normal GtkBuilder UI definition hierarchy. A reference to the constructed object is returned and becomes owned by the caller.

customFinished
void function(GtkBuildable* buildable, GtkBuilder* builder, GObject* child, const(char)* tagname, void* data) customFinished;

Called for each custom tag handled by the buildable when the builder finishes parsing (see @custom_tag_start)

customTagEnd
void function(GtkBuildable* buildable, GtkBuilder* builder, GObject* child, const(char)* tagname, void** data) customTagEnd;

Called for the end tag of each custom element that is handled by the buildable (see @custom_tag_start).

customTagStart
gboolean function(GtkBuildable* buildable, GtkBuilder* builder, GObject* child, const(char)* tagname, GMarkupParser* parser, void** data) customTagStart;

Implement this if the buildable needs to parse content below <child>. To handle an element, the implementation must fill in the @parser and @user_data and return true. #GtkWidget implements this to parse keyboard accelerators specified in <accelerator> elements. #GtkContainer implements it to map properties defined via <packing> elements to child properties. Note that @user_data must be freed in @custom_tag_end or @custom_finished.

gIface
GTypeInterface gIface;

the parent class

getInternalChild
GObject* function(GtkBuildable* buildable, GtkBuilder* builder, const(char)* childname) getInternalChild;

Returns an internal child of a buildable. #GtkDialog implements this to give access to its @vbox, making it possible to add children to the vbox in a UI definition. Implement this if the buildable has internal children that may need to be accessed from a UI definition.

getName
const(char)* function(GtkBuildable* buildable) getName;

The getter corresponding to @set_name. Implement this if you implement @set_name.

parserFinished
void function(GtkBuildable* buildable, GtkBuilder* builder) parserFinished;

Called when a builder finishes the parsing of a UI definition. It is normally not necessary to implement this, unless you need to perform special cleanup actions. #GtkWindow sets the #GtkWidget:visible property here.

setBuildableProperty
void function(GtkBuildable* buildable, GtkBuilder* builder, const(char)* name, const(GValue)* value) setBuildableProperty;

Sets a property of a buildable object. It is normally not necessary to implement this, gobject.object.ObjectWrap.setProperty is used by default. #GtkWindow implements this to delay showing itself (i.e. setting the #GtkWidget:visible property) until the whole interface is created.

setName
void function(GtkBuildable* buildable, const(char)* name) setName;

Stores the name attribute given in the GtkBuilder UI definition. #GtkWidget stores the name as object data. Implement this method if your object has some notion of “name” and it makes sense to map the XML name attribute to it.