gtkmm 4.14.0
Gtk::CellLayout Class Reference

An interface for packing cells. More...

#include <gtkmm/celllayout.h>

Inheritance diagram for Gtk::CellLayout:

Public Types

typedef sigc::slot< void(const TreeModel::const_iterator &)> SlotCellData
 

Public Member Functions

 CellLayout (CellLayout && src) noexcept
 
CellLayoutoperator= (CellLayout && src) noexcept
 
 ~CellLayout () noexcept override
 
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.
 
std::vector< CellRenderer * > get_cells ()
 Returns the cell renderers which have been added to cell_layout.
 
std::vector< const CellRenderer * > get_cells () const
 Returns the cell renderers which have been added to cell_layout.
 
CellRendererget_first_cell ()
 Gets the CellRenderer for the first column if any has been added, or nullptr otherwise.
 
const CellRendererget_first_cell () const
 Gets the CellRenderer for the first column if any has been added, or nullptr otherwise.
 
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.
 
Glib::RefPtr< CellAreaget_area ()
 Returns the underlying Gtk::CellArea which might be cell_layout if called on a Gtk::CellArea or might be nullptr if no Gtk::CellArea is used by cell_layout.
 
Glib::RefPtr< const CellAreaget_area () const
 Returns the underlying Gtk::CellArea which might be cell_layout if called on a Gtk::CellArea or might be nullptr if no Gtk::CellArea is used by cell_layout.
 
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)
 
static GType get_type ()
 Get the GType for this class, for use with the underlying GObject type system.
 

Protected Member Functions

 CellLayout ()
 You should derive from this class to use it.
 
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 Symbols

(Note that these are not member symbols.)

Glib::RefPtr< Gtk::CellLayoutwrap (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.

Deprecated
4.10: List views use widgets to display their contents. See Gtk::LayoutManager for layout manager delegate objects.

Member Typedef Documentation

◆ SlotCellData

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

Constructor & Destructor Documentation

◆ CellLayout() [1/2]

Gtk::CellLayout::CellLayout ( )
protected

You should derive from this class to use it.

◆ CellLayout() [2/2]

Gtk::CellLayout::CellLayout ( CellLayout && src)
noexcept

◆ ~CellLayout()

Gtk::CellLayout::~CellLayout ( )
overridenoexcept

Member Function Documentation

◆ add_attribute() [1/3]

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

◆ add_attribute() [2/3]

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 property on cell to be set from that 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. In this context "attribute" and "property" are used interchangeably.

Deprecated: 4.10

Parameters
cellA Gtk::CellRenderer.
attributeA property on the renderer.
columnThe column position on the model to get the attribute from.

◆ add_attribute() [3/3]

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

◆ add_attribute_vfunc()

virtual void Gtk::CellLayout::add_attribute_vfunc ( CellRenderer * cell,
const Glib::ustring & attribute,
int column )
protectedvirtual

◆ add_interface()

static void Gtk::CellLayout::add_interface ( GType gtype_implementer)
static

◆ clear()

void Gtk::CellLayout::clear ( )

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

Deprecated: 4.10

◆ clear_attributes()

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

Clears all existing attributes previously set with set_attributes().

Deprecated: 4.10

Parameters
cellA Gtk::CellRenderer to clear the attribute mapping on.

◆ clear_attributes_vfunc()

virtual void Gtk::CellLayout::clear_attributes_vfunc ( CellRenderer * cell)
protectedvirtual

◆ clear_vfunc()

virtual void Gtk::CellLayout::clear_vfunc ( )
protectedvirtual

◆ get_area() [1/2]

Glib::RefPtr< CellArea > Gtk::CellLayout::get_area ( )

Returns the underlying Gtk::CellArea which might be cell_layout if called on a Gtk::CellArea or might be nullptr if no Gtk::CellArea is used by cell_layout.

Deprecated: 4.10

Returns
The cell area used by cell_layout.

◆ get_area() [2/2]

Glib::RefPtr< const CellArea > Gtk::CellLayout::get_area ( ) const

Returns the underlying Gtk::CellArea which might be cell_layout if called on a Gtk::CellArea or might be nullptr if no Gtk::CellArea is used by cell_layout.

Deprecated: 4.10

Returns
The cell area used by cell_layout.

◆ get_cells() [1/2]

std::vector< CellRenderer * > Gtk::CellLayout::get_cells ( )

Returns the cell renderers which have been added to cell_layout.

Deprecated: 4.10

Returns
A vector of cell renderers.

◆ get_cells() [2/2]

std::vector< const CellRenderer * > Gtk::CellLayout::get_cells ( ) const

Returns the cell renderers which have been added to cell_layout.

Deprecated: 4.10

Returns
A vector of cell renderers.

◆ get_first_cell() [1/2]

CellRenderer * Gtk::CellLayout::get_first_cell ( )

Gets the CellRenderer for the first column if any has been added, or nullptr otherwise.

You should dynamic_cast<> to the expected derived CellRenderer type.

◆ get_first_cell() [2/2]

const CellRenderer * Gtk::CellLayout::get_first_cell ( ) const

Gets the CellRenderer for the first column if any has been added, or nullptr otherwise.

You should dynamic_cast<> to the expected derived CellRenderer type.

◆ get_type()

static GType Gtk::CellLayout::get_type ( )
static

Get the GType for this class, for use with the underlying GObject type system.

◆ gobj() [1/2]

GtkCellLayout * Gtk::CellLayout::gobj ( )
inline

Provides access to the underlying C GObject.

◆ gobj() [2/2]

const GtkCellLayout * Gtk::CellLayout::gobj ( ) const
inline

Provides access to the underlying C GObject.

◆ operator=()

CellLayout & Gtk::CellLayout::operator= ( CellLayout && src)
noexcept

◆ pack_end()

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.

Deprecated: 4.10

Parameters
cellA Gtk::CellRenderer.
expandtrue if cell is to be given extra space allocated to cell_layout.

◆ pack_end_vfunc()

virtual void Gtk::CellLayout::pack_end_vfunc ( CellRenderer * cell,
bool expand )
protectedvirtual

◆ pack_start() [1/3]

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.

Deprecated: 4.10

Parameters
cellA Gtk::CellRenderer.
expandtrue if cell is to be given extra space allocated to cell_layout.

◆ pack_start() [2/3]

template <class ColumnType >
void Gtk::CellLayout::pack_start ( const TreeModelColumn< ColumnType > & model_column,
bool expand = true )
inline

◆ pack_start() [3/3]

template <class T_ModelColumnType >
void Gtk::CellLayout::pack_start ( const TreeModelColumn< T_ModelColumnType > & column,
bool expand )

◆ pack_start_vfunc()

virtual void Gtk::CellLayout::pack_start_vfunc ( CellRenderer * cell,
bool expand )
protectedvirtual

◆ reorder()

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.

Deprecated: 4.10

Parameters
cellA Gtk::CellRenderer to reorder.
positionNew position to insert cell at.

◆ reorder_vfunc()

virtual void Gtk::CellLayout::reorder_vfunc ( CellRenderer * cell,
int position )
protectedvirtual

◆ set_cell_data_func()

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

Friends And Related Symbol Documentation

◆ wrap()

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

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

Parameters
objectThe C instance.
take_copyFalse 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.