]> Pileus Git - ~andy/gtk/blob - docs/reference/gtk/tmpl/gtkselection.sgml
Minor documentation fixes. (#80021, Yao Zhang; #75567, #75279, Vitaly
[~andy/gtk] / docs / reference / gtk / tmpl / gtkselection.sgml
1 <!-- ##### SECTION Title ##### -->
2 Selections
3
4 <!-- ##### SECTION Short_Description ##### -->
5 Functions for handling inter-process communication via selections.
6
7 <!-- ##### SECTION Long_Description ##### -->
8
9 <para>
10 The selection mechanism provides the basis for different types
11 of communication between processes. In particular, drag and drop and
12 #GtkClipboard work via selections. You will very seldom or
13 never need to use most of the functions in this section directly;
14 #GtkClipboard provides a nicer interface to the same functionality.
15 </para>
16 <para>
17 Some of the datatypes defined this section are used in
18 the #GtkClipboard and drag-and-drop API's as well. The
19 #GtkTargetEntry structure and #GtkTargetList objects represent
20 lists of data types that are supported when sending or
21 receiving data. The #GtkSelectionData object is used to
22 store a chunk of data along with the data type and other
23 associated information.
24 </para>
25
26 <!-- ##### SECTION See_Also ##### -->
27 <para>
28 <variablelist>
29
30 <varlistentry>
31 <term>#GtkWidget</term>
32 <listitem><para>Much of the operation of selections happens via
33              signals for #GtkWidget. In particular, if you are
34              using the functions in this section, you may need
35              to pay attention to ::selection_get,
36              ::selection_received,  and :selection_clear_event
37              signals.</para></listitem>
38 </varlistentry>
39
40 </variablelist>
41
42 </para>
43
44 <!-- ##### STRUCT GtkTargetEntry ##### -->
45 <para>
46 A #GtkTargetEntry structure represents a single type of
47 data than can be supplied for by a widget for a selection
48 or for supplied or received during drag-and-drop. It 
49 contains a string representing the drag type, a flags
50 field (used only for drag and drop - see #GtkTargetFlags),
51 and an application assigned integer ID. The integer
52 ID will later be passed as a signal parameter for signals
53 like "selection_get". It allows the application to identify
54 the target type without extensive string compares.
55 </para>
56
57 @target: 
58 @flags: 
59 @info: 
60
61 <!-- ##### STRUCT GtkTargetList ##### -->
62 <para>
63 A #GtkTargetList structure is a reference counted list
64 of #GtkTargetPair. It is used to represent the same
65 information as a table of #GtkTargetEntry, but in
66 an efficient form. This structure should be treated as
67 opaque.
68 </para>
69
70 @list: 
71 @ref_count: 
72
73 <!-- ##### STRUCT GtkTargetPair ##### -->
74 <para>
75 Internally used structure in the drag-and-drop and 
76 selection handling code.
77 </para>
78
79 @target: 
80 @flags: 
81 @info: 
82
83 <!-- ##### FUNCTION gtk_target_list_new ##### -->
84 <para>
85 Creates a new #GtkTargetList from an array of #GtkTargetEntry.
86 </para>
87
88 @targets: Pointer to an array of #GtkTargetEntry
89 @ntargets: number of entries in @targets.
90 @Returns: the new #GtkTargetList.
91
92
93 <!-- ##### FUNCTION gtk_target_list_ref ##### -->
94 <para>
95 Increases the reference count of a #GtkTargetList by one.
96 </para>
97
98 @list: a #GtkTargetList
99
100
101 <!-- ##### FUNCTION gtk_target_list_unref ##### -->
102 <para>
103 Decreases the reference count of a #GtkTargetList by one.
104 If the resulting reference count is zero, frees the list.
105 </para>
106
107 @list: a #GtkTargetList
108
109
110 <!-- ##### FUNCTION gtk_target_list_add ##### -->
111 <para>
112 Adds another target to a #GtkTargetList.
113 </para>
114
115 @list: a #GtkTargetList
116 @target: the interned atom representing the target
117 @flags: the flags for this target
118 @info: an ID that will be passed back to the application
119
120
121 <!-- ##### FUNCTION gtk_target_list_add_table ##### -->
122 <para>
123 Adds a table of #GtkTargetEntry into a target list.
124 </para>
125
126 @list: a #GtkTargetList
127 @targets: the table of #GtkTargetEntry
128 @ntargets: number of targets in the table
129
130
131 <!-- ##### FUNCTION gtk_target_list_remove ##### -->
132 <para>
133 Removes a target from a target list.
134 </para>
135
136 @list: a #GtkTargetList
137 @target: the interned atom representing the target
138
139
140 <!-- ##### FUNCTION gtk_target_list_find ##### -->
141 <para>
142 Looks up a given target in a #GtkTargetList.
143 </para>
144
145 @list: a #GtkTargetList
146 @target: an interned atom representing the target to search for
147 @info: a pointer to the location to store application info for target
148 @Returns: %TRUE if the target was found, otherwise %FALSE
149
150
151 <!-- ##### FUNCTION gtk_selection_owner_set ##### -->
152 <para>
153 </para>
154
155 @widget: 
156 @selection: 
157 @time: 
158 @Returns: 
159
160
161 <!-- ##### FUNCTION gtk_selection_owner_set_for_display ##### -->
162 <para>
163
164 </para>
165
166 @display: 
167 @widget: 
168 @selection: 
169 @time: 
170 @Returns: 
171
172
173 <!-- ##### FUNCTION gtk_selection_add_target ##### -->
174 <para>
175 Adds specified target to the list of supported targets for a 
176 given widget and selection.
177 </para>
178
179 @widget: a #GtkTarget
180 @selection: the selection
181 @target: target to add.
182 @info: A unsigned integer which will be passed back to the application.
183
184
185 <!-- ##### FUNCTION gtk_selection_add_targets ##### -->
186 <para>
187 Adds a table of targets to the list of supported targets
188 for a given widget and selection.
189 </para>
190
191 @widget: a #GtkWidget
192 @selection: the selection
193 @targets: a table of targets to add
194 @ntargets: number of entries in @targets
195
196
197 <!-- ##### FUNCTION gtk_selection_clear_targets ##### -->
198 <para>
199
200 </para>
201
202 @widget: 
203 @selection: 
204
205
206 <!-- ##### FUNCTION gtk_selection_convert ##### -->
207 <para>
208 Requests the contents of a selection. When received, 
209 a "selection_received" signal will be generated.
210 </para>
211
212 @widget: The widget which acts as requestor
213 @selection: Which selection to get
214 @target: Form of information desired (e.g., STRING)
215 @time: Time of request (usually of triggering event)
216        In emergency, you could use #GDK_CURRENT_TIME
217 @Returns: %TRUE if requested succeeded. %FALSE if we could not process
218           request. (e.g., there was already a request in process for
219           this widget).
220
221
222 <!-- ##### FUNCTION gtk_selection_data_set ##### -->
223 <para>
224 Stores new data into a #GtkSelectionData object. Should
225 <emphasis>only</emphasis> be called from a selection handler callback.
226 Zero-terminates the stored data.
227 </para>
228
229 @selection_data: 
230 @type: the type of selection data
231 @format: format (number of bits in a unit)
232 @data: pointer to the data (will be copied)
233 @length: length of the data
234
235
236 <!-- ##### FUNCTION gtk_selection_data_set_text ##### -->
237 <para>
238
239 </para>
240
241 @selection_data: 
242 @str: 
243 @len: 
244 @Returns: 
245
246
247 <!-- ##### FUNCTION gtk_selection_data_get_text ##### -->
248 <para>
249
250 </para>
251
252 @selection_data: 
253 @Returns: 
254
255
256 <!-- ##### FUNCTION gtk_selection_data_get_targets ##### -->
257 <para>
258
259 </para>
260
261 @selection_data: 
262 @targets: 
263 @n_atoms: 
264 @Returns: 
265
266
267 <!-- ##### FUNCTION gtk_selection_data_targets_include_text ##### -->
268 <para>
269
270 </para>
271
272 @selection_data: 
273 @Returns: 
274
275
276 <!-- ##### FUNCTION gtk_selection_remove_all ##### -->
277 <para>
278 Removes all handlers and unsets ownership of all 
279 selections for a widget. Called when widget is being
280 destroyed. This function will not generally be
281 called by applications.
282 </para>
283
284 @widget: a #GtkWidget
285
286
287 <!-- ##### FUNCTION gtk_selection_clear ##### -->
288 <para>
289 Internal function.
290 </para>
291
292 @widget: 
293 @event: 
294 @Returns: 
295
296
297 <!-- ##### FUNCTION gtk_selection_data_copy ##### -->
298 <para>
299 Makes a copy of a #GtkSelectionData structure and its data.
300 </para>
301
302 @data: a pointer to a #GtkSelectionData structure.
303 @Returns: a pointer to a copy of @data.
304
305
306 <!-- ##### FUNCTION gtk_selection_data_free ##### -->
307 <para>
308 Frees a #GtkSelectionData structure returned from
309 gtk_selection_data_copy().
310 </para>
311
312 @data: a pointer to a #GtkSelectionData structure.
313
314