summaryrefslogtreecommitdiff
path: root/src/lib/elementary/elm_list.eo
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/elementary/elm_list.eo')
-rw-r--r--src/lib/elementary/elm_list.eo439
1 files changed, 0 insertions, 439 deletions
diff --git a/src/lib/elementary/elm_list.eo b/src/lib/elementary/elm_list.eo
deleted file mode 100644
index e5d6a57..0000000
--- a/src/lib/elementary/elm_list.eo
+++ /dev/null
@@ -1,439 +0,0 @@
1import elm_general;
2
3class Elm.List extends Efl.Ui.Layout implements Elm.Interface_Scrollable,
4 Efl.Access.Widget.Action, Efl.Access.Selection, Efl.Access.Object,
5 Efl.Ui.Clickable, Efl.Ui.Selectable, Efl.Ui.Legacy
6{
7 [[Elementary list class]]
8 legacy_prefix: elm_list;
9 eo_prefix: elm_obj_list;
10 event_prefix: elm_list;
11 methods {
12 @property horizontal {
13 [[Control horizontal mode on the list object.
14
15 Note: Vertical mode is set by default.
16
17 On horizontal mode items are displayed on list from left to right,
18 instead of from top to bottom. Also, the list will scroll horizontally.
19 Each item will presents left icon on top and right icon, or end, at
20 the bottom.]]
21 set {
22 }
23 get {
24 }
25 values {
26 horizontal: bool; [[$true to enable horizontal or $false to disable it, i.e., to enable vertical mode.]]
27 }
28 }
29 @property select_mode {
30 [[Control the list select mode.
31
32 elm_list_select_mode_set() changes item select mode in the list widget.
33 - #ELM_OBJECT_SELECT_MODE_DEFAULT : Items will only call their selection func and
34 callback when first becoming selected. Any further clicks will
35 do nothing, unless you set always select mode.
36 - #ELM_OBJECT_SELECT_MODE_ALWAYS : This means that, even if selected,
37 every click will make the selected callbacks be called.
38 - #ELM_OBJECT_SELECT_MODE_NONE : This will turn off the ability to select items
39 entirely and they will neither appear selected nor call selected
40 callback functions.]]
41 set {
42 }
43 get {
44 }
45 values {
46 mode: Elm.Object.Select_Mode(Elm.Object.Select_Mode.max); [[The select mode]]
47 }
48 }
49 @property focus_on_selection {
50 [[Control focus upon items selection mode
51
52 When enabled, every selection of an item inside the genlist will automatically set focus to
53 its first focusable widget from the left. This is true of course if the selection was made by
54 clicking an unfocusable area in an item or selecting it with a key movement. Clicking on a
55 focusable widget inside an item will cause this particular item to get focus as usual.]]
56 set {
57 }
58 get {
59 }
60 values {
61 enabled: bool; [[The tree effect status ($true = enabled, $false = disabled)]]
62 }
63 }
64 @property multi_select {
65 [[Control multiple items selection on the list object.
66
67 Disabled by default. If disabled, the user can select a single item of
68 the list each time. Selected items are highlighted on list.
69 If enabled, many items can be selected.
70
71 If a selected item is selected again, it will be unselected.]]
72 set {
73 }
74 get {
75 }
76 values {
77 multi: bool; [[$true to enable multi selection or $false to disable it.]]
78 }
79 }
80 @property multi_select_mode {
81 [[Control the list multi select mode.
82
83 - #ELM_OBJECT_MULTI_SELECT_MODE_DEFAULT : select/unselect items whenever each
84 item is clicked.
85 - #ELM_OBJECT_MULTI_SELECT_MODE_WITH_CONTROL : Only one item will be selected
86 although multi-selection is enabled, if clicked without pressing control
87 key. This mode is only available with multi-selection.
88
89 See: @.multi_select
90
91 @since 1.8]]
92 set {
93 }
94 get {
95 }
96 values {
97 mode: Elm.Object.Multi_Select_Mode(Elm.Object.Multi_Select_Mode.max); [[The multi select mode]]
98 }
99 }
100 @property mode {
101 [[Control which mode to use for the list object.
102
103 Set list's resize behavior, transverse axis scroll and
104 items cropping. See each mode's description for more details.
105
106 Note: Default value is #ELM_LIST_SCROLL.
107
108 Only one mode at a time can be set. If a previous one was set, it
109 will be changed by the new mode after this call. Bitmasks won't
110 work here as well.
111
112 Warning: This function's behavior will clash with those of
113 elm_scroller_content_min_limit(), so use either one of them, but
114 not both.]]
115 set {
116 }
117 get {
118 }
119 values {
120 mode: Elm.List.Mode(Elm.List.Mode.last); [[One of #Elm_List_Mode: #ELM_LIST_COMPRESS, #ELM_LIST_SCROLL, #ELM_LIST_LIMIT or #ELM_LIST_EXPAND.]]
121 }
122 }
123 @property selected_item {
124 get {
125 [[Get the selected item.
126
127 The selected item can be unselected with function
128 elm_list_item_selected_set().
129
130 The selected item always will be highlighted on list.]]
131
132 return: Elm.Widget.Item; [[The selected list item.]]
133 }
134 }
135 @property items {
136 get {
137 [[Get a list of all the list items.]]
138
139 return: const(list<Elm.Widget.Item>); [[A $list of list items, #Elm.Widget.Item, or $NULL on failure.]]
140 }
141 }
142 @property first_item {
143 get {
144 [[Get the first item in the list
145
146 This returns the first item in the list.]]
147
148 return: Elm.Widget.Item; [[The first item, or NULL if none]]
149 }
150 }
151 @property selected_items {
152 get {
153 [[Return a list of the currently selected list items.
154
155 Multiple items can be selected if multi select is enabled. It can be
156 done with elm_list_multi_select_set().]]
157
158 return: const(list<Elm.Widget.Item>); [[An $list of list items, #Elm.Widget.Item, or $NULL on failure.]]
159 }
160 }
161 @property last_item {
162 get {
163 [[Get the last item in the list
164
165 This returns the last item in the list.]]
166
167 return: Elm.Widget.Item; [[The last item, or NULL if none]]
168 }
169 }
170 item_insert_before {
171 [[Insert a new item into the list object before item $before.
172
173 A new item will be created and added to the list. Its position in
174 this list will be just before item $before.
175
176 Items created with this method can be deleted with elm_object_item_del().
177
178 Associated $data can be properly freed when item is deleted if a
179 callback function is set with elm_object_item_del_cb_set().
180
181 If a function is passed as argument, it will be called every time this item
182 is selected, i.e., the user clicks over an unselected item.
183 If always select is enabled it will call this function every time
184 user clicks over an item (already selected or not).
185 If such function isn't needed, just passing
186 $NULL as $func is enough. The same should be done for $data.
187
188 Note: Remember that the label parameter is copied inside the list. So if an
189 application dynamically allocated the label, the application should free the
190 label after this call.]]
191
192 return: Elm.Widget.Item; [[The created item or $NULL upon failure.]]
193 params {
194 @in before: Elm.Widget.Item; [[The list item to insert before.]]
195 @in label: string; [[The label of the list item.]]
196 @in icon: Efl.Canvas.Object @optional; [[The icon object to use for the left side of the item. An icon can be any Evas object, but usually it is an icon created with elm_icon_add().]]
197 @in end: Efl.Canvas.Object @optional; [[The icon object to use for the right side of the item. An icon can be any Evas object.]]
198 @in func: Evas_Smart_Cb @optional; [[The function to call when the item is clicked.]]
199 @in data: const(void_ptr) @optional; [[The data to associate with the item for related callbacks.]]
200 }
201 }
202 go {
203 [[Starts the list.
204
205 Note: Call before running show() on the list object.
206 Warning: If not called, it won't display the list properly.]]
207
208 /* FIXME-doc
209 @code
210 li = elm_list_add(win);
211 elm_list_item_append(li, "First", NULL, NULL, NULL, NULL);
212 elm_list_item_append(li, "Second", NULL, NULL, NULL, NULL);
213 elm_list_go(li);
214 evas_object_show(li);
215 @endcode */
216 }
217 item_insert_after {
218 [[Insert a new item into the list object after item $after.
219
220 A new item will be created and added to the list. Its position in
221 this list will be just after item $after.
222
223 Items created with this method can be deleted with elm_object_item_del().
224
225 Associated $data can be properly freed when item is deleted if a
226 callback function is set with elm_object_item_del_cb_set().
227
228 If a function is passed as argument, it will be called every time this item
229 is selected, i.e., the user clicks over an unselected item.
230 If always select is enabled it will call this function every time
231 user clicks over an item (already selected or not).
232 If such function isn't needed, just passing
233 $NULL as $func is enough. The same should be done for $data.
234
235 Note: Remember that the label parameter is copied inside the list. So if an
236 application dynamically allocated the label, the application should free the
237 label after this call.]]
238
239 return: Elm.Widget.Item; [[The created item or $NULL upon failure.]]
240 params {
241 @in after: Elm.Widget.Item; [[The list item to insert after.]]
242 @in label: string; [[The label of the list item.]]
243 @in icon: Efl.Canvas.Object @optional; [[The icon object to use for the left side of the item. An icon can be any Evas object, but usually it is an icon created with elm_icon_add().]]
244 @in end: Efl.Canvas.Object @optional; [[The icon object to use for the right side of the item. An icon can be any Evas object.]]
245 @in func: Evas_Smart_Cb @optional; [[The function to call when the item is clicked.]]
246 @in data: const(void_ptr) @optional; [[The data to associate with the item for related callbacks.]]
247 }
248 }
249 at_xy_item_get @const {
250 [[Get the item that is at the x, y canvas coords.
251
252 This returns the item at the given coordinates (which are canvas
253 relative, not object-relative). If an item is at that coordinate,
254 that item handle is returned, and if $posret is not NULL, the
255 integer pointed to is set to a value of -1, 0 or 1, depending if
256 the coordinate is on the upper portion of that item (-1), on the
257 middle section (0) or on the lower part (1). If NULL is returned as
258 an item (no item found there), then posret may indicate -1 or 1
259 based if the coordinate is above or below all items respectively in
260 the list.]]
261
262 return: Elm.Widget.Item; [[The item at the coordinates or NULL if none]]
263 params {
264 @in x: int; [[The input x coordinate]]
265 @in y: int; [[The input y coordinate]]
266 @out posret: int; [[The position relative to the item returned here]]
267 }
268 }
269 item_append {
270 [[Append a new item to the list object.
271
272 A new item will be created and appended to the list, i.e., will
273 be set as last item.
274
275 Items created with this method can be deleted with elm_object_item_del().
276
277 Associated $data can be properly freed when item is deleted if a
278 callback function is set with elm_object_item_del_cb_set().
279
280 If a function is passed as argument, it will be called every time this item
281 is selected, i.e., the user clicks over an unselected item.
282 If always select is enabled it will call this function every time
283 user clicks over an item (already selected or not).
284 If such function isn't needed, just passing
285 $NULL as $func is enough. The same should be done for $data.
286
287 Note: Remember that the label parameter is copied inside the list. So if an
288 application dynamically allocated the label, the application should free the
289 label after this call.]]
290
291 /* FIXME-doc
292 Simple example (with no function callback or data associated):
293 @code
294 li = elm_list_add(win);
295 ic = elm_icon_add(win);
296 elm_image_file_set(ic, "path/to/image", NULL);
297 elm_icon_resizable_set(ic, true, true);
298 elm_list_item_append(li, "label", ic, NULL, NULL, NULL);
299 elm_list_go(li);
300 evas_object_show(li);
301 @endcode
302
303 @see elm_list_select_mode_set()
304 @see elm_object_item_del()
305 @see elm_object_item_del_cb_set()
306 @see elm_list_clear()
307 @see elm_icon_add()
308 */
309
310 return: Elm.Widget.Item; [[The created item or $NULL upon failure.]]
311 params {
312 @in label: string; [[The label of the list item.]]
313 @in icon: Efl.Canvas.Object @optional; [[The icon object to use for the left side of the item. An icon can be any Evas object, but usually it is an icon created with elm_icon_add().]]
314 @in end: Efl.Canvas.Object @optional; [[The icon object to use for the right side of the item. An icon can be any Evas object.]]
315 @in func: Evas_Smart_Cb @optional; [[The function to call when the item is clicked.]]
316 @in data: const(void_ptr) @optional; [[The data to associate with the item for related callbacks.]]
317 }
318 }
319 item_prepend {
320 [[Prepend a new item to the list object.
321
322 A new item will be created and prepended to the list, i.e., will
323 be set as first item.
324
325 Items created with this method can be deleted with elm_object_item_del().
326
327 Associated $data can be properly freed when item is deleted if a
328 callback function is set with elm_object_item_del_cb_set().
329
330 If a function is passed as argument, it will be called every time this item
331 is selected, i.e., the user clicks over an unselected item.
332 If always select is enabled it will call this function every time
333 user clicks over an item (already selected or not).
334 If such function isn't needed, just passing
335 $NULL as $func is enough. The same should be done for $data.
336
337 Note: Remember that the label parameter is copied inside the list. So if an
338 application dynamically allocated the label, the application should free the
339 label after this call.]]
340
341 return: Elm.Widget.Item; [[The created item or $NULL upon failure.]]
342 params {
343 @in label: string; [[The label of the list item.]]
344 @in icon: Efl.Canvas.Object @optional; [[The icon object to use for the left side of the item. An icon can be any Evas object, but usually it is an icon created with elm_icon_add().]]
345 @in end: Efl.Canvas.Object @optional; [[The icon object to use for the right side of the item. An icon can be any Evas object.]]
346 @in func: Evas_Smart_Cb @optional; [[The function to call when the item is clicked.]]
347 @in data: const(void_ptr) @optional; [[The data to associate with the item for related callbacks.]]
348 }
349 }
350 clear {
351 [[Remove all list's items.]]
352 }
353 item_sorted_insert {
354 [[Insert a new item into the sorted list object.
355
356 Note: This function inserts values into a list object assuming it was
357 sorted and the result will be sorted.
358
359 A new item will be created and added to the list. Its position in
360 this list will be found comparing the new item with previously inserted
361 items using function $cmp_func.
362
363 Items created with this method can be deleted with elm_object_item_del().
364
365 Associated $data can be properly freed when item is deleted if a
366 callback function is set with elm_object_item_del_cb_set().
367
368 If a function is passed as argument, it will be called every time this item
369 is selected, i.e., the user clicks over an unselected item.
370 If always select is enabled it will call this function every time
371 user clicks over an item (already selected or not).
372 If such function isn't needed, just passing
373 $NULL as $func is enough. The same should be done for $data.
374
375 Note: Remember that the label parameter is copied inside the list. So if an
376 application dynamically allocated the label, the application should free the
377 label after this call.]]
378
379 return: Elm.Widget.Item; [[The created item or $NULL upon failure.]]
380 params {
381 @in label: string; [[The label of the list item.]]
382 @in icon: Efl.Canvas.Object @optional; [[The icon object to use for the left side of the item. An icon can be any Evas object, but usually it is an icon created with elm_icon_add().]]
383 @in end: Efl.Canvas.Object @optional; [[The icon object to use for the right side of the item. An icon can be any Evas object.]]
384 @in func: Evas_Smart_Cb @optional; [[The function to call when the item is clicked.]]
385 @in data: const(void_ptr) @optional; [[The data to associate with the item for related callbacks.]]
386 @in cmp_func: Eina_Compare_Cb; [[The comparing function to be used to sort list
387 items by #Elm.Widget.Item item handles. This function will
388 receive two items and compare them, returning a non-negative integer
389 if the second item should be place after the first, or negative value
390 if should be placed before.]]
391 }
392 }
393 }
394 implements {
395 class.constructor;
396 Efl.Object.constructor;
397 Efl.Gfx.Entity.position { set; }
398 Efl.Gfx.Entity.size { set; }
399 Efl.Canvas.Group.group_member_add;
400 Efl.Ui.Widget.theme_apply;
401 Efl.Ui.Widget.on_access_update;
402 Efl.Ui.Widget.focus_highlight_geometry { get; }
403 Efl.Ui.Widget.on_disabled_update;
404 Efl.Ui.Focus.Object.on_focus_update;
405 Efl.Ui.L10n.translation_update;
406 Efl.Ui.Widget.widget_sub_object_del;
407 Efl.Ui.Widget.widget_event;
408 Efl.Ui.Widget.focused_item { get; }
409 Efl.Ui.Widget.focus_state_apply;
410 Elm.Interface_Scrollable.item_loop_enabled { get; set; }
411 Elm.Interface_Scrollable.policy { set; }
412 Efl.Access.Widget.Action.elm_actions { get; }
413 Efl.Access.Object.access_children { get; }
414 Efl.Access.Selection.selected_children_count { get; }
415 Efl.Access.Selection.selected_child { get; }
416 Efl.Access.Selection.selected_child_deselect;
417 Efl.Access.Selection.child_select;
418 Efl.Access.Selection.child_deselect;
419 Efl.Access.Selection.is_child_selected;
420 Efl.Access.Selection.all_children_select;
421 Efl.Access.Selection.access_selection_clear;
422 }
423 events {
424 activated: Efl.Object; [[Called when activated]]
425 edge,top: void; [[Called when top edge was reached]]
426 edge,bottom: void; [[Called when bottom edge was reached]]
427 edge,left: void; [[Called when left edge was reached]]
428 edge,right: void; [[Called when right edge was reached]]
429 swipe: Efl.Object; [[Called when swipe is detected]]
430 highlighted: Efl.Object; [[Called when highlighted]]
431 unhighlighted: Efl.Object; [[Called when no longer highlighted]]
432 item,focused: Efl.Object; [[Called when item got focus]]
433 item,unfocused: Efl.Object; [[Called when item no longer has focus]]
434 /* FIXME: Nobody emits these
435 item,reorder,anim,start; [[Called when item reorder animation started]]
436 item,reorder,anim,stop; [[Called when item reorder animation stopped]]
437 */
438 }
439}