logo top
Main Page   Widgets   Namespaces   Book  

Gtk::TreeModelColumnRecord Class Reference
[TreeView Classes]

Inheritance diagram for Gtk::TreeModelColumnRecord:

Inheritance graph
[legend]
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 it's absolutely legal to 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.


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.4.4 © 1997-2001