Re: How to bring up tooltip text for certain words in a GTK textview?



Hi.

General flow is correct, but GTK+ does offer some functionality that
may come handy in your case. (I'm commenting in a rather strange
succession because Richard top-posted his reply).

> unless gtk is now providing direct access to tooltip style pop-ups, you must create it yourself

GTK+ does offer access to tooltips in various ways: you can simply set
text or markup; you can insert custom content into tooltip; or you can
create your own window and present it as tooltip.

> meaning that you must create and manage your own borderless top-level window

This is not needed anymore.

> whose location must be explicitly specified to be placed onto the screen
> calculation of the window location coordinates must access the root-window where to the tooltip is to be located on top of, and
> since you don't have access to the size of the WM's borders on the root window, a little "guessing" as to the WM's size must be taken into account

If you connect to GtkWidget::query-tooltip signal, coordinates are
already provided, so I think most of this stuff is not needed now.

>> A textview shows help text with many 'technical' words that users may not know or remember. I would like a tooltip text with a short explanation to pop up when a user hovers the cursor over a technical phrase. There is a lookup table from technical phrases to explanations. I am thinking about using the mouse move event to get x,y then getting the technical phrase from x,y, then looking up the explanation and outputting the tooltip text.

Don't use movement events to monitor your position. Simply set text
view's "has-tooltip" property to "TRUE" and connect handler to
"query-tooltip" signal. Use coordinates provided by callback to find
the word that cursor hovers over and then do the lookup. I think
things should be relatively simple.

Tadej


--
Tadej Borovšak
tadeboro.blogspot.com
tadeboro gmail com
tadej borovsak gmail com


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]