Re: [gtkmm] Tooltips with gtkmm-2.3
- From: Murray Cumming <murrayc murrayc com>
- To: Chris Vine <chris cvine freeserve co uk>
- Cc: gtkmm-list <gtkmm-list gnome org>
- Subject: Re: [gtkmm] Tooltips with gtkmm-2.3
- Date: Fri, 09 Apr 2004 20:58:05 +0200
On Fri, 2004-04-09 at 19:55, Chris Vine wrote:
> On Friday 09 April 2004 17:00, Murray Cumming wrote:
> > On Fri, 2004-04-09 at 15:19, Chris Vine wrote:
> > > To follow up on my own post and to help any others with this problem, I
> > > have found two ways of getting tooltips to work with Gtk::Toolbar:
> > >
> > > The hack, which uses the Gtk::Tooltips object provided by Gtk::Toolbar -
> > > Gtk::Toolbar* toolbar_p = manage(new Gtk::Toolbar);
> > > toolbar_p->set_tooltips(true);
> > > Gtk::Tooltips* tooltips_p = Glib::wrap(tool_bar.gobj()->tooltips,
> > > false); Gtk::ToolButton* button_p = manage(new Gtk::ToolButton(image));
> > > button_p->set_tooltip(*tooltips_p, "Tooltips text");
> > Yes, I noticed this before:
> > http://bugzilla.gnome.org/show_bug.cgi?id=127726
> > I will add a Gtk::Toolbar::get_tooltips_object() accessor. Thanks for
> > reminding me. I guess that solves the problem.
> The thing that slightly troubles me is that this means accessing a private
> member of struct _GtkToolbar, which you are not really supposed to do.
If you read that bug, you will see that it is public.
> the other hand, GTK+ has deprecated gtk_toolbar_append_item, presumably
> expecting new code to use gtk_toolbar_insert which seems to be the only
> relevant function left undeprecated (perhaps its a documentation error?), but
> it has provided no accessor function for the tooltips object which is needed
> to use gtk_tool_item_set_tooltip(), which is the only other way of setting a
> tooltip. It seems a clear error in the GTK+ API.
They probably expect us to use the UIManager.
> I think the better course is just to wrap gtk_toolbar_append_item.
No, the accessor is completely OK.
> it is said to be deprecated, it is in fact the only function which can
> sensibly be used.
> There are also confusingly different ways of setting a tooltip. Translated
> from GTK+-speak into gtkmm-speak, assuming a Gtk::Tooltips object "tooltips",
> a Gtk::Button object "button" has its tooltip set with:
> tooltips.set_tip(button, "Tooltip text");
> Whereas a Gtk::ToolButton object "button" with a Gtk::Tooltips object
> "tooltips" has its tooltip set with:
> button.set_tooltip(tooltips, "Tooltip text");
Yes, this seems less than ideal. Feel free to file a GTK+ or gtkmm bug
for the next development phase.
> (With a Gtk::ToolButton object the Gtk::Button approach will not work - a
> Gtk::ToolButton is not derived from Gtk::Button and they have unrelated
> member functions.)
> There is nothing gtkmm can do about this, it follows from the GTK+ API, which
> seems to have got lost somewhere down the line.
murrayc murrayc com
] [Thread Prev