Mon Dec 8 20:34:52 PST 1997 Geoffrey T. Dairiki <
[email protected]>
Patch: gtk-dairiki-971208-1
Here is a fairly major re-write of gtktooltips.
This patch in on snapshot gtk+-cvs-971208.
Note that you must apply patch gtk-dairiki-971208-0 before this
patch will work.
The re-write was initially motivated by my desire to be able to set
tooltip colors in an rc style file. As I began to work on a fix, it
occurred to me that the GtkTooltips code would be, IMHO, much cleaner
were it implemented as a true widget.
I tried (perhaps too hard) to leave the old API untouched, though
many features of the old API have now been deprecated (by me, at least.)
Highlights of the changes:
GtkTooltips is now a full-fledged widget. (A sub-class of GtkWindow.)
API deprecations:
gtk_tooltips_disable() is deprecated in favor of gtk_widget_hide().
gtk_tooltips_enable() is deprecated in favor of gtk_widget_show().
gtk_tooltips_destroy() is deprecated in favor of gtk_widget_destroy().
gtk_tooltips_set_colors() is deprecated in favor of rc files.
gtk_tooltips_{ref,unref}() are deprecated in favor of
gtk_object_{ref,unref}(). But note that gtk_object_unref() does
not automatically destroy when the ref_count reaches zero like
gtk_tooltips_unref() does. (Does anybody really use these, and
can we just get rid of them altogether?)
Implementation changes:
We now use a GtkLabel subwidget to do the drawing of the tip text.
(Use a hash table, rather than slist to keep track of tipped
widgets.)
To ponder: Some considerations about whether or not to gtk_widget_set_events
for tipped widgets:
o Some widgets aren't (by default) sensitive to enter/leave/motion
events --- so tooltips won't work unless we adjust this.
o But right now, one can't set_events for widgets once they've been
realized. (I'm not sure why and/or if this needs to be.)
Let me know what you think.
Jeff