gtkmm 3.24.7
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Related Functions | List of all members
Gtk::CellLayout Class Reference

An interface for packing cells. More...

#include <gtkmm/celllayout.h>

Inheritance diagram for Gtk::CellLayout:
Inheritance graph
[legend]

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. More...
 
const GtkCellLayout * gobj () const
 Provides access to the underlying C GObject. More...
 
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. More...
 
void pack_end (CellRenderer & cell, bool expand=true)
 Adds the cell to the end of cell_layout. More...
 
std::vector< CellRenderer * > get_cells ()
 Return value: a list of cell renderers. More...
 
std::vector< const CellRenderer * > get_cells () const
 Return value: a list of cell renderers. More...
 
CellRendererget_first_cell ()
 Gets the CellRenderer for the first column if any has been added, or nullptr otherwise. More...
 
const CellRendererget_first_cell () const
 Gets the CellRenderer for the first column if any has been added, or nullptr otherwise. More...
 
void clear ()
 Unsets all the mappings on all renderers on cell_layout and removes all renderers from cell_layout. More...
 
void add_attribute (CellRenderer & cell, const Glib::ustring & attribute, int column)
 Adds an attribute mapping to the list in cell_layout. More...
 
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(). More...
 
void reorder (CellRenderer & cell, int position)
 Re-inserts cell at position. More...
 
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. More...
 
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. More...
 
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. More...
 

Protected Member Functions

 CellLayout ()
 You should derive from this class to use it. More...
 
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::CellLayoutwrap (GtkCellLayout * object, bool take_copy=false)
 A Glib::wrap() method for this object. More...
 

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

◆ 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 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
cellA Gtk::CellRenderer.
attributeAn attribute 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.

Since gtkmm 2.4:

◆ clear_attributes()

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

Clears all existing attributes previously set with set_attributes().

Since gtkmm 2.4:
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.

Since gtkmm 3.0:
Returns
The cell area used by cell_layout, or nullptr in case no cell area is used.

◆ 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.

Since gtkmm 3.0:
Returns
The cell area used by cell_layout, or nullptr in case no cell area is used.

◆ get_cells() [1/2]

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

Return value: a list of cell renderers.

Since gtkmm 2.12:
Returns
A list of cell renderers.

◆ get_cells() [2/2]

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

Return value: a list of cell renderers.

Since gtkmm 2.12:
Returns
A list 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.

Since gtkmm 2.4:
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.

Since gtkmm 2.4:
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.

Since gtkmm 2.4:
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 Function 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.