Custom cell_data_func for treeviewcolumn warnings.
- From: Germán Diago <germandiago gmail com>
- To: gtkmm-list gnome org
- Subject: Custom cell_data_func for treeviewcolumn warnings.
- Date: Sun, 21 Jun 2009 23:44:59 +0200
Hello. I'm having problems with this code. The problem is that I get a
lot of warnings
when I try to insert rows in my TreeModel from the main function.
My TreeColumnRecord has a pointer type, but it's not derived from
Glib::Object. Is this the problem?
And if it is, is there any workaround to not require my class to
inherit from Glib::Object without
splitting MisCols class into separate fields. Thanks in advance.
struct MiClase {
std::string a;
public:
MiClase() {}
MiClase(std::string aa) : a(aa) {}
};
struct MisCols : TreeModelColumnRecord {
Gtk::TreeModelColumn<MiClase *> entero_;
public:
MisCols() {
add(entero_);
}
};
void funcCol(CellRenderer * r, const Gtk::TreeModel::iterator& iter)
{
CellRendererText * re = (CellRendererText *)r;
Gtk::TreeModelColumn<MiClase *> col;
re->property_text() = (iter->get_value(col)->a);
// re->property_text() = iter->get_value(col)->a;
}
int main(int argc, char * argv[]) {
Main m(argc, argv);
TreeView tv;
Window w;
MisCols cols;
vector<MiClase> mc = {MiClase("hola"), MiClase("adios") };
auto l = ListStore::create(cols);
tv.set_model(l);
auto row = *l->append();
row[cols.entero_] = &mc[0];
//row = *l->append();
//row[cols.entero_] = &mc[1];
TreeViewColumn viewcol("MiClase", cols.entero_);
viewcol.set_cell_data_func(*viewcol.get_first_cell_renderer(), &funcCol);
tv.append_column(viewcol);
w.add(tv);
w.show_all();
Main::run(w);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]