Stability | provisional |
---|---|
Portability | portable (depends on GHC) |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
An interface for packing cells
- Module available since Gtk+ version 2.4
Synopsis
- cellLayoutSetAttributes :: (MonadIO m, IsCellLayout self, IsCellRenderer cell, IsTreeModel (model row), IsTypedTreeModel model) => self -> cell -> model row -> (row -> [AttrOp cell 'AttrSet]) -> m ()
- cellLayoutSetDataFunction :: (MonadIO m, IsCellLayout self, IsCellRenderer cell, IsTreeModel (model row), IsTypedTreeModel model) => self -> cell -> model row -> (row -> IO ()) -> m ()
- cellLayoutSetDataFunc' :: (MonadIO m, IsCellLayout self, IsCellRenderer cell, IsTreeModel model) => self -> cell -> model -> (TreeIter -> IO ()) -> m ()
- convertIterFromParentToChildModel :: TreeIter -> TreeModel -> TreeModel -> IO TreeIter
Detail
CellLayout
is an interface which is implemented by all objects which
provide a TreeViewColumn
API for packing cells, setting attributes and data funcs.
Class Hierarchy
| Interface CellLayout | +----TreeViewColumn
| +----CellView
| +----IconView
| +----EntryCompletion
| +----ComboBox
| +----ComboBoxEntry
cellLayoutSetAttributes Source #
:: (MonadIO m, IsCellLayout self, IsCellRenderer cell, IsTreeModel (model row), IsTypedTreeModel model) | |
=> self | |
-> cell |
|
-> model row |
|
-> (row -> [AttrOp cell 'AttrSet]) | Function to set attributes on the cell renderer. |
-> m () |
Adds an attribute mapping to the renderer cell
. The column
is
the ColumnId
of the model to get a value from, and the attribute
is the
parameter on cell
to be set from the value. So for example if column 2 of
the model contains strings, you could have the "text" attribute of a
CellRendererText
get its values from column 2.
cellLayoutAddColumnAttribute :: (MonadIO m, IsCellLayout self, IsCellRenderer cell) => self
-> cell -- ^ cell
- A CellRenderer
.
-> ReadWriteAttr cell a v -- ^ attribute
- An attribute of a renderer.
-> ColumnId row v -- ^ column
- The virtual column of the model from which to
-- retrieve the attribute.
-> m ()
cellLayoutAddColumnAttribute self cell attr column =
cellLayoutAddAttribute self cell (T.pack $ show attr) (columnIdToNumber column)
Specify how a row of the model
defines the
attributes of the CellRenderer
cell
. This is a convenience wrapper
around cellLayoutSetAttributeFunc
in that it sets the cells of the cell
with the data retrieved from the model.
- Note on using
TreeModelSort
andTreeModelFilter
: These two models wrap another model, the so-called child model, instead of storing their own data. This raises the problem that the data of cell renderers must be set using the child model, while theTreeIter
s that the view works with refer to the model that encapsulates the child model. For convenience, this function transparently translates an iterator to the child model before extracting the data using e.g.treeModelSortConvertIterToChildIter
. Hence, it is possible to install the encapsulating model in the view and to pass the child model to this function.
cellLayoutSetDataFunction Source #
:: (MonadIO m, IsCellLayout self, IsCellRenderer cell, IsTreeModel (model row), IsTypedTreeModel model) | |
=> self | |
-> cell |
|
-> model row |
|
-> (row -> IO ()) | Function to set data on the cell renderer. |
-> m () |
Like cellLayoutSetAttributes
, but allows any IO action to be used
cellLayoutSetDataFunc' Source #
:: (MonadIO m, IsCellLayout self, IsCellRenderer cell, IsTreeModel model) | |
=> self | |
-> cell |
|
-> model |
|
-> (TreeIter -> IO ()) | Function to set attributes on the cell renderer. |
-> m () |
Install a function that looks up a row in the model and sets the
attributes of the CellRenderer
cell
using the row's content.