mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-10 02:40:11 +00:00
Convenience functions to position tooltips on icon view items or cells.
2007-07-16 Matthias Clasen <mclasen@redhat.com> * gtk/gtk.symbols: * gtk/gtkiconview.h: * gtk/gtkiconview.c (gtk_icon_view_set_tooltip_item): (gtk_icon_view_set_tooltip_cell): Convenience functions to position tooltips on icon view items or cells. svn path=/trunk/; revision=18473
This commit is contained in:
parent
6193950b57
commit
bdf50bd4f6
@ -1,3 +1,11 @@
|
||||
2007-07-16 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/gtk.symbols:
|
||||
* gtk/gtkiconview.h:
|
||||
* gtk/gtkiconview.c (gtk_icon_view_set_tooltip_item):
|
||||
(gtk_icon_view_set_tooltip_cell): Convenience functions to
|
||||
position tooltips on icon view items or cells.
|
||||
|
||||
2007-07-14 Richard Hult <richard@imendio.com>
|
||||
|
||||
* gdk/quartz/gdkevents-quartz.c:
|
||||
|
@ -1,9 +1,18 @@
|
||||
2007-07-16 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/gtk-sections.txt: Add icon view tooltip convenience functions.
|
||||
|
||||
Thu Jul 12 18:12:04 2007 Tim Janik <timj@imendio.com>
|
||||
|
||||
* gdk/tmpl/threads.sgml: clarify section about gdk_threads_enter/
|
||||
gdk_threads_leave to be reworded in terms of events and to mention
|
||||
availability of gdk_threads_add_idle_full().
|
||||
|
||||
2007-07-11 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/tmpl/gtkbindings.sgml: Add a paragraph about
|
||||
keybinding signals.
|
||||
|
||||
2007-07-11 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
* gtk/tmpl/gtkrange.sgml:
|
||||
|
@ -4746,6 +4746,7 @@ gtk_cell_layout_get_type
|
||||
GtkCellRendererState
|
||||
GtkCellRendererMode
|
||||
GtkCellRenderer
|
||||
GtkCellRendererClass
|
||||
gtk_cell_renderer_get_size
|
||||
gtk_cell_renderer_render
|
||||
gtk_cell_renderer_activate
|
||||
|
@ -1886,6 +1886,8 @@ gtk_icon_view_set_drag_dest_item
|
||||
gtk_icon_view_get_drag_dest_item
|
||||
gtk_icon_view_get_dest_item_at_pos
|
||||
gtk_icon_view_create_drag_icon
|
||||
gtk_icon_view_set_tooltip_item
|
||||
gtk_icon_view_set_tooltip_cell
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
@ -4576,7 +4576,6 @@ gtk_icon_view_get_path_at_pos (GtkIconView *icon_view,
|
||||
{
|
||||
GtkIconViewItem *item;
|
||||
GtkTreePath *path;
|
||||
gint px, py;
|
||||
|
||||
g_return_val_if_fail (GTK_IS_ICON_VIEW (icon_view), NULL);
|
||||
|
||||
@ -4643,6 +4642,85 @@ gtk_icon_view_get_item_at_pos (GtkIconView *icon_view,
|
||||
return (item != NULL);
|
||||
}
|
||||
|
||||
/**
|
||||
* gtk_icon_view_set_tooltip_item:
|
||||
* @icon_view: a #GtkIconView
|
||||
* @tooltip: a #GtkTooltip
|
||||
* @path: a #GtkTreePath
|
||||
*
|
||||
* Sets the tip area of @tooltip to be the area covered by the item at @path.
|
||||
* See also gtk_tooltip_set_tip_area().
|
||||
*
|
||||
* Since: 2.12
|
||||
*/
|
||||
void
|
||||
gtk_icon_view_set_tooltip_item (GtkIconView *icon_view,
|
||||
GtkTooltip *tooltip,
|
||||
GtkTreePath *path)
|
||||
{
|
||||
g_return_if_fail (GTK_IS_ICON_VIEW (icon_view));
|
||||
g_return_if_fail (GTK_IS_TOOLTIP (tooltip));
|
||||
|
||||
gtk_icon_view_set_tooltip_cell (icon_view, tooltip, path, NULL);
|
||||
}
|
||||
|
||||
/**
|
||||
* gtk_icon_view_set_tooltip_cell:
|
||||
* @icon_view: a #GtkIconView
|
||||
* @tooltip: a #GtkTooltip
|
||||
* @path: a #GtkTreePath
|
||||
* @cell: a #GtkCellRenderer or %NULL
|
||||
*
|
||||
* Sets the tip area of @tooltip to the area which @cell occupies in
|
||||
* the item pointed to by @path. See also gtk_tooltip_set_tip_area().
|
||||
*
|
||||
* Since: 2.12
|
||||
*/
|
||||
void
|
||||
gtk_icon_view_set_tooltip_cell (GtkIconView *icon_view,
|
||||
GtkTooltip *tooltip,
|
||||
GtkTreePath *path,
|
||||
GtkCellRenderer *cell)
|
||||
{
|
||||
GdkRectangle rect;
|
||||
GtkIconViewItem *item = NULL;
|
||||
GtkIconViewCellInfo *info = NULL;
|
||||
|
||||
g_return_if_fail (GTK_IS_ICON_VIEW (icon_view));
|
||||
g_return_if_fail (GTK_IS_TOOLTIP (tooltip));
|
||||
g_return_if_fail (cell == NULL || GTK_IS_CELL_RENDERER (cell));
|
||||
|
||||
if (gtk_tree_path_get_depth (path) > 0)
|
||||
item = g_list_nth_data (icon_view->priv->items,
|
||||
gtk_tree_path_get_indices(path)[0]);
|
||||
|
||||
if (!item)
|
||||
return;
|
||||
|
||||
if (cell)
|
||||
{
|
||||
info = gtk_icon_view_get_cell_info (icon_view, cell);
|
||||
gtk_icon_view_get_cell_area (icon_view, item, info, &rect);
|
||||
}
|
||||
else
|
||||
{
|
||||
rect.x = item->x;
|
||||
rect.y = item->y;
|
||||
rect.width = item->width;
|
||||
rect.height = item->height;
|
||||
}
|
||||
|
||||
if (icon_view->priv->bin_window)
|
||||
{
|
||||
gint x, y;
|
||||
|
||||
gdk_window_get_position (icon_view->priv->bin_window, &x, &y);
|
||||
rect.x += x;
|
||||
rect.y += y;
|
||||
}
|
||||
|
||||
gtk_tooltip_set_tip_area (tooltip, &rect);
|
||||
}
|
||||
|
||||
/**
|
||||
* gtk_icon_view_get_visible_range:
|
||||
|
@ -23,6 +23,7 @@
|
||||
#include <gtk/gtktreemodel.h>
|
||||
#include <gtk/gtkcellrenderer.h>
|
||||
#include <gtk/gtkselection.h>
|
||||
#include <gtk/gtktooltip.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
@ -202,6 +203,15 @@ void gtk_icon_view_convert_widget_to_bin_window_coords (GtkIconView *icon
|
||||
gint *by);
|
||||
|
||||
|
||||
void gtk_icon_view_set_tooltip_item (GtkIconView *icon_view,
|
||||
GtkTooltip *tooltip,
|
||||
GtkTreePath *path);
|
||||
void gtk_icon_view_set_tooltip_cell (GtkIconView *icon_view,
|
||||
GtkTooltip *tooltip,
|
||||
GtkTreePath *path,
|
||||
GtkCellRenderer *cell);
|
||||
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __GTK_ICON_VIEW_H__ */
|
||||
|
Loading…
Reference in New Issue
Block a user