# Gtk::CellLayout Class Reference

An interface for packing cells. More...

Inherits Glib::Interface.

Inherited by Gtk::CellView, and Gtk::ComboBox.

Collaboration diagram for Gtk::CellLayout:
[legend]

List of all members.

## Public Types

typedef sigc::slot< void, const TreeModel::const_iterator& > | SlotCellData

## Public Member Functions

virtual | ~CellLayout ()
GtkCellLayout* | gobj ()
| Provides access to the underlying C GObject.
const GtkCellLayout* | gobj () const
| Provides access to the underlying C GObject.
template<class ColumnType >
void | pack_start (const TreeModelColumn< ColumnType >& model_column, bool expand=true)
void | pack_start (CellRenderer& cell, bool expand=true)
| Packs the cell into the beginning of cell_layout.
void | pack_end (CellRenderer& cell, bool expand=true)
| Adds the cell to the end of cell_layout.
Glib::ListHandle< CellRenderer* > | get_cells ()
| Return value: a list of cell renderers.
Glib::ListHandle< const CellRenderer* > | get_cells () const
| Return value: a list of cell renderers.
void | clear ()
| Unsets all the mappings on all renderers on cell_layout and removes all renderers from cell_layout.
void | add_attribute (CellRenderer& cell, const Glib::ustring& attribute, int column)
| Adds an attribute mapping to the list in cell_layout.
void | add_attribute (const Glib::PropertyProxy_Base& property, const TreeModelColumnBase& column)
void | add_attribute (CellRenderer& cell, const Glib::ustring& attribute, const TreeModelColumnBase& column)
void | set_cell_data_func (CellRenderer& cell, const SlotCellData& slot)
void | clear_attributes (CellRenderer& cell)
| Clears all existing attributes previously set with set_attributes().
void | reorder (CellRenderer& cell, int position)
| Re-inserts cell at position.
template<class T_ModelColumnType >
void | pack_start (const TreeModelColumn< T_ModelColumnType >& column, bool expand)

## Static Public Member Functions

static void | add_interface (GType gtype_implementer)

## Protected Member Functions

virtual void | pack_start_vfunc (CellRenderer* cell, bool expand)
virtual void | pack_end_vfunc (CellRenderer* cell, bool expand)
virtual void | clear_vfunc ()
virtual void | add_attribute_vfunc (CellRenderer* cell, const Glib::ustring& attribute, int column)
virtual void | clear_attributes_vfunc (CellRenderer* cell)
virtual void | reorder_vfunc (CellRenderer* cell, int position)

## Related Functions

(Note that these are not member functions.)
Glib::RefPtr< Gtk::CellLayout > | wrap (GtkCellLayout* object, bool take_copy=false)
| A Glib::wrap() method for this object.

## Detailed Description

An interface for packing cells.

CellLayout is an interface to be implemented by all objects which want to provide a TreeView::Column-like API for packing cells, setting attributes and data funcs.

## Member Typedef Documentation

typedef sigc::slot<void, const TreeModel::const_iterator&> Gtk::CellLayout::SlotCellData

## Constructor & Destructor Documentation

virtual Gtk::CellLayout::~CellLayout | ( |  | ) | `[virtual]`

## Member Function Documentation

void Gtk::CellLayout::add_attribute | ( | CellRenderer& | cell,
|  | const Glib::ustring & | attribute,
|  | const TreeModelColumnBase& | column |
| ) |  |  |

void Gtk::CellLayout::add_attribute | ( | const Glib::PropertyProxy_Base & | property,
|  | const TreeModelColumnBase& | column |
| ) |  |  |

void Gtk::CellLayout::add_attribute | ( | CellRenderer& | cell,
|  | const Glib::ustring & | attribute,
|  | int | column |
| ) |  |  |

Adds an attribute mapping to the list in cell_layout.

The column is the column 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 Gtk::CellRendererText get its values from column 2.

Since gtkmm 2.4:

Parameters:

  | cell | A Gtk::CellRenderer.
  | attribute | An attribute on the renderer.
  | column | The column position on the model to get the attribute from.

virtual void Gtk::CellLayout::add_attribute_vfunc | ( | CellRenderer* | cell,
|  | const Glib::ustring & | attribute,
|  | int | column |
| ) |  |  | `[protected, virtual]`

static void Gtk::CellLayout::add_interface | ( | GType | gtype_implementer | ) | `[static]`

void Gtk::CellLayout::clear | ( |  | ) |

Unsets all the mappings on all renderers on cell_layout and removes all renderers from cell_layout.

Since gtkmm 2.4:

Reimplemented in Gtk::ComboBoxEntryText, and Gtk::ComboBoxText.

void Gtk::CellLayout::clear_attributes | ( | CellRenderer& | cell | ) |

Clears all existing attributes previously set with set_attributes().

Since gtkmm 2.4:

Parameters:

  | cell | A Gtk::CellRenderer to clear the attribute mapping on.

virtual void Gtk::CellLayout::clear_attributes_vfunc | ( | CellRenderer* | cell | ) | `[protected, virtual]`

virtual void Gtk::CellLayout::clear_vfunc | ( |  | ) | `[protected, virtual]`

Glib::ListHandle<const CellRenderer*> Gtk::CellLayout::get_cells | ( |  | ) | const

Return value: a list of cell renderers.

Returns:
  A list of cell renderers.

Since gtkmm 2.12:

Glib::ListHandle<CellRenderer*> Gtk::CellLayout::get_cells | ( |  | ) |

Return value: a list of cell renderers.

Returns:
  A list of cell renderers.

Since gtkmm 2.12:

const GtkCellLayout* Gtk::CellLayout::gobj | ( |  | ) | const`[inline]`

Provides access to the underlying C GObject.

Reimplemented from Glib::Interface.

Reimplemented in Gtk::CellView, Gtk::ComboBox, and Gtk::ComboBoxEntry.

GtkCellLayout* Gtk::CellLayout::gobj | ( |  | ) | `[inline]`

Provides access to the underlying C GObject.

Reimplemented from Glib::Interface.

Reimplemented in Gtk::CellView, Gtk::ComboBox, and Gtk::ComboBoxEntry.

void Gtk::CellLayout::pack_end | ( | CellRenderer& | cell,
|  | bool | expand = `true` |
| ) |  |  |

Adds the cell to the end of 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.

Since gtkmm 2.4:

Parameters:

  | cell | A Gtk::CellRenderer.
  | expand | `true` if cell is to be given extra space allocated to cell_layout.

virtual void Gtk::CellLayout::pack_end_vfunc | ( | CellRenderer* | cell,
|  | bool | expand |
| ) |  |  | `[protected, virtual]`

template <class T_ModelColumnType >

void Gtk::CellLayout::pack_start | ( | const TreeModelColumn< T_ModelColumnType >& | column,
|  | bool | expand |
| ) |  |  | `[inline]`

void Gtk::CellLayout::pack_start | ( | CellRenderer& | cell,
|  | bool | expand = `true` |
| ) |  |  |

Packs the cell into the beginning of 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.

Since gtkmm 2.4:

Parameters:

  | cell | A Gtk::CellRenderer.
  | expand | `true` if cell is to be given extra space allocated to cell_layout.

template <class ColumnType >

void Gtk::CellLayout::pack_start | ( | const TreeModelColumn< ColumnType >& | model_column,
|  | bool | expand = `true` |
| ) |  |  | `[inline]`

virtual void Gtk::CellLayout::pack_start_vfunc | ( | CellRenderer* | cell,
|  | bool | expand |
| ) |  |  | `[protected, virtual]`

void Gtk::CellLayout::reorder | ( | CellRenderer& | cell,
|  | int | position |
| ) |  |  |

Re-inserts cell at position.

Note that cell has already to be packed into cell_layout for this to function properly.

Since gtkmm 2.4:

Parameters:

  | cell | A Gtk::CellRenderer to reorder.
  | position | New position to insert cell at.

virtual void Gtk::CellLayout::reorder_vfunc | ( | CellRenderer* | cell,
|  | int | position |
| ) |  |  | `[protected, virtual]`

void Gtk::CellLayout::set_cell_data_func | ( | CellRenderer& | cell,
|  | const SlotCellData & | slot |
| ) |  |  |

## Friends And Related Function Documentation

Glib::RefPtr< Gtk::CellLayout > wrap | ( | GtkCellLayout * | object,
|  | bool | take_copy = `false` |
| ) |  |  | `[related]`

A Glib::wrap() method for this object.

Parameters:

  | object | The C instance.
  | take_copy | False if the result should take ownership of the C instance. True if it should take a new copy or ref.

Returns:
  A C++ instance that wraps this C instance.

The documentation for this class was generated from the following file:

- gtkmm/celllayout.h