logo top
Main Page   Widgets   Namespaces   Book  

Gtk::TreeModelColumnRecord Class Reference
[TreeView Classes]

Inheritance diagram for Gtk::TreeModelColumnRecord:

List of all members.


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); }
 };

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 you may use a statically allocated TreeModel::ColumnRecord (as long as you make sure it's instantiated after Gtk::Main), even when creating multiple models from it. However, it is very difficult to specify the sequence of allocation of static objects, so this should probably be avoided.

Public Member Functions

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


Constructor & Destructor Documentation

Gtk::TreeModelColumnRecord::TreeModelColumnRecord (  ) 

virtual Gtk::TreeModelColumnRecord::~TreeModelColumnRecord (  )  [virtual]


Member Function Documentation

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


The documentation for this class was generated from the following file:

Generated for gtkmm 2.4 by Doxygen 1.5.6 © 1997-2001