bind_template_child_full


Description:

[ CCode ( cname = "gtk_widget_class_bind_template_child_full" ) ]
[ Version ( since = "3.10" ) ]
public class void bind_template_child_full (string name, bool internal_child, ssize_t struct_offset)

Automatically assign an object declared in the class template XML to be set to a location on a freshly built instance’s private data, or alternatively accessible via get_template_child.

The struct can point either into the public instance, then you should use G_STRUCT_OFFSET(WidgetType, member) for struct_offset, or in the private struct, then you should use G_PRIVATE_OFFSET(WidgetType, member).

An explicit strong reference will be held automatically for the duration of your instance’s life cycle, it will be released automatically when dispose runs on your instance and if a struct_offset that is != 0 is specified, then the automatic location in your instance public or private data will be set to null. You can however access an automated child pointer the first time your classes dispose runs, or alternatively in destroy.

If internal_child is specified, get_internal_child will be automatically implemented by the Widget class so there is no need to implement it manually.

The wrapper macros gtk_widget_class_bind_template_child, gtk_widget_class_bind_template_child_internal, gtk_widget_class_bind_template_child_private and gtk_widget_class_bind_template_child_internal_private might be more convenient to use.

Note that this must be called from a composite widget classes class initializer after calling set_template.

Parameters:

this

A Widget

name

The “id” of the child defined in the template XML

internal_child

Whether the child should be accessible as an “internal-child” when this class is used in GtkBuilder XML

struct_offset

The structure offset into the composite widget’s instance public or private structure where the automated child pointer should be set, or 0 to not assign the pointer.