Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
264 views
in Technique[技术] by (71.8m points)

c++ - Implementing a custom gtkmm treemodel

I am trying to implement a custom tree mode in gtkmm (reason for doing this is to show rows from a database using some pageination). I habe implemented all vfunc-methods, but i still get following errors:

glibmm-CRITICAL **: Glib::Interface::Interface(const Glib::Interface_Class&): assertion `gobject_ != 0' failed

GLib-GObject-CRITICAL **: g_object_ref: assertion `G_IS_OBJECT (object)' failed

On instantiation I have following code:

ModelTracks::ModelTracks(Library* library_ptr)
        : Glib::ObjectBase(typeid(ModelTracks)),
          Gtk::TreeModel(),
        _library_ptr(library_ptr) {
    _sort_direction[0] = true;
    _sort_direction[1] = true;
    _sort_direction[2] = true;
    _sort_direction[3] = true;
    _sort_order[0] = 0;
    _sort_order[1] = 1;
    _sort_order[2] = 2;
    _sort_order[3] = 3;
}

Can someone help me out or has an working example of a custom Gtk::TreeModel?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Try to initialize Glib::Object before Gtk::TreeModel.

ModelTracks::ModelTracks(Library* library_ptr) :
  Glib::ObjectBase(typeid(ModelTracks)),
  Glib::Object(),
  Gtk::TreeModel(),
  _library_ptr(library_ptr)
{
  _sort_direction[0] = true;
  _sort_direction[1] = true;
  _sort_direction[2] = true;
  _sort_direction[3] = true;
  _sort_order[0] = 0;
  _sort_order[1] = 1;
  _sort_order[2] = 2;
  _sort_order[3] = 3;
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

1.4m articles

1.4m replys

5 comments

57.0k users

...