| Portability | portable (depends on GHC) |
|---|---|
| Stability | provisional |
| Maintainer | gtk2hs-users@lists.sourceforge.net |
Graphics.UI.Gtk.ModelView.CellLayout
Contents
Description
An interface for packing cells
- Module available since Gtk+ version 2.4
- class GObjectClass o => CellLayoutClass o
- toCellLayout :: CellLayoutClass o => o -> CellLayout
- cellLayoutPackStart :: (CellLayoutClass self, CellRendererClass cell) => self -> cell -> Bool -> IO ()
- cellLayoutPackEnd :: (CellLayoutClass self, CellRendererClass cell) => self -> cell -> Bool -> IO ()
- cellLayoutReorder :: (CellLayoutClass self, CellRendererClass cell) => self -> cell -> Int -> IO ()
- cellLayoutClear :: CellLayoutClass self => self -> IO ()
- cellLayoutClearAttributes :: (CellLayoutClass self, CellRendererClass cell) => self -> cell -> IO ()
- cellLayoutGetCells :: CellLayoutClass self => self -> IO [CellRenderer]
- cellLayoutAddColumnAttribute :: (CellLayoutClass self, CellRendererClass cell) => self -> cell -> ReadWriteAttr cell a v -> ColumnId row v -> IO ()
- cellLayoutSetAttributes :: (CellLayoutClass self, CellRendererClass cell, TreeModelClass (model row), TypedTreeModelClass model) => self -> cell -> model row -> (row -> [AttrOp cell]) -> IO ()
- cellLayoutSetAttributeFunc :: (CellLayoutClass self, CellRendererClass cell, TreeModelClass model) => self -> cell -> model -> (TreeIter -> IO ()) -> IO ()
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
Types
class GObjectClass o => CellLayoutClass o Source
toCellLayout :: CellLayoutClass o => o -> CellLayoutSource
Methods
Arguments
| :: (CellLayoutClass self, CellRendererClass cell) | |
| => self | |
| -> cell |
|
| -> Bool |
|
| -> IO () |
Packs the cell into the beginning of the cell layout. If expand is
False, then the cell is allocated no more space than it needs. Any
unused space is divided evenly between cells for which expand is True.
Note that reusing the same cell renderer is not supported.
Arguments
| :: (CellLayoutClass self, CellRendererClass cell) | |
| => self | |
| -> cell |
|
| -> Bool |
|
| -> IO () |
Adds the cell to the end of cellLayout. If expand is False, then
the cell is allocated no more space than it needs. Any unused space is
divided evenly between cells for which expand is True.
Note that reusing the same cell renderer is not supported.
Arguments
| :: (CellLayoutClass self, CellRendererClass cell) | |
| => self | |
| -> cell |
|
| -> Int |
|
| -> IO () |
Re-inserts cell at position. Note that cell has already to be
packed into cellLayout for this to function properly.
cellLayoutClear :: CellLayoutClass self => self -> IO ()Source
Remove all renderers from the cell layout.
cellLayoutClearAttributesSource
Arguments
| :: (CellLayoutClass self, CellRendererClass cell) | |
| => self | |
| -> cell |
|
| -> IO () |
Clears all existing attributes previously set with
cellLayoutSetAttributes.
Arguments
| :: CellLayoutClass self | |
| => self | |
| -> IO [CellRenderer] | returns a list of cell renderers |
Returns the cell renderers which have been added to cellLayout.
- Available since Gtk+ version 2.12
cellLayoutAddColumnAttributeSource
Arguments
| :: (CellLayoutClass self, CellRendererClass cell) | |
| => self | |
| -> cell |
|
| -> ReadWriteAttr cell a v |
|
| -> ColumnId row v |
|
| -> IO () |
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.
Arguments
| :: (CellLayoutClass self, CellRendererClass cell, TreeModelClass (model row), TypedTreeModelClass model) | |
| => self | |
| -> cell |
|
| -> model row |
|
| -> (row -> [AttrOp cell]) | Function to set attributes on the cell renderer. |
| -> IO () |
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
Graphics.UI.Gtk.ModelView.TreeModelSort.TreeModelSortandGraphics.UI.Gtk.ModelView.TreeModelFilter.TreeModelFilter: 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 theTreeIters 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.Graphics.UI.Gtk.TreeModel.TreeModelSort.treeModelSortConvertIterToChildIter. Hence, it is possible to install the encapsulating model in the view and to pass the child model to this function.
cellLayoutSetAttributeFuncSource
Arguments
| :: (CellLayoutClass self, CellRendererClass cell, TreeModelClass model) | |
| => self | |
| -> cell |
|
| -> model |
|
| -> (TreeIter -> IO ()) | Function to set attributes on the cell renderer. |
| -> IO () |
Install a function that looks up a row in the model and sets the
attributes of the CellRenderer cell using the row's content.