Class

GtkMapListModel

Description [src]

final class Gtk.MapListModel : GObject.Object
  implements Gio.ListModel, Gtk.SectionModel {
  /* 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.

GtkMapListModel passes through sections from the underlying model.

Hierarchy

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

Ancestors

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.

g_list_model_get_item_type

Gets the type of the items in list.

g_list_model_get_n_items

Gets the number of items in list.

g_list_model_get_object

Get the item at position.

g_list_model_items_changed

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

Methods inherited from GtkSectionModel (2)
gtk_section_model_get_section

Query the section that covers the given position. The number of items in the section can be computed by out_end - out_start.

since: 4.12

gtk_section_model_sections_changed

This function emits the GtkSectionModel::sections-changed signal to notify about changes to sections.

since: 4.12

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.

Signals inherited from GtkSectionModel (1)
GtkSectionModel::sections-changed

Emitted when the start-of-section state of some of the items in model changes.

since: 4.12

Class structure

struct GtkMapListModelClass {
  GObjectClass parent_class;
  
}

No description available.

Class members
parent_class: GObjectClass

No description available.