On Fri, 2004-10-29 at 02:00 +0200, Soeren Sandmann wrote: > > typedef enum { GTK_TOOLTIPS_MOUSE, GTK_TOOLTIPS_KEYBOARD } GtkTooltipsContext; > > > > void gtk_tooltips_window_begin (GtkTooltipsWindow *window, > > GtkTooltipsContext context, > > GObject *owner); > > void gtk_tooltips_window_end (GtkTooltipsWindow *window, > > GtkTooltipsContext context, > > GObject *owner); > > The exact positon of tooltips should probably depend on the mouse > cursor. Eg., you probably don't want the tooltip popping up directly > under the mouse cursor. Maybe replace these functions with I think GtkTooltipsWindow can XQueryPointer() for the mouse position when the timeout expires and it decides to put up a window. Otherwise, the application would have to feed it a new position on every motion. > > void gtk_tooltips_window_set_area (GtkTooltipsWindow *window, > > GtkTooltipsContext context, > > GdkWindow *relative_to, > > int x, int y, > > int width, int height); > > Shouldn't this function have an owner parameter? Yeah, it should. > Also, what good are > the width/height parameters? I don't see how they can be useful. The point of window,x,y,width,height is the area of the object to which the tooltip refers. The tooltip would be placed completely clear of this area. (As it is placed to avoid widgets today.) > But I don't really think this function is sufficent if you want to > take mouse position into account. What about > > typedef void (* GtkTooltipPositionFunc) (GObject *owner, > GdkEvent *event, > gpointer data); > > gtk_tooltips_window_set_position_func (GtkTooltipsWindow *window, > GObject *owner, > GtkTooltipPositionFunc func, > gpointer data); > > instead? Do you think XQueryPointer() plus a rectangle for the widget area is insufficient? I don't want everybody to have to write their own position function if it's always the same thing. (The position function would have to get a bunch more stuff passed in. Ah. You interpreted gtk_tooltips_window_set_area() as "set the area of the tooltip", not "the area of the object being tooltipped) > Finally, I could see it being useful putting general widgets into the > tooltip window, so the API shouldn't rule that out (I don't think it > does currently). Yeah, the possibility is pretty much open with this API. The one problem is that you always have to create the tooltips widget even if the tooltip never fires. Perhaps some sort of signal on GtkTooltipsWindow to enable lazily creating the widget would be useful if we added gtk_tooltips_window_set_widget(). Regards, Owen
Attachment:
signature.asc
Description: This is a digitally signed message part