Maintainer | gtk2hs-users@lists.sourceforge.net |
---|---|
Stability | provisional |
Portability | portable (depends on GHC) |
Safe Haskell | None |
Language | Haskell98 |
A TreeModel
which makes an underlying tree model sortable
- data TreeModelSort
- class GObjectClass o => TreeModelSortClass o
- castToTreeModelSort :: GObjectClass obj => obj -> TreeModelSort
- gTypeTreeModelSort :: GType
- toTreeModelSort :: TreeModelSortClass o => o -> TreeModelSort
- data TypedTreeModelSort row
- treeModelSortNewWithModel :: (TreeModelClass (childModel row), TypedTreeModelClass childModel) => childModel row -> IO (TypedTreeModelSort row)
- treeModelSortGetModel :: TreeModelSortClass self => self -> IO TreeModel
- treeModelSortConvertChildPathToPath :: TreeModelSortClass self => self -> TreePath -> IO TreePath
- treeModelSortConvertPathToChildPath :: TreeModelSortClass self => self -> TreePath -> IO TreePath
- treeModelSortConvertChildIterToIter :: TreeModelSortClass self => self -> TreeIter -> IO TreeIter
- treeModelSortConvertIterToChildIter :: TreeModelSortClass self => self -> TreeIter -> IO TreeIter
- treeModelSortResetDefaultSortFunc :: TreeModelSortClass self => self -> IO ()
- treeModelSortClearCache :: TreeModelSortClass self => self -> IO ()
- treeModelSortIterIsValid :: TreeModelSortClass self => self -> TreeIter -> IO Bool
Detail
The TreeModelSort
is a model which implements the TreeSortable
interface. It does not hold any data itself, but rather is created with a
child model and proxies its data. It has identical rows to its
child model, and the changes in the child are propagated. The primary
purpose of this model is to provide a way to sort a model without
modifying it.
Class Hierarchy
| GObject
| +----TreeModelSort
Types
data TreeModelSort Source #
class GObjectClass o => TreeModelSortClass o Source #
castToTreeModelSort :: GObjectClass obj => obj -> TreeModelSort Source #
toTreeModelSort :: TreeModelSortClass o => o -> TreeModelSort Source #
Constructors
treeModelSortNewWithModel :: (TreeModelClass (childModel row), TypedTreeModelClass childModel) => childModel row -> IO (TypedTreeModelSort row) Source #
Creates a new TreeModelSort
, that will be a sorted view of the given
model.
Methods
treeModelSortGetModel :: TreeModelSortClass self => self -> IO TreeModel Source #
Returns the underlying model the TreeModelSort
is sorting.
treeModelSortConvertChildPathToPath :: TreeModelSortClass self => self -> TreePath -> IO TreePath Source #
Converts the given path to a path relative to the given sorted model.
- The given path points to a row in the child model. The returned path will point to the same row in the sorted model.
treeModelSortConvertPathToChildPath :: TreeModelSortClass self => self -> TreePath -> IO TreePath Source #
Converts path in the sorted model to a path on the unsorted model on which
the given TreeModelSort
is based. That is, the given path points to a
location in the given TreeModelSort
. The returned path will point to the
same location in the underlying unsorted model.
treeModelSortConvertChildIterToIter :: TreeModelSortClass self => self -> TreeIter -> IO TreeIter Source #
Return an iterator in the sorted model that points to the row pointed to by the given iter from the unsorted model.
treeModelSortConvertIterToChildIter :: TreeModelSortClass self => self -> TreeIter -> IO TreeIter Source #
Return an iterator in the unsorted model that points to the row pointed to by the given iter from the sorted model.
treeModelSortResetDefaultSortFunc :: TreeModelSortClass self => self -> IO () Source #
This resets the default sort function. As a consequence, the order of this model will be the same order as that of the child model.
treeModelSortClearCache :: TreeModelSortClass self => self -> IO () Source #
Clear the cache of unref'd iterators.
- This function should almost never be called. It clears the
TreeModelSort
of any cached iterators that haven't been reffed withtreeModelRefNode
. This might be useful if the child model being sorted is static (and doesn't change often) and there has been a lot of unreffed access to nodes. As a side effect of this function, all unreffed iters will be invalid.
treeModelSortIterIsValid Source #
:: TreeModelSortClass self | |
=> self | |
-> TreeIter |
|
-> IO Bool | returns |
Checks if the given iter is a valid iter for this TreeModelSort
.
- WARNING: This function is slow. Only use it for debugging and/or testing purposes.
- Available since Gtk+ version 2.2