Re: Gtk::TreeViewColumn::set_widget()
- From: Bob Caryl <bob fis-cal com>
- To: Jonathon Jongsma <jonathon jongsma gmail com>
- Cc: gtkmm-list gnome org
- Subject: Re: Gtk::TreeViewColumn::set_widget()
- Date: Tue, 27 Dec 2005 09:01:23 -0600
A quick perusal of the gtkmm source for Gtk::TreeViewColumn::set_widget
shows that gtk_tree_view_column_set_widget () is called thusly:
void Gtk::TreeViewColumn::set_widget(Gtk::Widget& widget)
{
gtk_tree_view_column_set_widget ( gobj(), (widget).gobj());
}
The wrapped function itself can take a NULL pointer to a GtkWidget;
hence, a patch with an overloaded version of
Gtk::TreeViewColumn::set_widget that takes no parameter at all and sends
a NULL GtkWidget pointer to gtk_tree_view_column_set_widget () is
needed. Maybe something like this:
void Gtk::TreeViewColumn::set_widget(void)
{
gtk_tree_view_column_set_widget( gobj(), GTK_WIDGET(0) );
}
Bob
Jonathon Jongsma wrote:
>You don't want to do it that way. you'll end up with a segfault when
>you try to derefence the null pointer.
>
>My guess is that the description for this particular function was
>brought over from the GTK+ docs, since the GTK+ function used a
>pointer as an argument. In gtkmm, however, references are used in
>preference to pointers, so the 'if the argument is 0' comment doesn't
>make much sense since references can't be 0.
>
>Often in these sorts of cases, gtkmm will use function overloading to
>provide two different functions -- one with a reference argument and
>one without the argument at all. This doesn't seem to be the case
>here, so it doesn't appear that it's possible to get this behavior in
>gtkmm unless you call the GTK+ functions directly. Or maybe there's
>an alternate way to do it and I just don't know about it.
>
>jonner
>
>
>On 12/24/05, Shawn Artrip <ubergreatness yahoo com> wrote:
>
>
>>Gtk::Widget * widget = 0;
>>Gtk::TreeViewColumn::set_widget(*widget);
>>
>>this compiles fine but I don't know if it
>>runs the way the doc says it will.
>>
>>On Sat, 24 Dec 2005 06:13:51 -0500
>>Doug McLain <doug nostar net> wrote:
>>
>>
>>
>>>The docs at
>>>http://www.gtkmm.org/docs/gtkmm-2.4/docs/reference/html/classGtk_1_1TreeViewColumn.html#f5c3b04accb5fba7aa4c84e831b8b643
>>>say that if widget is 0, then a Label will be used. I am passing 0 to
>>>this function, but I get:
>>>
>>>error: no matching function for call to
>>>'Gtk::TreeViewColumn::set_widget(int)'
>>>note: candidates are: void Gtk::TreeViewColumn::set_widget(Gtk::Widget&)
>>>
>>>How do I do this right? I don't want to pass a real widget, I want it
>>>to do exactly what the docs say it does when widget is 0.
>>>
>>>Doug
>>>--
>>>http://nostar.net/
>>>_______________________________________________
>>>gtkmm-list mailing list
>>>gtkmm-list gnome org
>>>http://mail.gnome.org/mailman/listinfo/gtkmm-list
>>>
>>>
>>_______________________________________________
>>gtkmm-list mailing list
>>gtkmm-list gnome org
>>http://mail.gnome.org/mailman/listinfo/gtkmm-list
>>
>>
>>
>>------------------------------------------------------------------------
>>
>>_______________________________________________
>>gtkmm-list mailing list
>>gtkmm-list gnome org
>>http://mail.gnome.org/mailman/listinfo/gtkmm-list
>>
>>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]