Class

GtkMapListModel

Description [src]

final class Gtk.MapListModel : GObject.Object
  implements Gio.ListModel {
  /* No available fields */
}

A GtkMapListModel maps the items in a list model to different items.

GtkMapListModel uses a GtkMapListModelMapFunc.

Example: Create a list of GtkEventControllers

static gpointer
map_to_controllers (gpointer widget,
                    gpointer data)
{
  gpointer result = gtk_widget_observe_controllers (widget);
  g_object_unref (widget);
  return result;
}

widgets = gtk_widget_observe_children (widget);

controllers = gtk_map_list_model_new (widgets,
                                      map_to_controllers,
                                      NULL, NULL);

model = gtk_flatten_list_model_new (GTK_TYPE_EVENT_CONTROLLER,
                                    controllers);

GtkMapListModel will attempt to discard the mapped objects as soon as they are no longer needed and recreate them if necessary.

Hierarchy

hierarchy this GtkMapListModel implements_0 GListModel this--implements_0 ancestor_0 GObject ancestor_0--this

Ancestors

Implements

Constructors

gtk_map_list_model_new

Creates a new GtkMapListModel for the given arguments.

Instance methods

gtk_map_list_model_get_model

Gets the model that is currently being mapped or NULL if none.

gtk_map_list_model_has_map

Checks if a map function is currently set on self.

gtk_map_list_model_set_map_func

Sets the function used to map items.

gtk_map_list_model_set_model

Sets the model to be mapped.

Methods inherited from GObject (43)

Please see GObject for a full list of methods.

Methods inherited from GListModel (5)
g_list_model_get_item

Get the item at position.

since: 2.44

g_list_model_get_item_type

Gets the type of the items in list.

since: 2.44

g_list_model_get_n_items

Gets the number of items in list.

since: 2.44

g_list_model_get_object

Get the item at position.

since: 2.44

g_list_model_items_changed

Emits the GListModel::items-changed signal on list.

since: 2.44

Properties

Gtk.MapListModel:has-map

If a map is set for this model.

Gtk.MapListModel:item-type

The type of items. See g_list_model_get_item_type().

since: 4.8

Gtk.MapListModel:model

The model being mapped.

Gtk.MapListModel:n-items

The number of items. See g_list_model_get_n_items().

since: 4.8

Signals

Signals inherited from GObject (1)
GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

Signals inherited from GListModel (1)
GListModel::items-changed

This signal is emitted whenever items were added to or removed from list. At position, removed items were removed and added items were added in their place.

since: 2.44

Class structure

struct GtkMapListModelClass {
  GObjectClass parent_class;
  
}
No description available.
Class members
parent_class: GObjectClass
No description available.