Gtk.FilterListModel
Description: Reference for Gtk.FilterListModel

### Class

# GtkFilterListModel

#### Description [src]

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

A list model that filters the elements of another model.

It hides some elements from the underlying model according to criteria given by a `GtkFilter`.

The model can be set up to do incremental filtering, so that filtering long lists doesn’t block the UI. See `gtk_filter_list_model_set_incremental()` for details.

`GtkFilterListModel` passes through sections from the underlying model.

#### Hierarchy

#### Ancestors

- GObject

#### Implements

- GListModel
- GtkSectionModel

#### Constructors

###### gtk_filter_list_model_new

Creates a new `GtkFilterListModel` that will filter `model` using the given `filter`.

#### Instance methods

###### gtk_filter_list_model_get_filter

Gets the `GtkFilter` currently set on `self`.

###### gtk_filter_list_model_get_incremental

Returns whether incremental filtering is enabled.

###### gtk_filter_list_model_get_model

Gets the model currently filtered or `NULL` if none.

###### gtk_filter_list_model_get_pending

Returns the number of items that have not been filtered yet.

###### gtk_filter_list_model_get_watch_items

Returns whether watching items is enabled.

since: 4.20

###### gtk_filter_list_model_set_filter

Sets the filter used to filter items.

###### gtk_filter_list_model_set_incremental

Sets the filter model to do an incremental sort.

###### gtk_filter_list_model_set_model

Sets the model to be filtered.

###### gtk_filter_list_model_set_watch_items

Sets the filter model to monitor properties of its items.

since: 4.20

##### 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.FilterListModel:filter

The filter for this model.

###### Gtk.FilterListModel:incremental

If the model should filter items incrementally.

###### Gtk.FilterListModel:item-type

The type of items. See `g_list_model_get_item_type()`.

since: 4.8

###### Gtk.FilterListModel:model

The model being filtered.

###### Gtk.FilterListModel:n-items

The number of items. See `g_list_model_get_n_items()`.

since: 4.8

###### Gtk.FilterListModel:pending

Number of items not yet filtered.

###### Gtk.FilterListModel:watch-items

Monitor the list items for changes. It may impact performance.

since: 4.20

#### 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 GtkFilterListModelClass {
      GObjectClass parent_class;

    }

No description available.

###### Class members

`parent_class: GObjectClass`

  No description available.