Mon Dec  8 20:34:52 PST 1997  Geoffrey T. Dairiki <dairiki@alumni.caltech.edu>

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

