gtkmm: 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 Types inherited from sigc::trackable
typedef internal::func_destroy_notify func_destroy_notify
 
- Public Types inherited from sigc::notifiable
typedef internal::func_destroy_notify func_destroy_notify
 

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 ()
 Returns the cell renderers which have been added to cell_layout. More...

 
std::vector< const CellRenderer* > get_cells () const
 Returns the cell renderers which have been added to cell_layout. 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)
 
- Public Member Functions inherited from Glib::Interface
 Interface ()
 
 Interface (Interface &&src) noexcept
 
Interfaceoperator= (Interface &&src) noexcept
 
 Interface (const Glib::Interface_Class &interface_class)
 
 Interface (GObject *castitem)
 
 ~Interface () noexcept override
 
 Interface (const Interface &)=delete
 
Interfaceoperator= (const Interface &)=delete
 
GObject * gobj ()
 
const GObject * gobj () const
 
- Public Member Functions inherited from Glib::ObjectBase
 ObjectBase (const ObjectBase &)=delete
 
ObjectBaseoperator= (const ObjectBase &)=delete
 
void set_property_value (const Glib::ustring &property_name, const Glib::ValueBase &value)
 
void get_property_value (const Glib::ustring &property_name, Glib::ValueBase &value) const
 
void set_property (const Glib::ustring &property_name, const PropertyType &value)
 
void get_property (const Glib::ustring &property_name, PropertyType &value) const
 
PropertyType get_property (const Glib::ustring &property_name) const
 
sigc::connection connect_property_changed (const Glib::ustring &property_name, const sigc::slot< void()> &slot)
 
sigc::connection connect_property_changed (const Glib::ustring &property_name, sigc::slot< void()> &&slot)
 
void freeze_notify ()
 
void thaw_notify ()
 
virtual void reference () const
 
virtual void unreference () const
 
GObject * gobj ()
 
const GObject * gobj () const
 
GObject * gobj_copy () const
 
- Public Member Functions inherited from sigc::trackable
 trackable () noexcept
 
 trackable (const trackable &src) noexcept
 
 trackable (trackable &&src) noexcept
 
 ~trackable ()
 
void add_destroy_notify_callback (notifiable *data, func_destroy_notify func) const
 
void notify_callbacks ()
 
trackableoperator= (const trackable &src)
 
trackableoperator= (trackable &&src) noexcept
 
void remove_destroy_notify_callback (notifiable *data) const
 

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)
 
- Protected Member Functions inherited from Glib::ObjectBase
 ObjectBase ()
 
 ObjectBase (const char *custom_type_name)
 
 ObjectBase (const std::type_info &custom_type_info)
 
 ObjectBase (ObjectBase &&src) noexcept
 
ObjectBaseoperator= (ObjectBase &&src) noexcept
 
virtual ~ObjectBase () noexcept=0
 
void initialize (GObject *castitem)
 
void initialize_move (GObject *castitem, Glib::ObjectBase *previous_wrapper)
 

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

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

Constructor & Destructor Documentation

Gtk::CellLayout::CellLayout ( )
protected

You should derive from this class to use it.

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

Member Function Documentation

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.

Parameters
cellA Gtk::CellRenderer.
attributeAn attribute on the renderer.
columnThe column position on the model to get the attribute from.
void Gtk::CellLayout::add_attribute ( const Glib::PropertyProxy_Base property,
const TreeModelColumnBase column 
)
void Gtk::CellLayout::add_attribute ( CellRenderer cell,
const Glib::ustring attribute,
const TreeModelColumnBase column 
)
virtual void Gtk::CellLayout::add_attribute_vfunc ( CellRenderer cell,
const Glib::ustring attribute,
int  column 
)
protectedvirtual
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.

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

Clears all existing attributes previously set with set_attributes().

Parameters
cellA Gtk::CellRenderer to clear the attribute mapping on.
virtual void Gtk::CellLayout::clear_attributes_vfunc ( CellRenderer cell)
protectedvirtual
virtual void Gtk::CellLayout::clear_vfunc ( )
protectedvirtual
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.

Returns
The cell area used by cell_layout, or nullptr in case no cell area is used.
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.

Returns
The cell area used by cell_layout, or nullptr in case no cell area is used.
std::vector<CellRenderer*> Gtk::CellLayout::get_cells ( )

Returns the cell renderers which have been added to cell_layout.

Returns
A vector of cell renderers.
std::vector<const CellRenderer*> Gtk::CellLayout::get_cells ( ) const

Returns the cell renderers which have been added to cell_layout.

Returns
A vector of cell renderers.
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.

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.

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

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

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

Provides access to the underlying C GObject.

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

Provides access to the underlying C GObject.

CellLayout& Gtk::CellLayout::operator= ( CellLayout&&  src)
noexcept
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.

Parameters
cellA Gtk::CellRenderer.
expandtrue if cell is to be given extra space allocated to cell_layout.
virtual void Gtk::CellLayout::pack_end_vfunc ( CellRenderer cell,
bool  expand 
)
protectedvirtual
template <class ColumnType >
void Gtk::CellLayout::pack_start ( const TreeModelColumn< ColumnType >&  model_column,
bool  expand = true 
)
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.

Parameters
cellA Gtk::CellRenderer.
expandtrue if cell is to be given extra space allocated to cell_layout.
template <class T_ModelColumnType >
void Gtk::CellLayout::pack_start ( const TreeModelColumn< T_ModelColumnType >&  column,
bool  expand 
)
virtual void Gtk::CellLayout::pack_start_vfunc ( CellRenderer cell,
bool  expand 
)
protectedvirtual
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.

Parameters
cellA Gtk::CellRenderer to reorder.
positionNew position to insert cell at.
virtual void Gtk::CellLayout::reorder_vfunc ( CellRenderer cell,
int  position 
)
protectedvirtual
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
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.