bind_template_child_full


Description:

[ CCode ( cname = "gtk_widget_class_bind_template_child_full" ) ]
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 [method@Gtk.

Widget.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 `GObjectClass.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 `GObjectClass.dispose()` runs, or alternatively in [signal@Gtk.Widget:GtkWidget:destroy].

If internal_child is specified, [vfunc@Gtk.Buildable.get_internal_child] will be automatically implemented by the `GtkWidget` class so there is no need to implement it manually.

The wrapper macros [func@Gtk.widget_class_bind_template_child], [func@Gtk.widget_class_bind_template_child_internal], [ func@Gtk.widget_class_bind_template_child_private] and [func@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 [method@Gtk.WidgetClass.set_template].

Parameters:

this

A `GtkWidgetClass`

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.