Graphics.UI.Gtk.ModelView.ListStore

gtk-0.12.4: Binding to the Gtk+ graphical user interface library.

Portability | portable (depends on GHC)
Stability | provisional
Maintainer | gtk2hs-users@lists.sourceforge.net
Safe Haskell | None

Graphics.UI.Gtk.ModelView.ListStore

Contents

- Types
- Constructors
- Implementation of Interfaces
- Methods

Description

Standard model to store list data.

Synopsis

- data ListStore a
- listStoreNew :: [a] -> IO (ListStore a)
- listStoreNewDND :: [a] -> Maybe (DragSourceIface ListStore a) -> Maybe (DragDestIface ListStore a) -> IO (ListStore a)
- listStoreDefaultDragSourceIface :: DragSourceIface ListStore row
- listStoreDefaultDragDestIface :: DragDestIface ListStore row
- listStoreIterToIndex :: TreeIter -> Int
- listStoreGetValue :: ListStore a -> Int -> IO a
- listStoreSetValue :: ListStore a -> Int -> a -> IO ()
- listStoreToList :: ListStore a -> IO [a]
- listStoreGetSize :: ListStore a -> IO Int
- listStoreInsert :: ListStore a -> Int -> a -> IO ()
- listStorePrepend :: ListStore a -> a -> IO ()
- listStoreAppend :: ListStore a -> a -> IO Int
- listStoreRemove :: ListStore a -> Int -> IO ()
- listStoreClear :: ListStore a -> IO ()

# Types

data ListStore a

Instances

TypedTreeModelClass ListStore |
GObjectClass (ListStore a) |
TreeModelClass (ListStore a) |

# Constructors

listStoreNew :: [a] -> IO (ListStore a)

Create a new `TreeModel` that contains a list of elements.

listStoreNewDND

Arguments

:: [a] | the initial content of the model
-> Maybe (DragSourceIface ListStore a) | an optional interface for drags
-> Maybe (DragDestIface ListStore a) | an optional interface to handle drops
-> IO (ListStore a) | the new model

Create a new `TreeModel` that contains a list of elements. In addition, specify two interfaces for drag and drop.

# Implementation of Interfaces

listStoreDefaultDragSourceIface :: DragSourceIface ListStore row

Default drag functions for `ListStore`. These functions allow the rows of the model to serve as drag source. Any row is allowed to be dragged and the data set in the `SelectionDataM` object is set with `treeSetRowDragData`, i.e. it contains the model and the `TreePath` to the row.

listStoreDefaultDragDestIface :: DragDestIface ListStore row

Default drop functions for `ListStore`. These functions accept a row and insert the row into the new location if it is dragged into a tree view that uses the same model.

# Methods

listStoreIterToIndex :: TreeIter -> Int

Convert a `TreeIter` to an an index into the `ListStore`. Note that this function merely extracts the second element of the `TreeIter`.

listStoreGetValue :: ListStore a -> Int -> IO a

Extract the value at the given index.

listStoreSetValue :: ListStore a -> Int -> a -> IO ()

Update the value at the given index. The index must exist.

listStoreToList :: ListStore a -> IO [a]

Extract all data from the store.

listStoreGetSize :: ListStore a -> IO Int

Query the number of elements in the store.

listStoreInsert :: ListStore a -> Int -> a -> IO ()

Insert an element in front of the given element. The element is appended if the index is greater or equal to the size of the list.

listStorePrepend :: ListStore a -> a -> IO ()

Prepend the element to the store.

listStoreAppend :: ListStore a -> a -> IO Int

Append an element to the store. Returns the index of the inserted element.

listStoreRemove :: ListStore a -> Int -> IO ()

Remove the element at the given index.

listStoreClear :: ListStore a -> IO ()

Empty the store.