| Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte | 
|---|---|
| License | LGPL-2.1 | 
| Maintainer | Iñaki García Etxebarria | 
| Safe Haskell | Safe-Inferred | 
| Language | Haskell2010 | 
GI.Gtk.Objects.TreeStore
Description
The TreeStore object is a list model for use with a TreeView
 widget.  It implements the TreeModel interface, and consequently,
 can use all of the methods available there.  It also implements the
 TreeSortable interface so it can be sorted by the view.  Finally,
 it also implements the tree
 [drag and drop][gtk3-GtkTreeView-drag-and-drop]
 interfaces.
GtkTreeStore as GtkBuildable
The GtkTreeStore implementation of the Buildable interface allows
 to specify the model columns with a <columns> element that may contain
 multiple <column> elements, each specifying one model column. The “type”
 attribute specifies the data type for the column.
An example of a UI Definition fragment for a tree store: > >class="GtkTreeStore" > columns > type="gchararray"/ > type="gchararray"/ > type="gint"/ > /columns >/object
Synopsis
- newtype TreeStore = TreeStore (ManagedPtr TreeStore)
- class (GObject o, IsDescendantOf TreeStore o) => IsTreeStore o
- toTreeStore :: (MonadIO m, IsTreeStore o) => o -> m TreeStore
- treeStoreAppend :: (HasCallStack, MonadIO m, IsTreeStore a) => a -> Maybe TreeIter -> m TreeIter
- treeStoreClear :: (HasCallStack, MonadIO m, IsTreeStore a) => a -> m ()
- treeStoreInsert :: (HasCallStack, MonadIO m, IsTreeStore a) => a -> Maybe TreeIter -> Int32 -> m TreeIter
- treeStoreInsertAfter :: (HasCallStack, MonadIO m, IsTreeStore a) => a -> Maybe TreeIter -> Maybe TreeIter -> m TreeIter
- treeStoreInsertBefore :: (HasCallStack, MonadIO m, IsTreeStore a) => a -> Maybe TreeIter -> Maybe TreeIter -> m TreeIter
- treeStoreInsertWithValues :: (HasCallStack, MonadIO m, IsTreeStore a) => a -> Maybe TreeIter -> Int32 -> [Int32] -> [GValue] -> m TreeIter
- treeStoreIsAncestor :: (HasCallStack, MonadIO m, IsTreeStore a) => a -> TreeIter -> TreeIter -> m Bool
- treeStoreIterDepth :: (HasCallStack, MonadIO m, IsTreeStore a) => a -> TreeIter -> m Int32
- treeStoreIterIsValid :: (HasCallStack, MonadIO m, IsTreeStore a) => a -> TreeIter -> m Bool
- treeStoreMoveAfter :: (HasCallStack, MonadIO m, IsTreeStore a) => a -> TreeIter -> Maybe TreeIter -> m ()
- treeStoreMoveBefore :: (HasCallStack, MonadIO m, IsTreeStore a) => a -> TreeIter -> Maybe TreeIter -> m ()
- treeStoreNew :: (HasCallStack, MonadIO m) => [GType] -> m TreeStore
- treeStorePrepend :: (HasCallStack, MonadIO m, IsTreeStore a) => a -> Maybe TreeIter -> m TreeIter
- treeStoreRemove :: (HasCallStack, MonadIO m, IsTreeStore a) => a -> TreeIter -> m Bool
- treeStoreSet :: (HasCallStack, MonadIO m, IsTreeStore a) => a -> TreeIter -> [Int32] -> [GValue] -> m ()
- treeStoreSetColumnTypes :: (HasCallStack, MonadIO m, IsTreeStore a) => a -> [GType] -> m ()
- treeStoreSetValue :: (HasCallStack, MonadIO m, IsTreeStore a) => a -> TreeIter -> Int32 -> GValue -> m ()
- treeStoreSwap :: (HasCallStack, MonadIO m, IsTreeStore a) => a -> TreeIter -> TreeIter -> m ()
Exported types
Memory-managed wrapper type.
Instances
| Eq TreeStore Source # | |
| GObject TreeStore Source # | |
| Defined in GI.Gtk.Objects.TreeStore | |
| ManagedPtrNewtype TreeStore Source # | |
| Defined in GI.Gtk.Objects.TreeStore Methods toManagedPtr :: TreeStore -> ManagedPtr TreeStore | |
| TypedObject TreeStore Source # | |
| Defined in GI.Gtk.Objects.TreeStore | |
| HasParentTypes TreeStore Source # | |
| Defined in GI.Gtk.Objects.TreeStore | |
| IsGValue (Maybe TreeStore) Source # | Convert  | 
| Defined in GI.Gtk.Objects.TreeStore Methods gvalueGType_ :: IO GType gvalueSet_ :: Ptr GValue -> Maybe TreeStore -> IO () gvalueGet_ :: Ptr GValue -> IO (Maybe TreeStore) | |
| type ParentTypes TreeStore Source # | |
| Defined in GI.Gtk.Objects.TreeStore type ParentTypes TreeStore = '[Object, Buildable, TreeDragDest, TreeDragSource, TreeModel, TreeSortable] | |
class (GObject o, IsDescendantOf TreeStore o) => IsTreeStore o Source #
Type class for types which can be safely cast to TreeStore, for instance with toTreeStore.
Instances
| (GObject o, IsDescendantOf TreeStore o) => IsTreeStore o Source # | |
| Defined in GI.Gtk.Objects.TreeStore | |
toTreeStore :: (MonadIO m, IsTreeStore o) => o -> m TreeStore Source #
Methods
Click to display all available methods, including inherited ones
Methods
append, bindProperty, bindPropertyFull, clear, dragDataDelete, dragDataGet, dragDataReceived, filterNew, forceFloating, foreach, freezeNotify, getv, hasDefaultSortFunc, insert, insertAfter, insertBefore, insertWithValues, isAncestor, isFloating, iterChildren, iterDepth, iterHasChild, iterIsValid, iterNChildren, iterNext, iterNthChild, iterParent, iterPrevious, moveAfter, moveBefore, notify, notifyByPspec, prepend, ref, refNode, refSink, remove, rowChanged, rowDeleted, rowDraggable, rowDropPossible, rowHasChildToggled, rowInserted, rowsReordered, runDispose, set, sortColumnChanged, stealData, stealQdata, swap, thawNotify, unref, unrefNode, watchClosure.
Getters
getBuildableId, getColumnType, getData, getFlags, getIter, getIterFirst, getIterFromString, getNColumns, getPath, getProperty, getQdata, getSortColumnId, getStringFromIter, getValue.
Setters
setColumnTypes, setData, setDataFull, setDefaultSortFunc, setProperty, setSortColumnId, setSortFunc, setValue.
append
Arguments
| :: (HasCallStack, MonadIO m, IsTreeStore a) | |
| => a | 
 | 
| -> Maybe TreeIter | |
| -> m TreeIter | 
Appends a new row to treeStore.  If parent is non-Nothing, then it will append the
 new row after the last child of parent, otherwise it will append a row to
 the top level.  iter will be changed to point to this new row.  The row will
 be empty after this function is called.  To fill in values, you need to call
 gtk_tree_store_set() or treeStoreSetValue.
clear
Arguments
| :: (HasCallStack, MonadIO m, IsTreeStore a) | |
| => a | 
 | 
| -> m () | 
Removes all rows from treeStore
insert
Arguments
| :: (HasCallStack, MonadIO m, IsTreeStore a) | |
| => a | 
 | 
| -> Maybe TreeIter | |
| -> Int32 | 
 | 
| -> m TreeIter | 
Creates a new row at position.  If parent is non-Nothing, then the row will be
 made a child of parent.  Otherwise, the row will be created at the toplevel.
 If position is -1 or is larger than the number of rows at that level, then
 the new row will be inserted to the end of the list.  iter will be changed
 to point to this new row.  The row will be empty after this function is
 called.  To fill in values, you need to call gtk_tree_store_set() or
 treeStoreSetValue.
insertAfter
Arguments
| :: (HasCallStack, MonadIO m, IsTreeStore a) | |
| => a | 
 | 
| -> Maybe TreeIter | |
| -> Maybe TreeIter | |
| -> m TreeIter | 
Inserts a new row after sibling.  If sibling is Nothing, then the row will be
 prepended to parent ’s children.  If parent and sibling are Nothing, then
 the row will be prepended to the toplevel.  If both sibling and parent are
 set, then parent must be the parent of sibling.  When sibling is set,
 parent is optional.
iter will be changed to point to this new row.  The row will be empty after
 this function is called.  To fill in values, you need to call
 gtk_tree_store_set() or treeStoreSetValue.
insertBefore
treeStoreInsertBefore Source #
Arguments
| :: (HasCallStack, MonadIO m, IsTreeStore a) | |
| => a | 
 | 
| -> Maybe TreeIter | |
| -> Maybe TreeIter | |
| -> m TreeIter | 
Inserts a new row before sibling.  If sibling is Nothing, then the row will
 be appended to parent ’s children.  If parent and sibling are Nothing, then
 the row will be appended to the toplevel.  If both sibling and parent are
 set, then parent must be the parent of sibling.  When sibling is set,
 parent is optional.
iter will be changed to point to this new row.  The row will be empty after
 this function is called.  To fill in values, you need to call
 gtk_tree_store_set() or treeStoreSetValue.
insertWithValues
treeStoreInsertWithValues Source #
Arguments
| :: (HasCallStack, MonadIO m, IsTreeStore a) | |
| => a | 
 | 
| -> Maybe TreeIter | |
| -> Int32 | 
 | 
| -> [Int32] | 
 | 
| -> [GValue] | 
 | 
| -> m TreeIter | 
A variant of gtk_tree_store_insert_with_values() which takes
 the columns and values as two arrays, instead of varargs.  This
 function is mainly intended for language bindings.
isAncestor
Arguments
| :: (HasCallStack, MonadIO m, IsTreeStore a) | |
| => a | 
 | 
| -> TreeIter | 
 | 
| -> TreeIter | 
 | 
| -> m Bool | Returns:  | 
Returns True if iter is an ancestor of descendant.  That is, iter is the
 parent (or grandparent or great-grandparent) of descendant.
iterDepth
Arguments
| :: (HasCallStack, MonadIO m, IsTreeStore a) | |
| => a | 
 | 
| -> TreeIter | 
 | 
| -> m Int32 | Returns: The depth of  | 
Returns the depth of iter.  This will be 0 for anything on the root level, 1
 for anything down a level, etc.
iterIsValid
Arguments
| :: (HasCallStack, MonadIO m, IsTreeStore a) | |
| => a | 
 | 
| -> TreeIter | 
 | 
| -> m Bool | Returns:  | 
WARNING: This function is slow. Only use it for debugging and/or testing purposes.
Checks if the given iter is a valid iter for this TreeStore.
moveAfter
Arguments
| :: (HasCallStack, MonadIO m, IsTreeStore a) | |
| => a | 
 | 
| -> TreeIter | 
 | 
| -> Maybe TreeIter | 
 | 
| -> m () | 
Moves iter in treeStore to the position after position. iter and
 position should be in the same level. Note that this function only
 works with unsorted stores. If position is Nothing, iter will be moved
 to the start of the level.
moveBefore
Arguments
| :: (HasCallStack, MonadIO m, IsTreeStore a) | |
| => a | 
 | 
| -> TreeIter | 
 | 
| -> Maybe TreeIter | |
| -> m () | 
Moves iter in treeStore to the position before position. iter and
 position should be in the same level. Note that this function only
 works with unsorted stores. If position is Nothing, iter will be
 moved to the end of the level.
new
Arguments
| :: (HasCallStack, MonadIO m) | |
| => [GType] | 
 | 
| -> m TreeStore | Returns: a new  | 
Non vararg creation function. Used primarily by language bindings.
prepend
Arguments
| :: (HasCallStack, MonadIO m, IsTreeStore a) | |
| => a | 
 | 
| -> Maybe TreeIter | |
| -> m TreeIter | 
Prepends a new row to treeStore.  If parent is non-Nothing, then it will prepend
 the new row before the first child of parent, otherwise it will prepend a row
 to the top level.  iter will be changed to point to this new row.  The row
 will be empty after this function is called.  To fill in values, you need to
 call gtk_tree_store_set() or treeStoreSetValue.
remove
Arguments
| :: (HasCallStack, MonadIO m, IsTreeStore a) | |
| => a | 
 | 
| -> TreeIter | 
 | 
| -> m Bool | 
Removes iter from treeStore.  After being removed, iter is set to the
 next valid row at that level, or invalidated if it previously pointed to the
 last one.
set
Arguments
| :: (HasCallStack, MonadIO m, IsTreeStore a) | |
| => a | 
 | 
| -> TreeIter | 
 | 
| -> [Int32] | 
 | 
| -> [GValue] | 
 | 
| -> m () | 
A variant of gtk_tree_store_set_valist() which takes
 the columns and values as two arrays, instead of varargs.  This
 function is mainly intended for language bindings or in case
 the number of columns to change is not known until run-time.
setColumnTypes
treeStoreSetColumnTypes Source #
Arguments
| :: (HasCallStack, MonadIO m, IsTreeStore a) | |
| => a | 
 | 
| -> [GType] | 
 | 
| -> m () | 
setValue
Arguments
| :: (HasCallStack, MonadIO m, IsTreeStore a) | |
| => a | 
 | 
| -> TreeIter | 
 | 
| -> Int32 | 
 | 
| -> GValue | 
 | 
| -> m () | 
Sets the data in the cell specified by iter and column.
 The type of value must be convertible to the type of the
 column.
swap
Arguments
| :: (HasCallStack, MonadIO m, IsTreeStore a) | |
| => a | 
 | 
| -> TreeIter | 
 | 
| -> TreeIter | 
 | 
| -> m () | 
Swaps a and b in the same level of treeStore. Note that this function
 only works with unsorted stores.