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
[email protected]
[email protected]
_______________________________________________
gtk-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gtk-list

Reply via email to