Gtk::TreeModelColumnRecord Class Reference
TreeView Classes

Typedefed as TreeModel::ColumnRecord. More...

`#include <gtkmm/treemodelcolumn.h>`

Inheritance diagram for Gtk::TreeModelColumnRecord:
[legend]

## Public Member Functions

| TreeModelColumnRecord ()
virtual | ~TreeModelColumnRecord () noexcept
void | add (TreeModelColumnBase &column)
| Adds a TreeModelColumn to this record.
unsigned int | size () const
const GType * | types () const

## Detailed Description

Typedefed as TreeModel::ColumnRecord.

Keeps a record of TreeModelColumns.

ColumnRecord objects are used to setup a new instance of a TreeModel (or rather, a new instance of an implementation of the model, such as Gtk::ListStore or Gtk::TreeStore). It is convenient to do that by deriving from TreeModel::ColumnRecord:

class MyModelColumns : public Gtk::TreeModel::ColumnRecord
{
public:
Gtk::TreeModelColumn<Glib::ustring> filename;
Gtk::TreeModelColumn<Glib::ustring> description;
Gtk::TreeModelColumn< Glib::RefPtr<Gdk::Pixbuf> > thumbnail;
MyModelColumns() { add(filename); add(description); add(thumbnail); }
};
Gtk::TreeModelColumnRecord
Typedefed as TreeModel::ColumnRecord.
Definition treemodelcolumn.h:71
Gtk::TreeModelColumn
A Gtk::TreeModelColumn describes the C++ type of the data in a model column, and identifies that colu...
Definition treemodelcolumn.h:129
Gtk::make_managed
T * make_managed(T_Args &&... args)
Create a Gtk::Object such as a widget and Gtk::manage() it in a single step.
Definition object.h:63

Whether or not you derive your own ColumnRecord, you need to add the TreeModelColumns to the ColumnRecord with the add() method.

A ColumnRecord instance, such as an instance of `MyModelColumns` should then be passed to ListStore::create() or TreeStore::create(). The TreeModelColumns, such as the members `filename`, `description` and `thumbnail` can then be used with Gtk::TreeRow::operator[]() to specify the column you're interested in.

Neither TreeModel::ColumnRecord nor the TreeModelColumns contain any real data – they merely describe what C++ type is stored in which column of a TreeModel, and save you from having to repeat that type information in several places.

Thus TreeModel::ColumnRecord can be made a singleton (as long as you make sure it's instantiated after Gtk::Main), even when creating multiple models from it.

## Constructor & Destructor Documentation

## TreeModelColumnRecord()

Gtk::TreeModelColumnRecord::TreeModelColumnRecord | ( |  | ) |

## ~TreeModelColumnRecord()

virtual Gtk::TreeModelColumnRecord::~TreeModelColumnRecord | ( |  | ) |

virtual noexcept

## Member Function Documentation

## add()

void Gtk::TreeModelColumnRecord::add | ( | TreeModelColumnBase & | column | ) |

Adds a TreeModelColumn to this record.

add() not only registers the column, but also assigns a column index to it. Once registered, the TreeModelColumn is final, and you're free to pass it around by value.

## size()

unsigned int Gtk::TreeModelColumnRecord::size | ( |  | ) | const

## types()

const GType * Gtk::TreeModelColumnRecord::types | ( |  | ) | const