ColumnViewSorter

gtk.column_view_sorter.ColumnViewSorter is a sorter implementation that is geared towards the needs of gtk.column_view.ColumnView.

The sorter returned by gtk.column_view.ColumnView.getSorter is a gtk.column_view_sorter.ColumnViewSorter.

In column views, sorting can be configured by associating sorters with columns, and users can invert sort order by clicking on column headers. The API of gtk.column_view_sorter.ColumnViewSorter is designed to allow saving and restoring this configuration.

If you are only interested in the primary sort column (i.e. the column where a sort indicator is shown in the header), then you can just look at property@Gtk.ColumnViewSorter:primary-sort-column and property@Gtk.ColumnViewSorter:primary-sort-order.

If you want to store the full sort configuration, including secondary sort columns that are used for tie breaking, then you can use gtk.column_view_sorter.ColumnViewSorter.getNthSortColumn. To get notified about changes, use gtk.sorter.Sorter.changed.

To restore a saved sort configuration on a gtk.column_view.ColumnView, use code like:

sorter = gtk_column_view_get_sorter (view);
for (i = gtk_column_view_sorter_get_n_sort_columns (sorter) - 1; i >= 0; i--)
  {
    column = gtk_column_view_sorter_get_nth_sort_column (sorter, i, &order);
    gtk_column_view_sort_by_column (view, column, order);
  }

Members

Functions

getNSortColumns
uint getNSortColumns()

Returns the number of columns by which the sorter sorts.

getNthSortColumn
gtk.column_view_column.ColumnViewColumn getNthSortColumn(uint position, gtk.types.SortType sortOrder)

Gets the position'th sort column and its associated sort order.

getPrimarySortColumn
gtk.column_view_column.ColumnViewColumn getPrimarySortColumn()

Returns the primary sort column.

getPrimarySortOrder
gtk.types.SortType getPrimarySortOrder()

Returns the primary sort order.

Inherited Members

From Sorter

changed
void changed(gtk.types.SorterChange change)

Notifies all users of the sorter that it has changed.

compare
gtk.types.Ordering compare(gobject.object.ObjectG item1, gobject.object.ObjectG item2)

Compares two given items according to the sort order implemented by the sorter.

getOrder
gtk.types.SorterOrder getOrder()

Gets the order that self conforms to.

connectChanged
ulong connectChanged(T callback, Flag!"After" after)

Connect to Changed signal.