gi-gtk-3.0.26: Gtk bindings

CopyrightWill Thompson Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria (garetxe@gmail.com)
Safe HaskellNone
LanguageHaskell2010

GI.Gtk.Interfaces.TreeSortable

Contents

Description

TreeSortable is an interface to be implemented by tree models which support sorting. The TreeView uses the methods provided by this interface to sort the model.

Synopsis

Exported types

newtype TreeSortable Source #

Memory-managed wrapper type.

class GObject o => IsTreeSortable o Source #

Type class for types which can be safely cast to TreeSortable, for instance with toTreeSortable.

toTreeSortable :: (MonadIO m, IsTreeSortable o) => o -> m TreeSortable Source #

Cast to TreeSortable, for types for which this is known to be safe. For general casts, use castTo.

Methods

getSortColumnId

treeSortableGetSortColumnId Source #

Arguments

:: (HasCallStack, MonadIO m, IsTreeSortable a) 
=> a

sortable: A TreeSortable

-> m (Bool, Int32, SortType)

Returns: True if the sort column is not one of the special sort column ids.

Fills in sortColumnId and order with the current sort column and the order. It returns True unless the sortColumnId is TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID or TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID.

hasDefaultSortFunc

treeSortableHasDefaultSortFunc Source #

Arguments

:: (HasCallStack, MonadIO m, IsTreeSortable a) 
=> a

sortable: A TreeSortable

-> m Bool

Returns: True, if the model has a default sort function

Returns True if the model has a default sort function. This is used primarily by GtkTreeViewColumns in order to determine if a model can go back to the default state, or not.

setDefaultSortFunc

treeSortableSetDefaultSortFunc Source #

Arguments

:: (HasCallStack, MonadIO m, IsTreeSortable a) 
=> a

sortable: A TreeSortable

-> TreeIterCompareFunc

sortFunc: The comparison function

-> m () 

Sets the default comparison function used when sorting to be sortFunc. If the current sort column id of sortable is TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, then the model will sort using this function.

If sortFunc is Nothing, then there will be no default comparison function. This means that once the model has been sorted, it can’t go back to the default state. In this case, when the current sort column id of sortable is TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, the model will be unsorted.

setSortColumnId

treeSortableSetSortColumnId Source #

Arguments

:: (HasCallStack, MonadIO m, IsTreeSortable a) 
=> a

sortable: A TreeSortable

-> Int32

sortColumnId: the sort column id to set

-> SortType

order: The sort order of the column

-> m () 

Sets the current sort column to be sortColumnId. The sortable will resort itself to reflect this change, after emitting a TreeSortable::sort-column-changed signal. sortColumnId may either be a regular column id, or one of the following special values:

setSortFunc

treeSortableSetSortFunc Source #

Arguments

:: (HasCallStack, MonadIO m, IsTreeSortable a) 
=> a

sortable: A TreeSortable

-> Int32

sortColumnId: the sort column id to set the function for

-> TreeIterCompareFunc

sortFunc: The comparison function

-> m () 

Sets the comparison function used when sorting to be sortFunc. If the current sort column id of sortable is the same as sortColumnId, then the model will sort using this function.

sortColumnChanged

treeSortableSortColumnChanged Source #

Arguments

:: (HasCallStack, MonadIO m, IsTreeSortable a) 
=> a

sortable: A TreeSortable

-> m () 

Emits a TreeSortable::sort-column-changed signal on sortable.

Signals

sortColumnChanged

type C_TreeSortableSortColumnChangedCallback = Ptr () -> Ptr () -> IO () Source #

Type for the callback on the (unwrapped) C side.

type TreeSortableSortColumnChangedCallback = IO () Source #

The ::sort-column-changed signal is emitted when the sort column or sort order of sortable is changed. The signal is emitted before the contents of sortable are resorted.

afterTreeSortableSortColumnChanged :: (IsTreeSortable a, MonadIO m) => a -> TreeSortableSortColumnChangedCallback -> m SignalHandlerId Source #

Connect a signal handler for the “sort-column-changed” signal, to be run after the default handler. When overloading is enabled, this is equivalent to

after treeSortable #sortColumnChanged callback

onTreeSortableSortColumnChanged :: (IsTreeSortable a, MonadIO m) => a -> TreeSortableSortColumnChangedCallback -> m SignalHandlerId Source #

Connect a signal handler for the “sort-column-changed” signal, to be run before the default handler. When overloading is enabled, this is equivalent to

on treeSortable #sortColumnChanged callback