summaryrefslogtreecommitdiff
path: root/docs/reference/gtk/tmpl/gtklist.sgml
blob: eb76c0c81e6a8f54143ea44fd962e7b2b4730172 (plain)
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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
<!-- ##### SECTION Title ##### -->
GtkList

<!-- ##### SECTION Short_Description ##### -->
Widget for packing a list of selectable items

<!-- ##### SECTION Long_Description ##### -->
<para>
The #GtkList widget is a container whose children are displayed
vertically in order, and can be selected.

The list has many selection modes, which are programmer selective and
depend on how many elements are able to be selected at the same time.
</para>
<para>
GtkList has been deprecated since GTK+ 2.0 and should not be used
in newly written code. Use #GtkTreeView instead.
</para>

<!-- ##### SECTION See_Also ##### -->
<para>
<variablelist>
<varlistentry>
<term>#GtkContainer</term>
<listitem><para>For functions that apply to every #GtkContainer
(like #GtkList).</para></listitem>
</varlistentry>
<varlistentry>
<term>#GtkListitem</term>
<listitem><para>Children of a #GtkList widget must be of this
type.</para></listitem>
</varlistentry>
</variablelist>
</para>

<!-- ##### STRUCT GtkList ##### -->
<para>

</para>


<!-- ##### SIGNAL GtkList::select-child ##### -->
<para>
The child @widget has just been selected.
</para>

@list: the object which received the signal.
@widget: the newly selected child.

<!-- ##### SIGNAL GtkList::selection-changed ##### -->
<para>
The selection of the widget has just changed.
</para>

@list: the object which received the signal.

<!-- ##### SIGNAL GtkList::unselect-child ##### -->
<para>
The child @widget has just been unselected.
</para>

@list: the object which received the signal.
@widget: the newly unselected child.

<!-- ##### ARG GtkList:selection-mode ##### -->
<para>

</para>

<!-- ##### FUNCTION gtk_list_new ##### -->
<para>
Creates a new #GtkList.
</para>

@Returns: the newly-created #GtkList


<!-- ##### FUNCTION gtk_list_insert_items ##### -->
<para>
Inserts @items into the @list at the position @position. The #GList items
must not be freed after.
</para>

@list: the list widget.
@items: the items.
@position: the position to insert @items, starting at 0.


<!-- ##### FUNCTION gtk_list_append_items ##### -->
<para>
Adds @items to the end of the @list.
</para>

@list: the list widget.
@items: the items.


<!-- ##### FUNCTION gtk_list_prepend_items ##### -->
<para>
Inserts @items at the beginning of the @list.
</para>

@list: the list widget.
@items: the items.


<!-- ##### FUNCTION gtk_list_remove_items ##### -->
<para>
Removes the @items from the @list.
</para>

@list: the list widget.
@items: the items to remove.


<!-- ##### FUNCTION gtk_list_remove_items_no_unref ##### -->
<para>
Removes the @items from the @list, without unreferencing them. It
may be useful if you want to move the items from one list to another.
</para>

@list: the list widget.
@items: the items.


<!-- ##### FUNCTION gtk_list_clear_items ##### -->
<para>
Removes the items between index @start (included) and @end (excluded)
from the @list. If @end is negative, or greater than the number of
children of @list, it's assumed to be exactly the number of
elements. If @start is greater than or equal to @end, nothing is
done.
</para>

@list: the list widget.
@start: the index of the first item to remove.
@end: the index of the lest item to remove plus one.


<!-- ##### FUNCTION gtk_list_select_item ##### -->
<para>
Selects the child number @item of the @list. Nothing happens if @item
is out of bounds. The signal GtkList::select-child will be emitted.
</para>

@list: the list widget.
@item: the index of the child to select.


<!-- ##### FUNCTION gtk_list_unselect_item ##### -->
<para>
Unselects the child number @item of the @list. Nothing happens if
@item is out of bounds. The signal GtkList::unselect-child will be
emitted.
</para>

@list: the list widget.
@item: the index of the child to unselect.


<!-- ##### FUNCTION gtk_list_select_child ##### -->
<para>
Selects the given @child. The signal GtkList::select-child will be
emitted.
</para>

@list: the list widget
@child: the child to select.


<!-- ##### FUNCTION gtk_list_unselect_child ##### -->
<para>
Unselects the given @child. The signal GtkList::unselect-child will be
emitted.
</para>

@list: the list widget.
@child: the child to unselect.


<!-- ##### FUNCTION gtk_list_child_position ##### -->
<para>
Searches the children of @list for the index of @child.
</para>

@list: the list widget.
@child: the child to look for.
@Returns: the index of the child, -1 if not found.


<!-- ##### FUNCTION gtk_list_set_selection_mode ##### -->
<para>
Set the list selection mode. The selection mode can be any value in
#GtkSelectionMode:
<variablelist>
<varlistentry>
<term>#GTK_SELECTION_SINGLE</term>
<listitem><para>
Zero or one element may be selected.
</para></listitem>
</varlistentry>

<varlistentry>
<term>#GTK_SELECTION_BROWSE</term>
<listitem><para>
Exactly one element is always selected (this can be false after you have
changed the selection mode).
</para></listitem>
</varlistentry>

<varlistentry>
<term>#GTK_SELECTION_MULTIPLE</term>
<listitem><para>
Any number of elements may be selected. Clicks toggle the state of an
item.
</para></listitem>
</varlistentry>

<varlistentry>
<term>#GTK_SELECTION_EXTENDED</term>
<listitem><para>
Any number of elements may be selected. Click-drag selects a range of
elements; the Ctrl key may be used to enlarge the selection, and
Shift key to select between the focus and the child pointed to.
</para></listitem>
</varlistentry>
</variablelist>
</para>

@list: the list widget.
@mode: the new selection mode.


<!-- ##### FUNCTION gtk_list_extend_selection ##### -->
<para>
Extends the selection by moving the anchor according to @scroll_type. Only
in #GTK_SELECTION_EXTENDED.
</para>

@list: the list widget.
@scroll_type: the direction and length.
@position: the position if @scroll_type is #GTK_SCROLL_JUMP.
@auto_start_selection: if %TRUE, gtk_list_start_selection() is automatically
carried out before extending the selection.


<!-- ##### FUNCTION gtk_list_start_selection ##### -->
<para>
Starts a selection (or part of selection) at the focused child. Only in
#GTK_SELECTION_EXTENDED mode.
</para>

@list: the list widget.


<!-- ##### FUNCTION gtk_list_end_selection ##### -->
<para>
Ends the selection. Used with gtk_list_extend_selection() and
gtk_list_start_selection(). Only in #GTK_SELECTION_EXTENDED mode.
</para>

@list: the list widget.


<!-- ##### FUNCTION gtk_list_select_all ##### -->
<para>
Selects all children of @list. A signal will be emitted for each
newly selected child.
</para>

@list: the list widget.


<!-- ##### FUNCTION gtk_list_unselect_all ##### -->
<para>
Unselects all children of @list. A signal will be emitted for each
newly unselected child.
</para>

@list: the list widget.


<!-- ##### FUNCTION gtk_list_scroll_horizontal ##### -->
<para>
Scrolls @list horizontaly. This supposes that the list is packed into a
scrolled window or something similar, and adjustments are well
set. Step and page increment are those from the horizontal adjustment
of @list. Backward means to the left, and forward to the
right. Out of bounds values are truncated.
@scroll_type may be any valid #GtkScrollType. If @scroll_type is
#GTK_SCROLL_NONE, nothing is done. If it's #GTK_SCROLL_JUMP, the list
scrolls to the ratio @position: 0 is full left, 1 is full right.
</para>

@list: the list widget.
@scroll_type: the scrolling type.
@position: the position if @scroll_type is #GTK_SCROLL_JUMP


<!-- ##### FUNCTION gtk_list_scroll_vertical ##### -->
<para>
Scrolls @list vertically. This supposes that the list is packed into a
scrolled window or something similar, and adjustments are well
set. Step and page increment are those from the vertical adjustment
of @list. Backward means up, and forward down. Out of bounds values are
truncated.
@scroll_type may be any valid #GtkScrollType. If @scroll_type is
#GTK_SCROLL_NONE, nothing is done. If it's #GTK_SCROLL_JUMP, the list
scrolls to the ratio @position: 0 is top, 1 is bottom.
</para>

@list: the list widget.
@scroll_type: the scrolling type.
@position: the position if @scroll_type is #GTK_SCROLL_JUMP


<!-- ##### FUNCTION gtk_list_toggle_add_mode ##### -->
<para>
Toggles between adding to the selection and beginning a new selection. Only
in #GTK_SELECTION_EXTENDED. Useful with gtk_list_extend_selection().
</para>

@list: the list widget.


<!-- ##### FUNCTION gtk_list_toggle_focus_row ##### -->
<para>
Toggles the focus row. If the focus row is selected, it's
unselected. If the focus row is unselected, it's selected. If the
selection mode of @list is #GTK_SELECTION_BROWSE, this has no effect,
as the selection is always at the focus row.
</para>

@list: the list widget.


<!-- ##### FUNCTION gtk_list_toggle_row ##### -->
<para>
Toggles the child @item of list. If the selection mode of @list is
#GTK_SELECTION_BROWSE, the item is selected, and the others are
unselected.
</para>

@list: the list widget.
@item: the child to toggle.


<!-- ##### FUNCTION gtk_list_undo_selection ##### -->
<para>
Restores the selection in the last state, only if selection mode is
#GTK_SELECTION_EXTENDED. If this function is called twice, the selection is
cleared. This function sometimes gives stranges "last states".
</para>

@list: the list widget.


<!-- ##### FUNCTION gtk_list_end_drag_selection ##### -->
<para>
Stops the drag selection mode and ungrabs the pointer. This has no
effect if a drag selection is not active.
</para>

@list: the list widget.