Copyright | Will Thompson, Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
Safe Haskell | None |
Language | Haskell2010 |
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.
- newtype TreeSortable = TreeSortable (ManagedPtr TreeSortable)
- noTreeSortable :: Maybe TreeSortable
- class GObject o => IsTreeSortable o
- toTreeSortable :: IsTreeSortable o => o -> IO TreeSortable
- data TreeSortableGetSortColumnIdMethodInfo
- treeSortableGetSortColumnId :: (HasCallStack, MonadIO m, IsTreeSortable a) => a -> m (Bool, Int32, SortType)
- data TreeSortableHasDefaultSortFuncMethodInfo
- treeSortableHasDefaultSortFunc :: (HasCallStack, MonadIO m, IsTreeSortable a) => a -> m Bool
- data TreeSortableSetDefaultSortFuncMethodInfo
- treeSortableSetDefaultSortFunc :: (HasCallStack, MonadIO m, IsTreeSortable a) => a -> TreeIterCompareFunc -> m ()
- data TreeSortableSetSortColumnIdMethodInfo
- treeSortableSetSortColumnId :: (HasCallStack, MonadIO m, IsTreeSortable a) => a -> Int32 -> SortType -> m ()
- data TreeSortableSetSortFuncMethodInfo
- treeSortableSetSortFunc :: (HasCallStack, MonadIO m, IsTreeSortable a) => a -> Int32 -> TreeIterCompareFunc -> m ()
- data TreeSortableSortColumnChangedMethodInfo
- treeSortableSortColumnChanged :: (HasCallStack, MonadIO m, IsTreeSortable a) => a -> m ()
- type C_TreeSortableSortColumnChangedCallback = Ptr () -> Ptr () -> IO ()
- type TreeSortableSortColumnChangedCallback = IO ()
- data TreeSortableSortColumnChangedSignalInfo
- afterTreeSortableSortColumnChanged :: (GObject a, MonadIO m) => a -> TreeSortableSortColumnChangedCallback -> m SignalHandlerId
- genClosure_TreeSortableSortColumnChanged :: TreeSortableSortColumnChangedCallback -> IO Closure
- mk_TreeSortableSortColumnChangedCallback :: C_TreeSortableSortColumnChangedCallback -> IO (FunPtr C_TreeSortableSortColumnChangedCallback)
- noTreeSortableSortColumnChangedCallback :: Maybe TreeSortableSortColumnChangedCallback
- onTreeSortableSortColumnChanged :: (GObject a, MonadIO m) => a -> TreeSortableSortColumnChangedCallback -> m SignalHandlerId
- wrap_TreeSortableSortColumnChangedCallback :: TreeSortableSortColumnChangedCallback -> Ptr () -> Ptr () -> IO ()
Exported types
newtype TreeSortable Source #
GObject TreeSortable Source # | |
IsObject TreeSortable Source # | |
IsTreeSortable TreeSortable Source # | |
IsTreeModel TreeSortable Source # | |
((~) * info (ResolveTreeSortableMethod t TreeSortable), MethodInfo * info TreeSortable p) => IsLabel t (TreeSortable -> p) Source # | |
((~) * info (ResolveTreeSortableMethod t TreeSortable), MethodInfo * info TreeSortable p) => IsLabelProxy t (TreeSortable -> p) Source # | |
HasAttributeList * TreeSortable Source # | |
type AttributeList TreeSortable Source # | |
type SignalList TreeSortable Source # | |
class GObject o => IsTreeSortable o Source #
toTreeSortable :: IsTreeSortable o => o -> IO TreeSortable Source #
Methods
getSortColumnId
data TreeSortableGetSortColumnIdMethodInfo Source #
((~) * signature (m (Bool, Int32, SortType)), MonadIO m, IsTreeSortable a) => MethodInfo * TreeSortableGetSortColumnIdMethodInfo a signature Source # | |
treeSortableGetSortColumnId Source #
:: (HasCallStack, MonadIO m, IsTreeSortable a) | |
=> a |
|
-> m (Bool, Int32, SortType) | Returns: |
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
data TreeSortableHasDefaultSortFuncMethodInfo Source #
((~) * signature (m Bool), MonadIO m, IsTreeSortable a) => MethodInfo * TreeSortableHasDefaultSortFuncMethodInfo a signature Source # | |
treeSortableHasDefaultSortFunc Source #
:: (HasCallStack, MonadIO m, IsTreeSortable a) | |
=> a |
|
-> m Bool | Returns: |
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
data TreeSortableSetDefaultSortFuncMethodInfo Source #
((~) * signature (TreeIterCompareFunc -> m ()), MonadIO m, IsTreeSortable a) => MethodInfo * TreeSortableSetDefaultSortFuncMethodInfo a signature Source # | |
treeSortableSetDefaultSortFunc Source #
:: (HasCallStack, MonadIO m, IsTreeSortable a) | |
=> a |
|
-> TreeIterCompareFunc |
|
-> 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
data TreeSortableSetSortColumnIdMethodInfo Source #
((~) * signature (Int32 -> SortType -> m ()), MonadIO m, IsTreeSortable a) => MethodInfo * TreeSortableSetSortColumnIdMethodInfo a signature Source # | |
treeSortableSetSortColumnId Source #
:: (HasCallStack, MonadIO m, IsTreeSortable a) | |
=> a |
|
-> Int32 |
|
-> SortType |
|
-> 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:
TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID
: the default sort function will be used, if it is setTREE_SORTABLE_UNSORTED_SORT_COLUMN_ID
: no sorting will occur
setSortFunc
data TreeSortableSetSortFuncMethodInfo Source #
((~) * signature (Int32 -> TreeIterCompareFunc -> m ()), MonadIO m, IsTreeSortable a) => MethodInfo * TreeSortableSetSortFuncMethodInfo a signature Source # | |
treeSortableSetSortFunc Source #
:: (HasCallStack, MonadIO m, IsTreeSortable a) | |
=> a |
|
-> Int32 |
|
-> TreeIterCompareFunc |
|
-> 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
data TreeSortableSortColumnChangedMethodInfo Source #
((~) * signature (m ()), MonadIO m, IsTreeSortable a) => MethodInfo * TreeSortableSortColumnChangedMethodInfo a signature Source # | |
treeSortableSortColumnChanged Source #
:: (HasCallStack, MonadIO m, IsTreeSortable a) | |
=> a |
|
-> m () |
Emits a TreeSortable
::sort-column-changed
signal on sortable
.
Signals
sortColumnChanged
type TreeSortableSortColumnChangedCallback = IO () Source #
afterTreeSortableSortColumnChanged :: (GObject a, MonadIO m) => a -> TreeSortableSortColumnChangedCallback -> m SignalHandlerId Source #
genClosure_TreeSortableSortColumnChanged :: TreeSortableSortColumnChangedCallback -> IO Closure Source #
mk_TreeSortableSortColumnChangedCallback :: C_TreeSortableSortColumnChangedCallback -> IO (FunPtr C_TreeSortableSortColumnChangedCallback) Source #
onTreeSortableSortColumnChanged :: (GObject a, MonadIO m) => a -> TreeSortableSortColumnChangedCallback -> m SignalHandlerId Source #
wrap_TreeSortableSortColumnChangedCallback :: TreeSortableSortColumnChangedCallback -> Ptr () -> Ptr () -> IO () Source #