aboutsummaryrefslogtreecommitdiffstats
path: root/e-util/e-selection.h
blob: 75089c4bc16a4b5bf4d0fcd3d589a7afb30f5c6d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
/*
 * e-selection.h
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2 of the License, or (at your option) version 3.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with the program; if not, see <http://www.gnu.org/licenses/>
 *
 *
 * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
 *
 */

#if !defined (__E_UTIL_H_INSIDE__) && !defined (LIBEUTIL_COMPILATION)
#error "Only <e-util/e-util.h> should be included directly."
#endif

#ifndef E_SELECTION_H
#define E_SELECTION_H

#include <gtk/gtk.h>

/* This API mimics GTK's API for dealing with text, image and URI data. */

G_BEGIN_DECLS

/* Selection Functions */

void        e_target_list_add_calendar_targets
                    (GtkTargetList *list,
                     guint info);
void        e_target_list_add_directory_targets
                    (GtkTargetList *list,
                     guint info);
void        e_target_list_add_html_targets
                    (GtkTargetList *list,
                     guint info);
gboolean    e_selection_data_set_calendar
                    (GtkSelectionData *selection_data,
                     const gchar *source,
                     gint length);
gboolean    e_selection_data_set_directory
                    (GtkSelectionData *selection_data,
                     const gchar *source,
                     gint length);
gboolean    e_selection_data_set_html
                    (GtkSelectionData *selection_data,
                     const gchar *source,
                     gint length);
gchar *     e_selection_data_get_calendar
                    (GtkSelectionData *selection_data);
gchar *     e_selection_data_get_directory
                    (GtkSelectionData *selection_data);
gchar *     e_selection_data_get_html
                    (GtkSelectionData *selection_data);
gboolean    e_selection_data_targets_include_calendar
                    (GtkSelectionData *selection_data);
gboolean    e_selection_data_targets_include_directory
                    (GtkSelectionData *selection_data);
gboolean    e_selection_data_targets_include_html
                    (GtkSelectionData *selection_data);
gboolean    e_targets_include_calendar
                    (GdkAtom *targets,
                     gint n_targets);
gboolean    e_targets_include_directory
                    (GdkAtom *targets,
                     gint n_targets);
gboolean    e_targets_include_html  (GdkAtom *targets,
                     gint n_targets);

/* Clipboard Functions */

void        e_clipboard_set_calendar
                    (GtkClipboard *clipboard,
                     const gchar *source,
                     gint length);
void        e_clipboard_set_directory
                    (GtkClipboard *clipboard,
                     const gchar *source,
                     gint length);
void        e_clipboard_set_html    (GtkClipboard *clipboard,
                     const gchar *source,
                     gint length);
void        e_clipboard_request_calendar
                    (GtkClipboard *clipboard,
                     GtkClipboardTextReceivedFunc callback,
                     gpointer user_data);
void        e_clipboard_request_directory
                    (GtkClipboard *clipboard,
                     GtkClipboardTextReceivedFunc callback,
                     gpointer user_data);
void        e_clipboard_request_html
                    (GtkClipboard *clipboard,
                     GtkClipboardTextReceivedFunc callback,
                     gpointer user_data);
gchar *     e_clipboard_wait_for_calendar
                    (GtkClipboard *clipboard);
gchar *     e_clipboard_wait_for_directory
                    (GtkClipboard *clipboard);
gchar *     e_clipboard_wait_for_html
                    (GtkClipboard *clipboard);
gboolean    e_clipboard_wait_is_calendar_available
                    (GtkClipboard *clipboard);
gboolean    e_clipboard_wait_is_directory_available
                    (GtkClipboard *clipboard);
gboolean    e_clipboard_wait_is_html_available
                    (GtkClipboard *clipboard);

/* Drag and Drop Functions */

void        e_drag_dest_add_calendar_targets
                    (GtkWidget *widget);
void        e_drag_dest_add_directory_targets
                    (GtkWidget *widget);
void        e_drag_dest_add_html_targets
                    (GtkWidget *widget);
void        e_drag_source_add_calendar_targets
                    (GtkWidget *widget);
void        e_drag_source_add_directory_targets
                    (GtkWidget *widget);
void        e_drag_source_add_html_targets
                    (GtkWidget *widget);

G_END_DECLS

#endif /* E_SELECTION_H */