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