| |
1 /** |
| |
2 * @file gtkdnd-hints.h GTK+ Drag-and-Drop arrow hints |
| |
3 * @ingroup gtkui |
| |
4 * |
| |
5 * Pidgin is the legal property of its developers, whose names are too numerous |
| |
6 * to list here. Please refer to the COPYRIGHT file distributed with this |
| |
7 * source distribution. |
| |
8 * |
| |
9 * This program is free software; you can redistribute it and/or modify |
| |
10 * it under the terms of the GNU General Public License as published by |
| |
11 * the Free Software Foundation; either version 2, or (at your option) |
| |
12 * any later version. |
| |
13 * |
| |
14 * This program is distributed in the hope that it will be useful, |
| |
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| |
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| |
17 * GNU General Public License for more details. |
| |
18 * |
| |
19 * You should have received a copy of the GNU General Public License |
| |
20 * along with this program; if not, write to the Free Software |
| |
21 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
| |
22 */ |
| |
23 #ifndef _PIDGIN_DND_HINTS_H_ |
| |
24 #define _PIDGIN_DND_HINTS_H_ |
| |
25 |
| |
26 #include <glib.h> |
| |
27 #include <gtk/gtkwidget.h> |
| |
28 |
| |
29 /** |
| |
30 * Conversation drag-and-drop arrow types. |
| |
31 */ |
| |
32 typedef enum |
| |
33 { |
| |
34 HINT_ARROW_UP, /**< Up arrow. */ |
| |
35 HINT_ARROW_DOWN, /**< Down arrow. */ |
| |
36 HINT_ARROW_LEFT, /**< Left arrow. */ |
| |
37 HINT_ARROW_RIGHT /**< Right arrow. */ |
| |
38 |
| |
39 } DndHintWindowId; |
| |
40 |
| |
41 /** |
| |
42 * Conversation drag-and-drop arrow positions. |
| |
43 */ |
| |
44 typedef enum { |
| |
45 |
| |
46 HINT_POSITION_RIGHT, /**< Position to the right of a tab. */ |
| |
47 HINT_POSITION_LEFT, /**< Position to the left of a tab. */ |
| |
48 HINT_POSITION_TOP, /**< Position above a tab. */ |
| |
49 HINT_POSITION_BOTTOM, /**< Position below a tab. */ |
| |
50 HINT_POSITION_CENTER /**< Position in the center of a tab. */ |
| |
51 |
| |
52 } DndHintPosition; |
| |
53 |
| |
54 /** |
| |
55 * Shows a drag-and-drop hint at the specified location. |
| |
56 * |
| |
57 * @param id The ID of the hint to show. |
| |
58 * @param x The X location to show it at. |
| |
59 * @param y The Y location to show it at. |
| |
60 */ |
| |
61 void dnd_hints_show(DndHintWindowId id, gint x, gint y); |
| |
62 |
| |
63 /** |
| |
64 * Hides the specified drag-and-drop hint. |
| |
65 * |
| |
66 * @param id The ID of the hint to hide. |
| |
67 */ |
| |
68 void dnd_hints_hide(DndHintWindowId id); |
| |
69 |
| |
70 /** |
| |
71 * Hides all drag-and-drop hints. |
| |
72 */ |
| |
73 void dnd_hints_hide_all(void); |
| |
74 |
| |
75 /** |
| |
76 * Shows a drag-and-drop hint relative to a widget. |
| |
77 * |
| |
78 * @param id The ID of the hint. |
| |
79 * @param widget The widget that the hint is relative to. |
| |
80 * @param horiz The horizontal relative position. |
| |
81 * @param vert The vertical relative position. |
| |
82 */ |
| |
83 void dnd_hints_show_relative(DndHintWindowId id, GtkWidget *widget, |
| |
84 DndHintPosition horiz, DndHintPosition vert); |
| |
85 |
| |
86 #endif /* _PIDGIN_DND_HINTS_H_ */ |