5 * @image html list_inheritance_tree.png
6 * @image latex list_inheritance_tree.eps
8 * @image html img/widget/list/preview-00.png
9 * @image latex img/widget/list/preview-00.eps width=\textwidth
11 * @image html img/list.png
12 * @image latex img/list.eps width=\textwidth
14 * A list widget is a container whose children are displayed
15 * vertically or horizontally, in order, and can be selected. The list
16 * can accept only one or multiple item selections. Also has many
17 * modes of items displaying.
19 * A list is a very simple type of list widget. For more robust lists,
20 * @ref Genlist should probably be used.
22 * This widget inherits from the @ref Layout one, so that all the
23 * functions acting on it also work for list objects.
25 * This widget emits the following signals, besides the ones sent from
27 * - @c "activated" - The user has double-clicked or pressed
28 * (enter|return|spacebar) on an item. The @c event_info parameter
29 * is the item that was activated.
30 * - @c "clicked,double" - The user has double-clicked an item.
31 * The @c event_info parameter is the item that was double-clicked.
32 * - @c "selected" - when the user selected an item
33 * - @c "unselected" - when the user unselected an item
34 * - @c "longpressed" - an item in the list is long-pressed
35 * - @c "edge,top" - the list is scrolled until the top edge
36 * - @c "edge,bottom" - the list is scrolled until the bottom edge
37 * - @c "edge,left" - the list is scrolled until the left edge
38 * - @c "edge,right" - the list is scrolled until the right edge
39 * - @c "language,changed" - the program's language changed
40 * - @c "highlighted" - an item in the list is pressed and highlighted.
41 * The %c event_info parameter is the item that was highlighted.
42 * - @c "unhighlighted" - an item in the list is unpressed and unhighlighted.
43 * The %c event_info parameter is the item that was unhighlighted.
47 * Available styles for it are:
50 * Default content parts of the list items that you can use are:
51 * @li @c "start" - A start position object in the list item
52 * @li @c "end" - An end position object in the list item
54 * Default text parts of the list items that you can use are:
55 * @li @c "default" - label in the list item
57 * Supported @c elm_object_item common APIs.
58 * @li @ref elm_object_item_disabled_set
59 * @li @ref elm_object_item_disabled_get
60 * @li @ref elm_object_item_part_text_set
61 * @li @ref elm_object_item_part_text_get
62 * @li @ref elm_object_item_part_content_set
63 * @li @ref elm_object_item_part_content_get
64 * @li @ref elm_object_item_part_content_unset
66 * This widget implements the @b @ref elm-scrollable-interface
67 * interface, so that all (non-deprecated) functions for the base @ref
68 * Scroller widget also work for lists.
70 * Some calls on the list's API are marked as @b deprecated, as they
71 * just wrap the scrollable widgets counterpart functions. Use the
72 * ones we point you to, for each case of deprecation here, instead --
73 * eventually the deprecated ones will be discarded (next major
77 * @li @ref list_example_01
78 * @li @ref list_example_02
79 * @li @ref list_example_03
89 * @typedef Elm_List_Mode
91 * Set list's resizing behavior, transverse axis scrolling and items
92 * cropping. See each mode's description for more details.
94 * @note Default value is #ELM_LIST_SCROLL.
96 * Values here @b don't work as bitmasks -- only one can be chosen at
99 * @see elm_list_mode_set()
100 * @see elm_list_mode_get()
106 ELM_LIST_COMPRESS = 0, /**< The list @b won't set any of its size hints to inform how a possible container should resize it. Then, if it's not created as a "resize object", it might end with zeroed dimensions. The list will respect the container's geometry and, if any of its items won't fit into its @b transverse axis, one won't be able to scroll it in that direction. */
107 ELM_LIST_SCROLL, /**< Default value. This is the same as #ELM_LIST_COMPRESS, with the exception that if any of its items won't fit into its transverse axis, one @b will be able to scroll it in that direction. */
108 ELM_LIST_LIMIT, /**< Sets a minimum size hint on the list object, so that containers may respect it (and resize itself to fit the child properly). More specifically, a @b minimum size hint will be set for its @b transverse axis, so that the @b largest item in that direction fits well. This is naturally bound by the list object's maximum size hints, set externally. */
109 ELM_LIST_EXPAND, /**< Besides setting a minimum size on the transverse axis, just like on #ELM_LIST_LIMIT, the list will set a minimum size on the @b longitudinal axis, trying to reserve space to all its children to be visible at a time. . This is naturally bound by the list object's maximum size hints, set externally. */
110 ELM_LIST_LAST /**< Indicates error if returned by elm_list_mode_get() */
114 * Add a new list widget to the given parent Elementary
115 * (container) object.
117 * @param parent The parent object.
118 * @return a new list widget handle or @c NULL, on errors.
120 * This function inserts a new list widget on the canvas.
124 EAPI Evas_Object *elm_list_add(Evas_Object *parent);
129 * @param obj The list object
131 * @note Call before running show() on the list object.
132 * @warning If not called, it won't display the list properly.
135 * li = elm_list_add(win);
136 * elm_list_item_append(li, "First", NULL, NULL, NULL, NULL);
137 * elm_list_item_append(li, "Second", NULL, NULL, NULL, NULL);
139 * evas_object_show(li);
144 EAPI void elm_list_go(Evas_Object *obj);
147 * Enable or disable multiple items selection on the list object.
149 * @param obj The list object
150 * @param multi @c EINA_TRUE to enable multi selection or @c EINA_FALSE to
153 * Disabled by default. If disabled, the user can select a single item of
154 * the list each time. Selected items are highlighted on list.
155 * If enabled, many items can be selected.
157 * If a selected item is selected again, it will be unselected.
159 * @see elm_list_multi_select_get()
163 EAPI void elm_list_multi_select_set(Evas_Object *obj, Eina_Bool multi);
166 * Get a value whether multiple items selection is enabled or not.
168 * @see elm_list_multi_select_set() for details.
170 * @param obj The list object.
171 * @return @c EINA_TRUE means multiple items selection is enabled.
172 * @c EINA_FALSE indicates it's disabled. If @p obj is @c NULL,
173 * @c EINA_FALSE is returned.
177 EAPI Eina_Bool elm_list_multi_select_get(const Evas_Object *obj);
180 * Set which mode to use for the list object.
182 * @param obj The list object
183 * @param mode One of #Elm_List_Mode: #ELM_LIST_COMPRESS,
184 * #ELM_LIST_SCROLL, #ELM_LIST_LIMIT or #ELM_LIST_EXPAND.
186 * Set list's resize behavior, transverse axis scroll and
187 * items cropping. See each mode's description for more details.
189 * @note Default value is #ELM_LIST_SCROLL.
191 * Only one mode at a time can be set. If a previous one was set, it
192 * will be changed by the new mode after this call. Bitmasks won't
195 * @warning This function's behavior will clash with those of
196 * elm_scroller_content_min_limit(), so use either one of them, but
199 * @see elm_list_mode_get()
203 EAPI void elm_list_mode_set(Evas_Object *obj, Elm_List_Mode mode);
206 * Get the mode the list is at.
208 * @param obj The list object
209 * @return One of #Elm_List_Mode: #ELM_LIST_COMPRESS, #ELM_LIST_SCROLL, #ELM_LIST_LIMIT, #ELM_LIST_EXPAND or #ELM_LIST_LAST on errors.
211 * @note see elm_list_mode_set() for more information.
215 EAPI Elm_List_Mode elm_list_mode_get(const Evas_Object *obj);
218 * Enable or disable horizontal mode on the list object.
220 * @param obj The list object.
221 * @param horizontal @c EINA_TRUE to enable horizontal or @c EINA_FALSE to
222 * disable it, i.e., to enable vertical mode.
224 * @note Vertical mode is set by default.
226 * On horizontal mode items are displayed on list from left to right,
227 * instead of from top to bottom. Also, the list will scroll horizontally.
228 * Each item will presents left icon on top and right icon, or end, at
231 * @see elm_list_horizontal_get()
235 EAPI void elm_list_horizontal_set(Evas_Object *obj, Eina_Bool horizontal);
238 * Get a value whether horizontal mode is enabled or not.
240 * @param obj The list object.
241 * @return @c EINA_TRUE means horizontal mode selection is enabled.
242 * @c EINA_FALSE indicates it's disabled. If @p obj is @c NULL,
243 * @c EINA_FALSE is returned.
245 * @see elm_list_horizontal_set() for details.
249 EAPI Eina_Bool elm_list_horizontal_get(const Evas_Object *obj);
252 * Set the list select mode.
254 * @param obj The list object
255 * @param mode The select mode
257 * elm_list_select_mode_set() changes item select mode in the list widget.
258 * - ELM_OBJECT_SELECT_MODE_DEFAULT : Items will only call their selection func and
259 * callback when first becoming selected. Any further clicks will
260 * do nothing, unless you set always select mode.
261 * - ELM_OBJECT_SELECT_MODE_ALWAYS : This means that, even if selected,
262 * every click will make the selected callbacks be called.
263 * - ELM_OBJECT_SELECT_MODE_NONE : This will turn off the ability to select items
264 * entirely and they will neither appear selected nor call selected
265 * callback functions.
267 * @see elm_list_select_mode_get()
272 elm_list_select_mode_set(Evas_Object *obj, Elm_Object_Select_Mode mode);
275 * Get the list select mode.
277 * @param obj The list object
278 * @return The select mode
279 * (If getting mode is failed, it returns ELM_OBJECT_SELECT_MODE_MAX)
281 * @see elm_list_select_mode_set()
285 EAPI Elm_Object_Select_Mode
286 elm_list_select_mode_get(const Evas_Object *obj);
289 * Set bouncing behaviour when the scrolled content reaches an edge.
291 * Tell the internal scroller object whether it should bounce or not
292 * when it reaches the respective edges for each axis.
294 * @param obj The list object
295 * @param h_bounce Whether to bounce or not in the horizontal axis.
296 * @param v_bounce Whether to bounce or not in the vertical axis.
298 * @deprecated Use elm_scroller_bounce_set() instead.
300 * @see elm_scroller_bounce_set()
304 EINA_DEPRECATED EAPI void elm_list_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce);
307 * Get the bouncing behaviour of the internal scroller.
309 * Get whether the internal scroller should bounce when the edge of each
310 * axis is reached scrolling.
312 * @param obj The list object.
313 * @param h_bounce Pointer to store the bounce state of the horizontal
315 * @param v_bounce Pointer to store the bounce state of the vertical
318 * @deprecated Use elm_scroller_bounce_get() instead.
320 * @see elm_scroller_bounce_get()
321 * @see elm_list_bounce_set()
325 EINA_DEPRECATED EAPI void elm_list_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce);
328 * Set the scrollbar policy.
330 * @param obj The list object
331 * @param policy_h Horizontal scrollbar policy.
332 * @param policy_v Vertical scrollbar policy.
334 * This sets the scrollbar visibility policy for the given
335 * scroller. #ELM_SCROLLER_POLICY_AUTO means the scrollbar is made
336 * visible if it is needed, and otherwise kept
337 * hidden. #ELM_SCROLLER_POLICY_ON turns it on all the time, and
338 * #ELM_SCROLLER_POLICY_OFF always keeps it off. This applies
339 * respectively for the horizontal and vertical scrollbars.
341 * The both are disabled by default, i.e., are set to
342 * #ELM_SCROLLER_POLICY_OFF.
344 * @deprecated Use elm_scroller_policy_set() instead.
348 EINA_DEPRECATED EAPI void elm_list_scroller_policy_set(Evas_Object *obj, Elm_Scroller_Policy policy_h, Elm_Scroller_Policy policy_v);
351 * Get the scrollbar policy.
353 * @see elm_list_scroller_policy_get() for details.
355 * @param obj The list object.
356 * @param policy_h Pointer to store horizontal scrollbar policy.
357 * @param policy_v Pointer to store vertical scrollbar policy.
359 * @deprecated Use elm_scroller_policy_get() instead.
363 EINA_DEPRECATED EAPI void elm_list_scroller_policy_get(const Evas_Object *obj, Elm_Scroller_Policy *policy_h, Elm_Scroller_Policy *policy_v);
366 * Append a new item to the list object.
368 * @param obj The list object.
369 * @param label The label of the list item.
370 * @param icon The icon object to use for the left side of the item. An
371 * icon can be any Evas object, but usually it is an icon created
372 * with elm_icon_add().
373 * @param end The icon object to use for the right side of the item. An
374 * icon can be any Evas object.
375 * @param func The function to call when the item is clicked.
376 * @param data The data to associate with the item for related callbacks.
378 * @return The created item or @c NULL upon failure.
380 * A new item will be created and appended to the list, i.e., will
381 * be set as @b last item.
383 * Items created with this method can be deleted with elm_object_item_del().
385 * Associated @p data can be properly freed when item is deleted if a
386 * callback function is set with elm_object_item_del_cb_set().
388 * If a function is passed as argument, it will be called every time this item
389 * is selected, i.e., the user clicks over an unselected item.
390 * If always select is enabled it will call this function every time
391 * user clicks over an item (already selected or not).
392 * If such function isn't needed, just passing
393 * @c NULL as @p func is enough. The same should be done for @p data.
395 * Simple example (with no function callback or data associated):
397 * li = elm_list_add(win);
398 * ic = elm_icon_add(win);
399 * elm_image_file_set(ic, "path/to/image", NULL);
400 * elm_icon_resizable_set(ic, EINA_TRUE, EINA_TRUE);
401 * elm_list_item_append(li, "label", ic, NULL, NULL, NULL);
403 * evas_object_show(li);
406 * @see elm_list_select_mode_set()
407 * @see elm_object_item_del()
408 * @see elm_object_item_del_cb_set()
409 * @see elm_list_clear()
410 * @see elm_icon_add()
414 EAPI Elm_Object_Item *elm_list_item_append(Evas_Object *obj, const char *label, Evas_Object *icon, Evas_Object *end, Evas_Smart_Cb func, const void *data);
417 * Prepend a new item to the list object.
419 * @param obj The list object.
420 * @param label The label of the list item.
421 * @param icon The icon object to use for the left side of the item. An
422 * icon can be any Evas object, but usually it is an icon created
423 * with elm_icon_add().
424 * @param end The icon object to use for the right side of the item. An
425 * icon can be any Evas object.
426 * @param func The function to call when the item is clicked.
427 * @param data The data to associate with the item for related callbacks.
429 * @return The created item or @c NULL upon failure.
431 * A new item will be created and prepended to the list, i.e., will
432 * be set as @b first item.
434 * Items created with this method can be deleted with elm_object_item_del().
436 * Associated @p data can be properly freed when item is deleted if a
437 * callback function is set with elm_object_item_del_cb_set().
439 * If a function is passed as argument, it will be called every time this item
440 * is selected, i.e., the user clicks over an unselected item.
441 * If always select is enabled it will call this function every time
442 * user clicks over an item (already selected or not).
443 * If such function isn't needed, just passing
444 * @c NULL as @p func is enough. The same should be done for @p data.
446 * @see elm_list_item_append() for a simple code example.
447 * @see elm_list_select_mode_set()
448 * @see elm_object_item_del()
449 * @see elm_object_item_del_cb_set()
450 * @see elm_list_clear()
451 * @see elm_icon_add()
455 EAPI Elm_Object_Item *elm_list_item_prepend(Evas_Object *obj, const char *label, Evas_Object *icon, Evas_Object *end, Evas_Smart_Cb func, const void *data);
458 * Insert a new item into the list object before item @p before.
460 * @param obj The list object.
461 * @param before The list item to insert before.
462 * @param label The label of the list item.
463 * @param icon The icon object to use for the left side of the item. An
464 * icon can be any Evas object, but usually it is an icon created
465 * with elm_icon_add().
466 * @param end The icon object to use for the right side of the item. An
467 * icon can be any Evas object.
468 * @param func The function to call when the item is clicked.
469 * @param data The data to associate with the item for related callbacks.
471 * @return The created item or @c NULL upon failure.
473 * A new item will be created and added to the list. Its position in
474 * this list will be just before item @p before.
476 * Items created with this method can be deleted with elm_object_item_del().
478 * Associated @p data can be properly freed when item is deleted if a
479 * callback function is set with elm_object_item_del_cb_set().
481 * If a function is passed as argument, it will be called every time this item
482 * is selected, i.e., the user clicks over an unselected item.
483 * If always select is enabled it will call this function every time
484 * user clicks over an item (already selected or not).
485 * If such function isn't needed, just passing
486 * @c NULL as @p func is enough. The same should be done for @p data.
488 * @see elm_list_item_append() for a simple code example.
489 * @see elm_list_select_mode_set()
490 * @see elm_object_item_del()
491 * @see elm_object_item_del_cb_set()
492 * @see elm_list_clear()
493 * @see elm_icon_add()
497 EAPI Elm_Object_Item *elm_list_item_insert_before(Evas_Object *obj, Elm_Object_Item *before, const char *label, Evas_Object *icon, Evas_Object *end, Evas_Smart_Cb func, const void *data);
500 * Insert a new item into the list object after item @p after.
502 * @param obj The list object.
503 * @param after The list item to insert after.
504 * @param label The label of the list item.
505 * @param icon The icon object to use for the left side of the item. An
506 * icon can be any Evas object, but usually it is an icon created
507 * with elm_icon_add().
508 * @param end The icon object to use for the right side of the item. An
509 * icon can be any Evas object.
510 * @param func The function to call when the item is clicked.
511 * @param data The data to associate with the item for related callbacks.
513 * @return The created item or @c NULL upon failure.
515 * A new item will be created and added to the list. Its position in
516 * this list will be just after item @p after.
518 * Items created with this method can be deleted with elm_object_item_del().
520 * Associated @p data can be properly freed when item is deleted if a
521 * callback function is set with elm_object_item_del_cb_set().
523 * If a function is passed as argument, it will be called every time this item
524 * is selected, i.e., the user clicks over an unselected item.
525 * If always select is enabled it will call this function every time
526 * user clicks over an item (already selected or not).
527 * If such function isn't needed, just passing
528 * @c NULL as @p func is enough. The same should be done for @p data.
530 * @see elm_list_item_append() for a simple code example.
531 * @see elm_list_select_mode_set()
532 * @see elm_object_item_del()
533 * @see elm_object_item_del_cb_set()
534 * @see elm_list_clear()
535 * @see elm_icon_add()
539 EAPI Elm_Object_Item *elm_list_item_insert_after(Evas_Object *obj, Elm_Object_Item *after, const char *label, Evas_Object *icon, Evas_Object *end, Evas_Smart_Cb func, const void *data);
542 * Insert a new item into the sorted list object.
544 * @param obj The list object.
545 * @param label The label of the list item.
546 * @param icon The icon object to use for the left side of the item. An
547 * icon can be any Evas object, but usually it is an icon created
548 * with elm_icon_add().
549 * @param end The icon object to use for the right side of the item. An
550 * icon can be any Evas object.
551 * @param func The function to call when the item is clicked.
552 * @param data The data to associate with the item for related callbacks.
553 * @param cmp_func The comparing function to be used to sort list
554 * items <b>by #Elm_Object_Item item handles</b>. This function will
555 * receive two items and compare them, returning a non-negative integer
556 * if the second item should be place after the first, or negative value
557 * if should be placed before.
559 * @return The created item or @c NULL upon failure.
561 * @note This function inserts values into a list object assuming it was
562 * sorted and the result will be sorted.
564 * A new item will be created and added to the list. Its position in
565 * this list will be found comparing the new item with previously inserted
566 * items using function @p cmp_func.
568 * Items created with this method can be deleted with elm_object_item_del().
570 * Associated @p data can be properly freed when item is deleted if a
571 * callback function is set with elm_object_item_del_cb_set().
573 * If a function is passed as argument, it will be called every time this item
574 * is selected, i.e., the user clicks over an unselected item.
575 * If always select is enabled it will call this function every time
576 * user clicks over an item (already selected or not).
577 * If such function isn't needed, just passing
578 * @c NULL as @p func is enough. The same should be done for @p data.
580 * @see elm_list_item_append() for a simple code example.
581 * @see elm_list_select_mode_set()
582 * @see elm_object_item_del()
583 * @see elm_object_item_del_cb_set()
584 * @see elm_list_clear()
585 * @see elm_icon_add()
589 EAPI Elm_Object_Item *elm_list_item_sorted_insert(Evas_Object *obj, const char *label, Evas_Object *icon, Evas_Object *end, Evas_Smart_Cb func, const void *data, Eina_Compare_Cb cmp_func);
592 * Remove all list's items.
594 * @param obj The list object
596 * @see elm_object_item_del()
597 * @see elm_list_item_append()
601 EAPI void elm_list_clear(Evas_Object *obj);
604 * Get a list of all the list items.
606 * @param obj The list object
607 * @return An @c Eina_List of list items, #Elm_Object_Item,
608 * or @c NULL on failure.
610 * @see elm_list_item_append()
611 * @see elm_object_item_del()
612 * @see elm_list_clear()
616 EAPI const Eina_List *elm_list_items_get(const Evas_Object *obj);
619 * Get the selected item.
621 * @param obj The list object.
622 * @return The selected list item.
624 * The selected item can be unselected with function
625 * elm_list_item_selected_set().
627 * The selected item always will be highlighted on list.
629 * @see elm_list_selected_items_get()
633 EAPI Elm_Object_Item *elm_list_selected_item_get(const Evas_Object *obj);
636 * Return a list of the currently selected list items.
638 * @param obj The list object.
639 * @return An @c Eina_List of list items, #Elm_Object_Item,
640 * or @c NULL on failure.
642 * Multiple items can be selected if multi select is enabled. It can be
643 * done with elm_list_multi_select_set().
645 * @see elm_list_selected_item_get()
646 * @see elm_list_multi_select_set()
650 EAPI const Eina_List *elm_list_selected_items_get(const Evas_Object *obj);
653 * Set the selected state of an item.
655 * @param it The list item
656 * @param selected The selected state
658 * This sets the selected state of the given item @p it.
659 * @c EINA_TRUE for selected, @c EINA_FALSE for not selected.
661 * If a new item is selected the previously selected will be unselected,
662 * unless multiple selection is enabled with elm_list_multi_select_set().
663 * Previously selected item can be get with function
664 * elm_list_selected_item_get().
666 * Selected items will be highlighted.
668 * @see elm_list_item_selected_get()
669 * @see elm_list_selected_item_get()
670 * @see elm_list_multi_select_set()
674 EAPI void elm_list_item_selected_set(Elm_Object_Item *it, Eina_Bool selected);
677 * Get whether the @p item is selected or not.
679 * @param it The list item.
680 * @return @c EINA_TRUE means item is selected. @c EINA_FALSE indicates
681 * it's not. If @p obj is @c NULL, @c EINA_FALSE is returned.
683 * @see elm_list_selected_item_set() for details.
684 * @see elm_list_item_selected_get()
688 EAPI Eina_Bool elm_list_item_selected_get(const Elm_Object_Item *it);
691 * Set or unset item as a separator.
693 * @param it The list item.
694 * @param setting @c EINA_TRUE to set item @p it as separator or
695 * @c EINA_FALSE to unset, i.e., item will be used as a regular item.
697 * Items aren't set as separator by default.
699 * If set as separator it will display separator theme, so won't display
702 * @see elm_list_item_separator_get()
706 EAPI void elm_list_item_separator_set(Elm_Object_Item *it, Eina_Bool setting);
709 * Get a value whether item is a separator or not.
711 * @see elm_list_item_separator_set() for details.
713 * @param it The list item.
714 * @return @c EINA_TRUE means item @p it is a separator. @c EINA_FALSE
715 * indicates it's not. If @p it is @c NULL, @c EINA_FALSE is returned.
719 EAPI Eina_Bool elm_list_item_separator_get(const Elm_Object_Item *it);
722 * Show @p item in the list view.
724 * @param it The list item to be shown.
726 * It won't animate list until item is visible. If such behavior is wanted,
727 * use elm_list_bring_in() instead.
731 EAPI void elm_list_item_show(Elm_Object_Item *it);
734 * Bring in the given item to list view.
736 * @param it The item.
738 * This causes list to jump to the given item @p item and show it
739 * (by scrolling), if it is not fully visible.
741 * This may use animation to do so and take a period of time.
743 * If animation isn't wanted, elm_list_item_show() can be used.
747 EAPI void elm_list_item_bring_in(Elm_Object_Item *it);
750 * Gets the base object of the item.
752 * @param it The list item
753 * @return The base object associated with @p item
755 * Base object is the @c Evas_Object that represents that item.
759 EAPI Evas_Object *elm_list_item_object_get(const Elm_Object_Item *it);
762 * Get the item before @p it in list.
764 * @param it The list item.
765 * @return The item before @p it, or @c NULL if none or on failure.
767 * @note If it is the first item, @c NULL will be returned.
769 * @see elm_list_item_append()
770 * @see elm_list_items_get()
774 EAPI Elm_Object_Item *elm_list_item_prev(const Elm_Object_Item *it);
777 * Get the item after @p it in list.
779 * @param it The list item.
780 * @return The item after @p it, or @c NULL if none or on failure.
782 * @note If it is the last item, @c NULL will be returned.
784 * @see elm_list_item_append()
785 * @see elm_list_items_get()
789 EAPI Elm_Object_Item *elm_list_item_next(const Elm_Object_Item *it);
792 * Get the first item in the list
794 * This returns the first item in the list.
796 * @param obj The list object
797 * @return The first item, or NULL if none
801 EAPI Elm_Object_Item *elm_list_first_item_get(const Evas_Object *obj);
804 * Get the last item in the list
806 * This returns the last item in the list.
808 * @return The last item, or NULL if none
812 EAPI Elm_Object_Item *elm_list_last_item_get(const Evas_Object *obj);