Created 星期五 14 五月 2010
显示部件Gtk::TreeView,数据管理Gtk::ListSore,每一行的数据Gtk::TreeModel::Row
列要从Gtk::TreeModel::ColumnRecord派生出一个类,在Gtk::ListStore创建时要用,Gtk::TreeView显示时也要用。
可能用到
新建store
static Glib::RefPtr<ListStore> Gtk::ListStore::create ( const TreeModelColumnRecord& columns )
设定TreeModel
void Gtk::TreeView::set_model ( const Glib::RefPtr<TreeModel>& model )
ListStore添加一行
iterator Gtk::ListStore::append ( )
访问
reference Gtk::TreeIter::operator* ( )
//typedef const Gtk::TreeRow& reference
TreeValueProxy<ColumnType> operator[] (const TreeModelColumn<ColumnType>& column) const
TreeView添加列//typedef const Gtk::TreeRow& reference
TreeValueProxy<ColumnType> operator[] (const TreeModelColumn<ColumnType>& column) const
int Gtk::TreeView::append_column ( TreeViewColumn& column )
也可以是
int Gtk::TreeView::append_column_editable ( const Glib::ustring & title,
const TreeModelColumn<ColumnType>& model_column)
int Gtk::TreeView::append_column_numeric ( const Glib::ustring & title, const TreeModelColumn<ColumnType>& model_column, const Glib::ustring & format)
一个Gtk::TreeModel::ColumnRecord的子类
class columns:public Gtk::TreeModel::ColumnRecord
{
public:
Gtk::TreeModelColumn<int> id;
Gtk::TreeModelColumn<std::string> name;
Gtk::TreeModelColumn<std::string> name;
Gtk::TreeModelColumn<double> g;
columns(){add(id);add(name);add(g);}
columns(){add(id);add(name);add(g);}
};
清除表中以前产生的列
TreeView::remove_all_columns();
访问值
TreeModel::children()