On Wed, 2010-09-22 at 08:50 +0300, محمد الحبيِّب wrote: > I am trying to play with GNote since it is based on Gtkmm. > > I typed this: > > gtk_widget_modify_base(m_editor, GTK_STATE_NORMAL, mihColor); > > Then I got this error message: > > error: cannot convert ‘Gtk::TextView*’ to ‘GtkWidget*’ for argument > ‘1’ to ‘void gtk_widget_modify_base(GtkWidget*, GtkStateType, const > GdkColor*)’
You are calling a C function, passing it a pointer to a C++ object. The compiler can't convert because the types are not related by any inheritance. Maybe you want to either a) Call m_editor->modify_base( ... ) http://library.gnome.org/devel/gtkmm/stable/classGtk_1_1Widget.html#ae5ba3a8e3b370bac1558a2dc7968c034 or b) get the C object so you can call the C function: gtk_widget_modify_base(m_editor.gobj(), ...) http://library.gnome.org/devel/gtkmm-tutorial/stable/sec-basics-gobj-and-wrap.html.en > Why is that? > As learned in Qt if QTextEdit is inherited from QWidget then I do not > have to convert it. > Is it the same case with Gtkmm? I think this is one of the advantages > of inheritance in C++. -- [email protected] www.murrayc.com www.openismus.com _______________________________________________ gtkmm-list mailing list [email protected] http://mail.gnome.org/mailman/listinfo/gtkmm-list
