gtkmm 3.24.7
|
Typedefed as TreeModel::ColumnRecord. More...
#include <gtkmm/treemodelcolumn.h>
Public Member Functions | |
TreeModelColumnRecord () | |
virtual | ~TreeModelColumnRecord () noexcept |
void | add (TreeModelColumnBase & column) |
Adds a TreeModelColumn to this record. More... | |
unsigned int | size () const |
const GType * | types () const |
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:
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.
Gtk::TreeModelColumnRecord::TreeModelColumnRecord | ( | ) |
|
virtualnoexcept |
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.
unsigned int Gtk::TreeModelColumnRecord::size | ( | ) | const |
const GType * Gtk::TreeModelColumnRecord::types | ( | ) | const |