since: 3.16

Declaration [src]

gtk_list_box_bind_model (
  GtkListBox* box,
  GListModel* model,
  GtkListBoxCreateWidgetFunc create_widget_func,
  gpointer user_data,
  GDestroyNotify user_data_free_func

Description [src]

Binds model to box.

If box was already bound to a model, that previous binding is destroyed.

The contents of box are cleared and then filled with widgets that represent items from model. box is updated whenever model changes. If model is NULL, box is left empty.

It is undefined to add or remove widgets directly (for example, with gtk_list_box_insert() or gtk_container_add()) while box is bound to a model.

Note that using a model is incompatible with the filtering and sorting functionality in GtkListBox. When using a model, filtering and sorting should be implemented by the model.

Available since: 3.16



Type: GObject

The GListModel to be bound to box.

The argument can be NULL.
The data is owned by the caller of the method.

Type: GtkListBoxCreateWidgetFunc

A function that creates widgets for items or NULL in case you also passed NULL as model.

The argument can be NULL.

Type: gpointer

User data passed to create_widget_func.

The argument can be NULL.
The data is owned by the caller of the method.

Type: GDestroyNotify

Function for freeing user_data.