| Maintainer | gtk2hs-users@lists.sourceforge.net | 
|---|---|
| Stability | provisional | 
| Portability | portable (depends on GHC) | 
| Safe Haskell | None | 
| Language | Haskell98 | 
Graphics.UI.Gtk.ModelView.TreeSortable
Description
The interface for sortable models used by TreeView
Synopsis
- data TreeSortable
- class GObjectClass o => TreeSortableClass o
- castToTreeSortable :: GObjectClass obj => obj -> TreeSortable
- gTypeTreeSortable :: GType
- toTreeSortable :: TreeSortableClass o => o -> TreeSortable
- type SortColumnId = Int
- treeSortableDefaultSortColumnId :: SortColumnId
- treeSortableGetSortColumnId :: TreeSortableClass self => self -> IO (SortType, Bool, SortColumnId)
- treeSortableSetSortColumnId :: TreeSortableClass self => self -> SortColumnId -> SortType -> IO ()
- treeSortableSetSortFunc :: TreeSortableClass self => self -> SortColumnId -> (TreeIter -> TreeIter -> IO Ordering) -> IO ()
- treeSortableSetDefaultSortFunc :: TreeSortableClass self => self -> Maybe (TreeIter -> TreeIter -> IO Ordering) -> IO ()
- treeSortableHasDefaultSortFunc :: TreeSortableClass self => self -> IO Bool
- treeSortableSortColumnChanged :: TreeSortableClass self => self -> IO ()
- sortColumnChanged :: TreeSortableClass self => Signal self (IO ())
Detail
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. As of now, only the
 TreeModelSort proxy supports the
 sortable interface. Thus, in order to enable sortable columns in a
 TreeView, it is necessary to wrap a
 ListStore or
 TreeStore model in a
 TreeModelSort.
A TreeViewColumn can be sorted by the user
 though clicking into the column's header. The rows in the view will then be
 sorted by the sorting function set for that column. Specifically, a set of
 sorting functions must be set using the interface provided in this module.
 Each sorting function is associated with a SortColumnId, which is some
 positive number. A tree view column is then associated with the sorting
 function by passing the SortColumnId to
 treeViewColumnSetSortColumnId.
 There exists one special SortColumnId, namely
 treeSortableDefaultSortColumnId for which a default sorting function can
 be set. If no such function is set, the order of the rows is the order in
 which they are stored in the model.
Class Hierarchy
| GInterface
| +----TreeSortable
Types
data TreeSortable Source #
Instances
| Eq TreeSortable Source # | |
| Defined in Graphics.UI.Gtk.Types | |
| Ord TreeSortable Source # | |
| Defined in Graphics.UI.Gtk.Types Methods compare :: TreeSortable -> TreeSortable -> Ordering # (<) :: TreeSortable -> TreeSortable -> Bool # (<=) :: TreeSortable -> TreeSortable -> Bool # (>) :: TreeSortable -> TreeSortable -> Bool # (>=) :: TreeSortable -> TreeSortable -> Bool # max :: TreeSortable -> TreeSortable -> TreeSortable # min :: TreeSortable -> TreeSortable -> TreeSortable # | |
| GObjectClass TreeSortable Source # | |
| Defined in Graphics.UI.Gtk.Types | |
| TreeSortableClass TreeSortable Source # | |
| Defined in Graphics.UI.Gtk.Types | |
class GObjectClass o => TreeSortableClass o Source #
Instances
castToTreeSortable :: GObjectClass obj => obj -> TreeSortable Source #
toTreeSortable :: TreeSortableClass o => o -> TreeSortable Source #
type SortColumnId = Int Source #
ID number of a sort column.
- A SortColumnIdis a logical number to which a sorting function can be associated. The number does not have to coincide with any column number.
Constants
treeSortableDefaultSortColumnId :: SortColumnId Source #
A special SortColumnId to indicated that the default sorting function is used.
Methods
treeSortableGetSortColumnId Source #
Arguments
| :: TreeSortableClass self | |
| => self | |
| -> IO (SortType, Bool, SortColumnId) | 
 | 
Query the sort column id that is currently in use. The return value may
 be the special constant treeSortableDefaultSortColumnId in which case
 the returned Boolean flag is False.
treeSortableSetSortColumnId Source #
Arguments
| :: TreeSortableClass self | |
| => self | |
| -> SortColumnId | 
 | 
| -> SortType | 
 | 
| -> IO () | 
Sets the current sort column to be sortColumnId. The sortable will
 resort itself to reflect this change, after emitting a sortColumnChanged
 signal. If sortColumnId is treeSortableDefaultSortColumnId, then the
 default sort function will be used, if it is set. Note that this function
 is mainly used by the view and that the user program should simply set the
 SortColumnId of the TreeViewColumns.
treeSortableSetSortFunc Source #
Arguments
| :: TreeSortableClass self | |
| => self | |
| -> SortColumnId | 
 | 
| -> (TreeIter -> TreeIter -> IO Ordering) | 
 | 
| -> IO () | 
Sets the comparison function used when sorting to be sortFunc. If the
 current sort column id of self is the same as sortColumnId, then the
 model will sort using this function.
treeSortableSetDefaultSortFunc Source #
Arguments
| :: TreeSortableClass self | |
| => self | |
| -> Maybe (TreeIter -> TreeIter -> IO Ordering) | 
 | 
| -> IO () | 
Sets the default comparison function used when sorting to be sortFunc.
 If the current sort column id of self is
 treeSortableDefaultSortColumnId 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 TreeSortableDefaultSortColumnId, the model will be unsorted.
treeSortableHasDefaultSortFunc Source #
Arguments
| :: TreeSortableClass self | |
| => self | |
| -> IO Bool | returns  | 
Returns True if the model has a default sort function. This is used
 primarily by TreeViewColumns in order to
 determine if a model has a default ordering or if the entries are
 retrieved in the sequence in which they are stored in the model.
treeSortableSortColumnChanged :: TreeSortableClass self => self -> IO () Source #
Emits a sortColumnChanged signal on the model.
Signals
sortColumnChanged :: TreeSortableClass self => Signal self (IO ()) Source #