summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafael Antognolli <antognolli@gmail.com>2011-07-28 21:27:23 +0000
committerRafael Antognolli <antognolli@gmail.com>2011-07-28 21:27:23 +0000
commit4b59b5bc5d0e0d599c2f0ff1e7436760ac2141e7 (patch)
tree53fd5558bf26c94a4c6332ebb2101b514a057a33
parent045eb6238da85ae48d1aac66942b14e3f61b0ac9 (diff)
elementary/genlist - More functions moved from .c to .h
Most of them were reviewed and/or improved. SVN revision: 61868
-rw-r--r--src/lib/Elementary.h.in749
-rw-r--r--src/lib/elm_genlist.c527
2 files changed, 737 insertions, 539 deletions
diff --git a/src/lib/Elementary.h.in b/src/lib/Elementary.h.in
index 307ec6d47..b26262dcd 100644
--- a/src/lib/Elementary.h.in
+++ b/src/lib/Elementary.h.in
@@ -11741,6 +11741,12 @@ extern "C" {
11741 * so any data attached to the item (e.g. its data parameter on creation) 11741 * so any data attached to the item (e.g. its data parameter on creation)
11742 * can be deleted. See #GenlistItemDelFunc. 11742 * can be deleted. See #GenlistItemDelFunc.
11743 * 11743 *
11744 * available item styles:
11745 * - default
11746 * - default_style - The text part is a textblock
11747 * - double_label
11748 * - icon_top_text_bottom
11749 *
11744 * @section Genlist_Items Structure of items 11750 * @section Genlist_Items Structure of items
11745 * 11751 *
11746 * An item in a genlist can have 0 or more text labels (they can be regular 11752 * An item in a genlist can have 0 or more text labels (they can be regular
@@ -12020,21 +12026,30 @@ extern "C" {
12020 }; 12026 };
12021 12027
12022 /** 12028 /**
12023 * Add a new Genlist object 12029 * Add a new genlist widget to the given parent Elementary
12030 * (container) object
12024 * 12031 *
12025 * @param parent The parent object 12032 * @param parent The parent object
12026 * @return The new object or NULL if it cannot be created 12033 * @return a new genlist widget handle or @c NULL, on errors
12034 *
12035 * This function inserts a new genlist widget on the canvas.
12036 *
12037 * @see elm_genlist_item_append()
12038 * @see elm_genlist_item_del()
12039 * @see elm_genlist_clear()
12027 * 12040 *
12028 * @ingroup Genlist 12041 * @ingroup Genlist
12029 */ 12042 */
12030 EAPI Evas_Object *elm_genlist_add(Evas_Object *parent) EINA_ARG_NONNULL(1); 12043 EAPI Evas_Object *elm_genlist_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
12031 /** 12044 /**
12032 * Clear the genlist 12045 * Remove all items from a given genlist widget.
12033 *
12034 * This clears all items in the list, leaving it empty.
12035 * 12046 *
12036 * @param obj The genlist object 12047 * @param obj The genlist object
12037 * 12048 *
12049 * This removes (and deletes) all items in @p obj, leaving it empty.
12050 *
12051 * @see elm_genlist_item_del(), to remove just one item.
12052 *
12038 * @ingroup Genlist 12053 * @ingroup Genlist
12039 */ 12054 */
12040 EAPI void elm_genlist_clear(Evas_Object *obj) EINA_ARG_NONNULL(1); 12055 EAPI void elm_genlist_clear(Evas_Object *obj) EINA_ARG_NONNULL(1);
@@ -12342,11 +12357,113 @@ extern "C" {
12342 * @ingroup Genlist 12357 * @ingroup Genlist
12343 */ 12358 */
12344 EAPI double elm_genlist_longpress_timeout_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); 12359 EAPI double elm_genlist_longpress_timeout_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
12345 /* operations to add items */ 12360 /**
12361 * Append a new item in a given genlist widget.
12362 *
12363 * @param obj The genlist object
12364 * @param itc The item class for the item
12365 * @param data The item data
12366 * @param parent The parent item, or NULL if none
12367 * @param flags Item flags
12368 * @param func Convenience function called when the item is selected
12369 * @param func_data Data passed to @p func above.
12370 * @return A handle to the item added or @c NULL if not possible
12371 *
12372 * This adds the given item to the end of the list or the end of
12373 * the children list if the @p parent is given.
12374 *
12375 * @see elm_genlist_item_prepend()
12376 * @see elm_genlist_item_insert_before()
12377 * @see elm_genlist_item_insert_after()
12378 * @see elm_genlist_item_del()
12379 *
12380 * @ingroup Genlist
12381 */
12346 EAPI Elm_Genlist_Item *elm_genlist_item_append(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *parent, Elm_Genlist_Item_Flags flags, Evas_Smart_Cb func, const void *func_data) EINA_ARG_NONNULL(1); 12382 EAPI Elm_Genlist_Item *elm_genlist_item_append(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *parent, Elm_Genlist_Item_Flags flags, Evas_Smart_Cb func, const void *func_data) EINA_ARG_NONNULL(1);
12383 /**
12384 * Prepend a new item in a given genlist widget.
12385 *
12386 * @param obj The genlist object
12387 * @param itc The item class for the item
12388 * @param data The item data
12389 * @param parent The parent item, or NULL if none
12390 * @param flags Item flags
12391 * @param func Convenience function called when the item is selected
12392 * @param func_data Data passed to @p func above.
12393 * @return A handle to the item added or NULL if not possible
12394 *
12395 * This adds an item to the beginning of the list or beginning of the
12396 * children of the parent if given.
12397 *
12398 * @see elm_genlist_item_append()
12399 * @see elm_genlist_item_insert_before()
12400 * @see elm_genlist_item_insert_after()
12401 * @see elm_genlist_item_del()
12402 *
12403 * @ingroup Genlist
12404 */
12347 EAPI Elm_Genlist_Item *elm_genlist_item_prepend(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *parent, Elm_Genlist_Item_Flags flags, Evas_Smart_Cb func, const void *func_data) EINA_ARG_NONNULL(1); 12405 EAPI Elm_Genlist_Item *elm_genlist_item_prepend(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *parent, Elm_Genlist_Item_Flags flags, Evas_Smart_Cb func, const void *func_data) EINA_ARG_NONNULL(1);
12406 /**
12407 * Insert an item before another in a genlist widget
12408 *
12409 * @param obj The genlist object
12410 * @param itc The item class for the item
12411 * @param data The item data
12412 * @param before The item to place this new one before.
12413 * @param flags Item flags
12414 * @param func Convenience function called when the item is selected
12415 * @param func_data Data passed to @p func above.
12416 * @return A handle to the item added or @c NULL if not possible
12417 *
12418 * This inserts an item before another in the list. It will be in the
12419 * same tree level or group as the item it is inserted before.
12420 *
12421 * @see elm_genlist_item_append()
12422 * @see elm_genlist_item_prepend()
12423 * @see elm_genlist_item_insert_after()
12424 * @see elm_genlist_item_del()
12425 *
12426 * @ingroup Genlist
12427 */
12348 EAPI Elm_Genlist_Item *elm_genlist_item_insert_before(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *parent, Elm_Genlist_Item *before, Elm_Genlist_Item_Flags flags, Evas_Smart_Cb func, const void *func_data) EINA_ARG_NONNULL(1, 5); 12428 EAPI Elm_Genlist_Item *elm_genlist_item_insert_before(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *parent, Elm_Genlist_Item *before, Elm_Genlist_Item_Flags flags, Evas_Smart_Cb func, const void *func_data) EINA_ARG_NONNULL(1, 5);
12429 /**
12430 * Insert an item after another in a genlist widget
12431 *
12432 * @param obj The genlist object
12433 * @param itc The item class for the item
12434 * @param data The item data
12435 * @param after The item to place this new one after.
12436 * @param flags Item flags
12437 * @param func Convenience function called when the item is selected
12438 * @param func_data Data passed to @p func above.
12439 * @return A handle to the item added or @c NULL if not possible
12440 *
12441 * This inserts an item after another in the list. It will be in the
12442 * same tree level or group as the item it is inserted after.
12443 *
12444 * @see elm_genlist_item_append()
12445 * @see elm_genlist_item_prepend()
12446 * @see elm_genlist_item_insert_before()
12447 * @see elm_genlist_item_del()
12448 *
12449 * @ingroup Genlist
12450 */
12349 EAPI Elm_Genlist_Item *elm_genlist_item_insert_after(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *parent, Elm_Genlist_Item *after, Elm_Genlist_Item_Flags flags, Evas_Smart_Cb func, const void *func_data) EINA_ARG_NONNULL(1, 5); 12451 EAPI Elm_Genlist_Item *elm_genlist_item_insert_after(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *parent, Elm_Genlist_Item *after, Elm_Genlist_Item_Flags flags, Evas_Smart_Cb func, const void *func_data) EINA_ARG_NONNULL(1, 5);
12452 /**
12453 * Insert a new item into the sorted genlist object
12454 *
12455 * @param obj The genlist object
12456 * @param itc The item class for the item
12457 * @param data The item data
12458 * @param parent The parent item, or NULL if none
12459 * @param flags Item flags
12460 * @param comp The function called for the sort
12461 * @param func Convenience function called when item selected
12462 * @param func_data Data passed to @p func above.
12463 * @return A handle to the item added or NULL if not possible
12464 *
12465 * @ingroup Genlist
12466 */
12350 EAPI Elm_Genlist_Item *elm_genlist_item_sorted_insert(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *parent, Elm_Genlist_Item_Flags flags, Eina_Compare_Cb comp, Evas_Smart_Cb func,const void *func_data); 12467 EAPI Elm_Genlist_Item *elm_genlist_item_sorted_insert(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *parent, Elm_Genlist_Item_Flags flags, Eina_Compare_Cb comp, Evas_Smart_Cb func,const void *func_data);
12351 EAPI Elm_Genlist_Item *elm_genlist_item_direct_sorted_insert(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *parent, Elm_Genlist_Item_Flags flags, Eina_Compare_Cb comp, Evas_Smart_Cb func, const void *func_data); 12468 EAPI Elm_Genlist_Item *elm_genlist_item_direct_sorted_insert(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *parent, Elm_Genlist_Item_Flags flags, Eina_Compare_Cb comp, Evas_Smart_Cb func, const void *func_data);
12352 /* operations to retrieve existing items */ 12469 /* operations to retrieve existing items */
@@ -12429,7 +12546,26 @@ extern "C" {
12429 * @ingroup Genlist 12546 * @ingroup Genlist
12430 */ 12547 */
12431 EAPI Elm_Genlist_Item *elm_genlist_at_xy_item_get(const Evas_Object *obj, Evas_Coord x, Evas_Coord y, int *posret) EINA_ARG_NONNULL(1); 12548 EAPI Elm_Genlist_Item *elm_genlist_at_xy_item_get(const Evas_Object *obj, Evas_Coord x, Evas_Coord y, int *posret) EINA_ARG_NONNULL(1);
12549 /**
12550 * Get the first item in the genlist
12551 *
12552 * This returns the first item in the list.
12553 *
12554 * @param obj The genlist object
12555 * @return The first item, or NULL if none
12556 *
12557 * @ingroup Genlist
12558 */
12432 EAPI Elm_Genlist_Item *elm_genlist_first_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); 12559 EAPI Elm_Genlist_Item *elm_genlist_first_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
12560 /**
12561 * Get the last item in the genlist
12562 *
12563 * This returns the last item in the list.
12564 *
12565 * @return The last item, or NULL if none
12566 *
12567 * @ingroup Genlist
12568 */
12433 EAPI Elm_Genlist_Item *elm_genlist_last_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); 12569 EAPI Elm_Genlist_Item *elm_genlist_last_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
12434 /** 12570 /**
12435 * Set the scrollbar policy 12571 * Set the scrollbar policy
@@ -12463,45 +12599,513 @@ extern "C" {
12463 * @ingroup Genlist 12599 * @ingroup Genlist
12464 */ 12600 */
12465 EAPI void elm_genlist_scroller_policy_get(const Evas_Object *obj, Elm_Scroller_Policy *policy_h, Elm_Scroller_Policy *policy_v) EINA_ARG_NONNULL(1); 12601 EAPI void elm_genlist_scroller_policy_get(const Evas_Object *obj, Elm_Scroller_Policy *policy_h, Elm_Scroller_Policy *policy_v) EINA_ARG_NONNULL(1);
12466 /* available item styles: 12602 /**
12467 * default 12603 * Get the @b next item in a genlist widget's internal list of items,
12468 * default_style - The text part is a textblock 12604 * given a handle to one of those items.
12469 * double_label 12605 *
12470 * icon_top_text_bottom 12606 * @param item The genlist item to fetch next from
12607 * @return The item after @p item, or @c NULL if there's none (and
12608 * on errors)
12609 *
12610 * This returns the item placed after the @p item, on the container
12611 * genlist.
12612 *
12613 * @see elm_genlist_item_prev_get()
12614 *
12615 * @ingroup Genlist
12471 */ 12616 */
12472 /* Genlist Item operation */
12473 EAPI Elm_Genlist_Item *elm_genlist_item_next_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1); 12617 EAPI Elm_Genlist_Item *elm_genlist_item_next_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
12618 /**
12619 * Get the @b previous item in a genlist widget's internal list of items,
12620 * given a handle to one of those items.
12621 *
12622 * @param item The genlist item to fetch previous from
12623 * @return The item before @p item, or @c NULL if there's none (and
12624 * on errors)
12625 *
12626 * This returns the item placed before the @p item, on the container
12627 * genlist.
12628 *
12629 * @see elm_genlist_item_next_get()
12630 *
12631 * @ingroup Genlist
12632 */
12474 EAPI Elm_Genlist_Item *elm_genlist_item_prev_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1); 12633 EAPI Elm_Genlist_Item *elm_genlist_item_prev_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
12634 /**
12635 * Get the genlist object's handle which contains a given genlist
12636 * item
12637 *
12638 * @param item The item to fetch the container from
12639 * @return The genlist (parent) object
12640 *
12641 * This returns the genlist object itself that an item belongs to.
12642 *
12643 * @ingroup Genlist
12644 */
12475 EAPI Evas_Object *elm_genlist_item_genlist_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1); 12645 EAPI Evas_Object *elm_genlist_item_genlist_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
12646 /**
12647 * Get the parent item of the given item
12648 *
12649 * @param it The item
12650 * @return The parent of the item or @c NULL if it has no parent.
12651 *
12652 * This returns the item that was specified as parent of the item @p it on
12653 * elm_genlist_item_append() and insertion related functions.
12654 *
12655 * @ingroup Genlist
12656 */
12476 EAPI Elm_Genlist_Item *elm_genlist_item_parent_get(const Elm_Genlist_Item *it) EINA_ARG_NONNULL(1); 12657 EAPI Elm_Genlist_Item *elm_genlist_item_parent_get(const Elm_Genlist_Item *it) EINA_ARG_NONNULL(1);
12658 /**
12659 * Remove all sub-items (children) of the given item
12660 *
12661 * @param it The item
12662 *
12663 * This removes all items that are children (and their descendants) of the
12664 * given item @p it.
12665 *
12666 * @see elm_genlist_clear()
12667 * @see elm_genlist_item_del()
12668 *
12669 * @ingroup Genlist
12670 */
12477 EAPI void elm_genlist_item_subitems_clear(Elm_Genlist_Item *item) EINA_ARG_NONNULL(1); 12671 EAPI void elm_genlist_item_subitems_clear(Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
12672 /**
12673 * Set whether a given genlist item is selected or not
12674 *
12675 * @param it The item
12676 * @param selected Use @c EINA_TRUE, to make it selected, @c
12677 * EINA_FALSE to make it unselected
12678 *
12679 * This sets the selected state of an item. If multi selection is
12680 * not enabled on the containing genlist and @p selected is @c
12681 * EINA_TRUE, any other previously selected items will get
12682 * unselected in favor of this new one.
12683 *
12684 * @see elm_genlist_item_selected_get()
12685 *
12686 * @ingroup Genlist
12687 */
12478 EAPI void elm_genlist_item_selected_set(Elm_Genlist_Item *item, Eina_Bool selected) EINA_ARG_NONNULL(1); 12688 EAPI void elm_genlist_item_selected_set(Elm_Genlist_Item *item, Eina_Bool selected) EINA_ARG_NONNULL(1);
12689 /**
12690 * Get whether a given genlist item is selected or not
12691 *
12692 * @param it The item
12693 * @return @c EINA_TRUE, if it's selected, @c EINA_FALSE otherwise
12694 *
12695 * @see elm_genlist_item_selected_set() for more details
12696 *
12697 * @ingroup Genlist
12698 */
12479 EAPI Eina_Bool elm_genlist_item_selected_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1); 12699 EAPI Eina_Bool elm_genlist_item_selected_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
12700 /**
12701 * Sets the expanded state of an item.
12702 *
12703 * @param it The item
12704 * @param expanded The expanded state (@c EINA_TRUE expanded, @c EINA_FALSE not expanded).
12705 *
12706 * This function flags the item of type #ELM_GENLIST_ITEM_SUBITEMS as
12707 * expanded or not.
12708 *
12709 * The theme will respond to this change visually, and a signal "expanded" or
12710 * "contracted" will be sent from the genlist with a pointer to the item that
12711 * has been expanded/contracted.
12712 *
12713 * Calling this function won't show or hide any child of this item (if it is
12714 * a parent). You must manually delete and create them on the callbacks fo
12715 * the "expanded" or "contracted" signals.
12716 *
12717 * @see elm_genlist_item_expanded_get()
12718 *
12719 * @ingroup Genlist
12720 */
12480 EAPI void elm_genlist_item_expanded_set(Elm_Genlist_Item *item, Eina_Bool expanded) EINA_ARG_NONNULL(1); 12721 EAPI void elm_genlist_item_expanded_set(Elm_Genlist_Item *item, Eina_Bool expanded) EINA_ARG_NONNULL(1);
12722 /**
12723 * Get the expanded state of an item
12724 *
12725 * @param it The item
12726 * @return The expanded state
12727 *
12728 * This gets the expanded state of an item.
12729 *
12730 * @see elm_genlist_item_expanded_set()
12731 *
12732 * @ingroup Genlist
12733 */
12481 EAPI Eina_Bool elm_genlist_item_expanded_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1); 12734 EAPI Eina_Bool elm_genlist_item_expanded_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
12735 /**
12736 * Get the depth of expanded item
12737 *
12738 * @param it The genlist item object
12739 * @return The depth of expanded item
12740 *
12741 * @ingroup Genlist
12742 */
12482 EAPI int elm_genlist_item_expanded_depth_get(const Elm_Genlist_Item *it) EINA_ARG_NONNULL(1); 12743 EAPI int elm_genlist_item_expanded_depth_get(const Elm_Genlist_Item *it) EINA_ARG_NONNULL(1);
12744 /**
12745 * Set whether a given genlist item is disabled or not.
12746 *
12747 * @param it The item
12748 * @param disabled Use @c EINA_TRUE, true disable it, @c EINA_FALSE
12749 * to enable it back.
12750 *
12751 * A disabled item cannot be selected or unselected. It will also
12752 * change its appearance, to signal the user it's disabled.
12753 *
12754 * @see elm_genlist_item_disabled_get()
12755 *
12756 * @ingroup Genlist
12757 */
12483 EAPI void elm_genlist_item_disabled_set(Elm_Genlist_Item *item, Eina_Bool disabled) EINA_ARG_NONNULL(1); 12758 EAPI void elm_genlist_item_disabled_set(Elm_Genlist_Item *item, Eina_Bool disabled) EINA_ARG_NONNULL(1);
12759 /**
12760 * Get whether a given genlist item is disabled or not.
12761 *
12762 * @param it The item
12763 * @return @c EINA_TRUE, if it's disabled, @c EINA_FALSE otherwise
12764 * (and on errors).
12765 *
12766 * @see elm_genlist_item_disabled_set() for more details
12767 *
12768 * @ingroup Genlist
12769 */
12484 EAPI Eina_Bool elm_genlist_item_disabled_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1); 12770 EAPI Eina_Bool elm_genlist_item_disabled_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
12771 /**
12772 * Sets the display only state of an item.
12773 *
12774 * @param it The item
12775 * @param display_only @c EINA_TRUE if the item is display only, @c
12776 * EINA_FALSE otherwise.
12777 *
12778 * A display only item cannot be selected or unselected. It is for
12779 * display only and not selecting or otherwise clicking, dragging
12780 * etc. by the user, thus finger size rules will not be applied to
12781 * this item.
12782 *
12783 * It's good to set group index items to display only state.
12784 *
12785 * @see elm_genlist_item_display_only_get()
12786 *
12787 * @ingroup Genlist
12788 */
12485 EAPI void elm_genlist_item_display_only_set(Elm_Genlist_Item *it, Eina_Bool display_only) EINA_ARG_NONNULL(1); 12789 EAPI void elm_genlist_item_display_only_set(Elm_Genlist_Item *it, Eina_Bool display_only) EINA_ARG_NONNULL(1);
12790 /**
12791 * Get the display only state of an item
12792 *
12793 * @param it The item
12794 * @return @c EINA_TRUE if the item is display only, @c
12795 * EINA_FALSE otherwise.
12796 *
12797 * @see elm_genlist_item_display_only_set()
12798 *
12799 * @ingroup Genlist
12800 */
12486 EAPI Eina_Bool elm_genlist_item_display_only_get(const Elm_Genlist_Item *it) EINA_ARG_NONNULL(1); 12801 EAPI Eina_Bool elm_genlist_item_display_only_get(const Elm_Genlist_Item *it) EINA_ARG_NONNULL(1);
12802 /**
12803 * Show the portion of a genlist's internal list containing a given
12804 * item, immediately.
12805 *
12806 * @param it The item to display
12807 *
12808 * This causes genlist to jump to the given item @p it and show it (by
12809 * immediately scrolling to that position), if it is not fully visible.
12810 *
12811 * @see elm_genlist_item_bring_in()
12812 * @see elm_genlist_item_top_show()
12813 * @see elm_genlist_item_middle_show()
12814 *
12815 * @ingroup Genlist
12816 */
12487 EAPI void elm_genlist_item_show(Elm_Genlist_Item *item) EINA_ARG_NONNULL(1); 12817 EAPI void elm_genlist_item_show(Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
12818 /**
12819 * Animatedly bring in, to the visible are of a genlist, a given
12820 * item on it.
12821 *
12822 * @param it The item to display
12823 *
12824 * This causes genlist to jump to the given item @p it and show it (by
12825 * animatedly scrolling), if it is not fully visible. This may use animation
12826 * to do so and take a period of time
12827 *
12828 * @see elm_genlist_item_show()
12829 * @see elm_genlist_item_top_bring_in()
12830 * @see elm_genlist_item_middle_bring_in()
12831 *
12832 * @ingroup Genlist
12833 */
12488 EAPI void elm_genlist_item_bring_in(Elm_Genlist_Item *item) EINA_ARG_NONNULL(1); 12834 EAPI void elm_genlist_item_bring_in(Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
12835 /**
12836 * Show the portion of a genlist's internal list containing a given
12837 * item, immediately.
12838 *
12839 * @param it The item to display
12840 *
12841 * This causes genlist to jump to the given item @p it and show it (by
12842 * immediately scrolling to that position), if it is not fully visible.
12843 *
12844 * The item will be positioned at the top of the genlist viewport.
12845 *
12846 * @see elm_genlist_item_show()
12847 * @see elm_genlist_item_top_bring_in()
12848 *
12849 * @ingroup Genlist
12850 */
12489 EAPI void elm_genlist_item_top_show(Elm_Genlist_Item *item) EINA_ARG_NONNULL(1); 12851 EAPI void elm_genlist_item_top_show(Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
12852 /**
12853 * Animatedly bring in, to the visible are of a genlist, a given
12854 * item on it.
12855 *
12856 * @param it The item
12857 *
12858 * This causes genlist to jump to the given item @p it and show it (by
12859 * animatedly scrolling), if it is not fully visible. This may use animation
12860 * to do so and take a period of time
12861 *
12862 * The item will be positioned at the top of the genlist viewport.
12863 *
12864 * @see elm_genlist_item_bring_in()
12865 * @see elm_genlist_item_top_show()
12866 *
12867 * @ingroup Genlist
12868 */
12490 EAPI void elm_genlist_item_top_bring_in(Elm_Genlist_Item *item) EINA_ARG_NONNULL(1); 12869 EAPI void elm_genlist_item_top_bring_in(Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
12870 /**
12871 * Show the portion of a genlist's internal list containing a given
12872 * item, immediately.
12873 *
12874 * @param it The item to display
12875 *
12876 * This causes genlist to jump to the given item @p it and show it (by
12877 * immediately scrolling to that position), if it is not fully visible.
12878 *
12879 * The item will be positioned at the middle of the genlist viewport.
12880 *
12881 * @see elm_genlist_item_show()
12882 * @see elm_genlist_item_middle_bring_in()
12883 *
12884 * @ingroup Genlist
12885 */
12491 EAPI void elm_genlist_item_middle_show(Elm_Genlist_Item *it) EINA_ARG_NONNULL(1); 12886 EAPI void elm_genlist_item_middle_show(Elm_Genlist_Item *it) EINA_ARG_NONNULL(1);
12887 /**
12888 * Animatedly bring in, to the visible are of a genlist, a given
12889 * item on it.
12890 *
12891 * @param it The item
12892 *
12893 * This causes genlist to jump to the given item @p it and show it (by
12894 * animatedly scrolling), if it is not fully visible. This may use animation
12895 * to do so and take a period of time
12896 *
12897 * The item will be positioned at the middle of the genlist viewport.
12898 *
12899 * @see elm_genlist_item_bring_in()
12900 * @see elm_genlist_item_middle_show()
12901 *
12902 * @ingroup Genlist
12903 */
12492 EAPI void elm_genlist_item_middle_bring_in(Elm_Genlist_Item *it) EINA_ARG_NONNULL(1); 12904 EAPI void elm_genlist_item_middle_bring_in(Elm_Genlist_Item *it) EINA_ARG_NONNULL(1);
12905 /**
12906 * Remove a genlist item from the its parent, deleting it.
12907 *
12908 * @param item The item to be removed.
12909 * @return @c EINA_TRUE on success or @c EINA_FALSE, otherwise.
12910 *
12911 * @see elm_genlist_clear(), to remove all items in a genlist at
12912 * once.
12913 *
12914 * @ingroup Genlist
12915 */
12493 EAPI void elm_genlist_item_del(Elm_Genlist_Item *item) EINA_ARG_NONNULL(1); 12916 EAPI void elm_genlist_item_del(Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
12917 /**
12918 * Return the data associated to a given genlist item
12919 *
12920 * @param item The genlist item.
12921 * @return the data associated to this item.
12922 *
12923 * This returns the @c data value passed on the
12924 * elm_genlist_item_append() and related item addition calls.
12925 *
12926 * @see elm_genlist_item_append()
12927 * @see elm_genlist_item_data_set()
12928 *
12929 * @ingroup Genlist
12930 */
12494 EAPI void *elm_genlist_item_data_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1); 12931 EAPI void *elm_genlist_item_data_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
12932 /**
12933 * Set the data associated to a given genlist item
12934 *
12935 * @param item The genlist item
12936 * @param data The new data pointer to set on it
12937 *
12938 * This @b overrides the @c data value passed on the
12939 * elm_genlist_item_append() and related item addition calls. This
12940 * function @b won't call elm_genlist_item_update() automatically,
12941 * so you'd issue it afterwards if you want to hove the item
12942 * updated to reflect the that new data.
12943 *
12944 * @see elm_genlist_item_data_get()
12945 *
12946 * @ingroup Genlist
12947 */
12495 EAPI void elm_genlist_item_data_set(Elm_Genlist_Item *it, const void *data) EINA_ARG_NONNULL(1); 12948 EAPI void elm_genlist_item_data_set(Elm_Genlist_Item *it, const void *data) EINA_ARG_NONNULL(1);
12949 /**
12950 * Tells genlist to "orphan" icons fetchs by the item class
12951 *
12952 * @param it The item
12953 *
12954 * This instructs genlist to release references to icons in the item,
12955 * meaning that they will no longer be managed by genlist and are
12956 * floating "orphans" that can be re-used elsewhere if the user wants
12957 * to.
12958 *
12959 * @ingroup Genlist
12960 */
12496 EAPI void elm_genlist_item_icons_orphan(Elm_Genlist_Item *it) EINA_ARG_NONNULL(1); 12961 EAPI void elm_genlist_item_icons_orphan(Elm_Genlist_Item *it) EINA_ARG_NONNULL(1);
12962 /**
12963 * Get the real Evas object created to implement the view of a
12964 * given genlist item
12965 *
12966 * @param item The genlist item.
12967 * @return the Evas object implementing this item's view.
12968 *
12969 * This returns the actual Evas object used to implement the
12970 * specified genlist item's view. This may be @c NULL, as it may
12971 * not have been created or may have been deleted, at any time, by
12972 * the genlist. <b>Do not modify this object</b> (move, resize,
12973 * show, hide, etc.), as the genlist is controlling it. This
12974 * function is for querying, emitting custom signals or hooking
12975 * lower level callbacks for events on that object. Do not delete
12976 * this object under any circumstances.
12977 *
12978 * @see elm_genlist_item_data_get()
12979 *
12980 * @ingroup Genlist
12981 */
12497 EAPI const Evas_Object *elm_genlist_item_object_get(const Elm_Genlist_Item *it) EINA_ARG_NONNULL(1); 12982 EAPI const Evas_Object *elm_genlist_item_object_get(const Elm_Genlist_Item *it) EINA_ARG_NONNULL(1);
12983 /**
12984 * Update the contents of an item
12985 *
12986 * @param it The item
12987 *
12988 * This updates an item by calling all the item class functions again
12989 * to get the icons, labels and states. Use this when the original
12990 * item data has changed and the changes are desired to be reflected.
12991 *
12992 * Use elm_genlist_realized_items_update() to update all already realized
12993 * items.
12994 *
12995 * @see elm_genlist_realized_items_update()
12996 *
12997 * @ingroup Genlist
12998 */
12498 EAPI void elm_genlist_item_update(Elm_Genlist_Item *item) EINA_ARG_NONNULL(1); 12999 EAPI void elm_genlist_item_update(Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
13000 /**
13001 * Update the item class of an item
13002 *
13003 * @param it The item
13004 * @parem itc The item class for the item
13005 *
13006 * This sets another class fo the item, changing the way that it is
13007 * displayed. After changing the item class, elm_genlist_item_update() is
13008 * called on the item @p it.
13009 *
13010 * @ingroup Genlist
13011 */
12499 EAPI void elm_genlist_item_item_class_update(Elm_Genlist_Item *it, const Elm_Genlist_Item_Class *itc) EINA_ARG_NONNULL(1, 2); 13012 EAPI void elm_genlist_item_item_class_update(Elm_Genlist_Item *it, const Elm_Genlist_Item_Class *itc) EINA_ARG_NONNULL(1, 2);
12500 EAPI const Elm_Genlist_Item_Class *elm_genlist_item_item_class_get(const Elm_Genlist_Item *it) EINA_ARG_NONNULL(1); 13013 EAPI const Elm_Genlist_Item_Class *elm_genlist_item_item_class_get(const Elm_Genlist_Item *it) EINA_ARG_NONNULL(1);
13014 /**
13015 * Set the text to be shown in a given genlist item's tooltips.
13016 *
13017 * @param item The genlist item
13018 * @param text The text to set in the content
13019 *
13020 * This call will setup the text to be used as tooltip to that item
13021 * (analogous to elm_object_tooltip_text_set(), but being item
13022 * tooltips with higher precedence than object tooltips). It can
13023 * have only one tooltip at a time, so any previous tooltip data
13024 * will get removed.
13025 *
13026 * In order to set an icon or something else as a tooltip, look at
13027 * elm_genlist_item_tooltip_content_cb_set().
13028 *
13029 * @ingroup Genlist
13030 */
12501 EAPI void elm_genlist_item_tooltip_text_set(Elm_Genlist_Item *item, const char *text) EINA_ARG_NONNULL(1); 13031 EAPI void elm_genlist_item_tooltip_text_set(Elm_Genlist_Item *item, const char *text) EINA_ARG_NONNULL(1);
13032 /**
13033 * Set the content to be shown in a given genlist item's tooltips
13034 *
13035 * @param item The genlist item.
13036 * @param func The function returning the tooltip contents.
13037 * @param data What to provide to @a func as callback data/context.
13038 * @param del_cb Called when data is not needed anymore, either when
13039 * another callback replaces @func, the tooltip is unset with
13040 * elm_genlist_item_tooltip_unset() or the owner @p item
13041 * dies. This callback receives as its first parameter the
13042 * given @p data, being @c event_info the item handle.
13043 *
13044 * This call will setup the tooltip's contents to @p item
13045 * (analogous to elm_object_tooltip_content_cb_set(), but being
13046 * item tooltips with higher precedence than object tooltips). It
13047 * can have only one tooltip at a time, so any previous tooltip
13048 * content will get removed. @p func (with @p data) will be called
13049 * every time Elementary needs to show the tooltip and it should
13050 * return a valid Evas object, which will be fully managed by the
13051 * tooltip system, getting deleted when the tooltip is gone.
13052 *
13053 * In order to set just a text as a tooltip, look at
13054 * elm_genlist_item_tooltip_text_set().
13055 *
13056 * @ingroup Genlist
13057 */
12502 EAPI void elm_genlist_item_tooltip_content_cb_set(Elm_Genlist_Item *item, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb) EINA_ARG_NONNULL(1); 13058 EAPI void elm_genlist_item_tooltip_content_cb_set(Elm_Genlist_Item *item, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb) EINA_ARG_NONNULL(1);
13059 /**
13060 * Unset a tooltip from a given genlist item
13061 *
13062 * @param item genlist item to remove a previously set tooltip from.
13063 *
13064 * This call removes any tooltip set on @p item. The callback
13065 * provided as @c del_cb to
13066 * elm_genlist_item_tooltip_content_cb_set() will be called to
13067 * notify it is not used anymore (and have resources cleaned, if
13068 * need be).
13069 *
13070 * @see elm_genlist_item_tooltip_content_cb_set()
13071 *
13072 * @ingroup Genlist
13073 */
12503 EAPI void elm_genlist_item_tooltip_unset(Elm_Genlist_Item *item) EINA_ARG_NONNULL(1); 13074 EAPI void elm_genlist_item_tooltip_unset(Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
13075 /**
13076 * Set a different @b style for a given genlist item's tooltip.
13077 *
13078 * @param item genlist item with tooltip set
13079 * @param style the <b>theme style</b> to use on tooltips (e.g. @c
13080 * "default", @c "transparent", etc)
13081 *
13082 * Tooltips can have <b>alternate styles</b> to be displayed on,
13083 * which are defined by the theme set on Elementary. This function
13084 * works analogously as elm_object_tooltip_style_set(), but here
13085 * applied only to genlist item objects. The default style for
13086 * tooltips is @c "default".
13087 *
13088 * @note before you set a style you should define a tooltip with
13089 * elm_genlist_item_tooltip_content_cb_set() or
13090 * elm_genlist_item_tooltip_text_set()
13091 *
13092 * @see elm_genlist_item_tooltip_style_get()
13093 *
13094 * @ingroup Genlist
13095 */
12504 EAPI void elm_genlist_item_tooltip_style_set(Elm_Genlist_Item *item, const char *style) EINA_ARG_NONNULL(1); 13096 EAPI void elm_genlist_item_tooltip_style_set(Elm_Genlist_Item *item, const char *style) EINA_ARG_NONNULL(1);
13097 /**
13098 * Get the style set a given genlist item's tooltip.
13099 *
13100 * @param item genlist item with tooltip already set on.
13101 * @return style the theme style in use, which defaults to
13102 * "default". If the object does not have a tooltip set,
13103 * then @c NULL is returned.
13104 *
13105 * @see elm_genlist_item_tooltip_style_set() for more details
13106 *
13107 * @ingroup Genlist
13108 */
12505 EAPI const char *elm_genlist_item_tooltip_style_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1); 13109 EAPI const char *elm_genlist_item_tooltip_style_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
12506 /** 13110 /**
12507 * @brief Disable size restrictions on an object's tooltip 13111 * @brief Disable size restrictions on an object's tooltip
@@ -12523,12 +13127,130 @@ extern "C" {
12523 * It will instead be limited only by the size of the display. 13127 * It will instead be limited only by the size of the display.
12524 */ 13128 */
12525 EAPI Eina_Bool elm_genlist_item_tooltip_size_restrict_disabled_get(const Elm_Genlist_Item *item); 13129 EAPI Eina_Bool elm_genlist_item_tooltip_size_restrict_disabled_get(const Elm_Genlist_Item *item);
13130 /**
13131 * Set the type of mouse pointer/cursor decoration to be shown,
13132 * when the mouse pointer is over the given genlist widget item
13133 *
13134 * @param item genlist item to customize cursor on
13135 * @param cursor the cursor type's name
13136 *
13137 * This function works analogously as elm_object_cursor_set(), but
13138 * here the cursor's changing area is restricted to the item's
13139 * area, and not the whole widget's. Note that that item cursors
13140 * have precedence over widget cursors, so that a mouse over @p
13141 * item will always show cursor @p type.
13142 *
13143 * If this function is called twice for an object, a previously set
13144 * cursor will be unset on the second call.
13145 *
13146 * @see elm_object_cursor_set()
13147 * @see elm_genlist_item_cursor_get()
13148 * @see elm_genlist_item_cursor_unset()
13149 *
13150 * @ingroup Genlist
13151 */
12526 EAPI void elm_genlist_item_cursor_set(Elm_Genlist_Item *item, const char *cursor) EINA_ARG_NONNULL(1); 13152 EAPI void elm_genlist_item_cursor_set(Elm_Genlist_Item *item, const char *cursor) EINA_ARG_NONNULL(1);
13153 /**
13154 * Get the type of mouse pointer/cursor decoration set to be shown,
13155 * when the mouse pointer is over the given genlist widget item
13156 *
13157 * @param item genlist item with custom cursor set
13158 * @return the cursor type's name or @c NULL, if no custom cursors
13159 * were set to @p item (and on errors)
13160 *
13161 * @see elm_object_cursor_get()
13162 * @see elm_genlist_item_cursor_set() for more details
13163 * @see elm_genlist_item_cursor_unset()
13164 *
13165 * @ingroup Genlist
13166 */
12527 EAPI const char *elm_genlist_item_cursor_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1); 13167 EAPI const char *elm_genlist_item_cursor_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
13168 /**
13169 * Unset any custom mouse pointer/cursor decoration set to be
13170 * shown, when the mouse pointer is over the given genlist widget
13171 * item, thus making it show the @b default cursor again.
13172 *
13173 * @param item a genlist item
13174 *
13175 * Use this call to undo any custom settings on this item's cursor
13176 * decoration, bringing it back to defaults (no custom style set).
13177 *
13178 * @see elm_object_cursor_unset()
13179 * @see elm_genlist_item_cursor_set() for more details
13180 *
13181 * @ingroup Genlist
13182 */
12528 EAPI void elm_genlist_item_cursor_unset(Elm_Genlist_Item *item) EINA_ARG_NONNULL(1); 13183 EAPI void elm_genlist_item_cursor_unset(Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
13184 /**
13185 * Set a different @b style for a given custom cursor set for a
13186 * genlist item.
13187 *
13188 * @param item genlist item with custom cursor set
13189 * @param style the <b>theme style</b> to use (e.g. @c "default",
13190 * @c "transparent", etc)
13191 *
13192 * This function only makes sense when one is using custom mouse
13193 * cursor decorations <b>defined in a theme file</b> , which can
13194 * have, given a cursor name/type, <b>alternate styles</b> on
13195 * it. It works analogously as elm_object_cursor_style_set(), but
13196 * here applied only to genlist item objects.
13197 *
13198 * @warning Before you set a cursor style you should have defined a
13199 * custom cursor previously on the item, with
13200 * elm_genlist_item_cursor_set()
13201 *
13202 * @see elm_genlist_item_cursor_engine_only_set()
13203 * @see elm_genlist_item_cursor_style_get()
13204 *
13205 * @ingroup Genlist
13206 */
12529 EAPI void elm_genlist_item_cursor_style_set(Elm_Genlist_Item *item, const char *style) EINA_ARG_NONNULL(1); 13207 EAPI void elm_genlist_item_cursor_style_set(Elm_Genlist_Item *item, const char *style) EINA_ARG_NONNULL(1);
13208 /**
13209 * Get the current @b style set for a given genlist item's custom
13210 * cursor
13211 *
13212 * @param item genlist item with custom cursor set.
13213 * @return style the cursor style in use. If the object does not
13214 * have a cursor set, then @c NULL is returned.
13215 *
13216 * @see elm_genlist_item_cursor_style_set() for more details
13217 *
13218 * @ingroup Genlist
13219 */
12530 EAPI const char *elm_genlist_item_cursor_style_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1); 13220 EAPI const char *elm_genlist_item_cursor_style_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
13221 /**
13222 * Set if the (custom) cursor for a given genlist item should be
13223 * searched in its theme, also, or should only rely on the
13224 * rendering engine.
13225 *
13226 * @param item item with custom (custom) cursor already set on
13227 * @param engine_only Use @c EINA_TRUE to have cursors looked for
13228 * only on those provided by the rendering engine, @c EINA_FALSE to
13229 * have them searched on the widget's theme, as well.
13230 *
13231 * @note This call is of use only if you've set a custom cursor
13232 * for genlist items, with elm_genlist_item_cursor_set().
13233 *
13234 * @note By default, cursors will only be looked for between those
13235 * provided by the rendering engine.
13236 *
13237 * @ingroup Genlist
13238 */
12531 EAPI void elm_genlist_item_cursor_engine_only_set(Elm_Genlist_Item *item, Eina_Bool engine_only) EINA_ARG_NONNULL(1); 13239 EAPI void elm_genlist_item_cursor_engine_only_set(Elm_Genlist_Item *item, Eina_Bool engine_only) EINA_ARG_NONNULL(1);
13240 /**
13241 * Get if the (custom) cursor for a given genlist item is being
13242 * searched in its theme, also, or is only relying on the rendering
13243 * engine.
13244 *
13245 * @param item a genlist item
13246 * @return @c EINA_TRUE, if cursors are being looked for only on
13247 * those provided by the rendering engine, @c EINA_FALSE if they
13248 * are being searched on the widget's theme, as well.
13249 *
13250 * @see elm_genlist_item_cursor_engine_only_set(), for more details
13251 *
13252 * @ingroup Genlist
13253 */
12532 EAPI Eina_Bool elm_genlist_item_cursor_engine_only_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1); 13254 EAPI Eina_Bool elm_genlist_item_cursor_engine_only_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
12533 /** 13255 /**
12534 * Update the contents of all realized items. 13256 * Update the contents of all realized items.
@@ -12539,7 +13261,10 @@ extern "C" {
12539 * to get the icons, labels and states. Use this when the original 13261 * to get the icons, labels and states. Use this when the original
12540 * item data has changed and the changes are desired to be reflected. 13262 * item data has changed and the changes are desired to be reflected.
12541 * 13263 *
13264 * To update just one item, use elm_genlist_item_update().
13265 *
12542 * @see elm_genlist_realized_items_get() 13266 * @see elm_genlist_realized_items_get()
13267 * @see elm_genlist_item_update()
12543 * 13268 *
12544 * @ingroup Genlist 13269 * @ingroup Genlist
12545 */ 13270 */
diff --git a/src/lib/elm_genlist.c b/src/lib/elm_genlist.c
index 16da44e6b..9ad7a7f56 100644
--- a/src/lib/elm_genlist.c
+++ b/src/lib/elm_genlist.c
@@ -3365,23 +3365,6 @@ _item_move_before(Elm_Genlist_Item *it, Elm_Genlist_Item *before)
3365 it->itc->func.moved(it->base.widget, it, before, EINA_FALSE); 3365 it->itc->func.moved(it->base.widget, it, before, EINA_FALSE);
3366} 3366}
3367 3367
3368/**
3369 * Add item to the end of the genlist
3370 *
3371 * This adds the given item to the end of the list or the end of
3372 * the children if the parent is given.
3373 *
3374 * @param obj The genlist object
3375 * @param itc The item class for the item
3376 * @param data The item data
3377 * @param parent The parent item, or NULL if none
3378 * @param flags Item flags
3379 * @param func Convenience function called when item selected
3380 * @param func_data Data passed to @p func above.
3381 * @return A handle to the item added or NULL if not possible
3382 *
3383 * @ingroup Genlist
3384 */
3385EAPI Elm_Genlist_Item * 3368EAPI Elm_Genlist_Item *
3386elm_genlist_item_append(Evas_Object *obj, 3369elm_genlist_item_append(Evas_Object *obj,
3387 const Elm_Genlist_Item_Class *itc, 3370 const Elm_Genlist_Item_Class *itc,
@@ -3427,23 +3410,6 @@ elm_genlist_item_append(Evas_Object *obj,
3427 return it; 3410 return it;
3428} 3411}
3429 3412
3430/**
3431 * Add item at start of the genlist
3432 *
3433 * This adds an item to the beginning of the list or beginning of the
3434 * children of the parent if given.
3435 *
3436 * @param obj The genlist object
3437 * @param itc The item class for the item
3438 * @param data The item data
3439 * @param parent The parent item, or NULL if none
3440 * @param flags Item flags
3441 * @param func Convenience function called when item selected
3442 * @param func_data Data passed to @p func above.
3443 * @return A handle to the item added or NULL if not possible
3444 *
3445 * @ingroup Genlist
3446 */
3447EAPI Elm_Genlist_Item * 3413EAPI Elm_Genlist_Item *
3448elm_genlist_item_prepend(Evas_Object *obj, 3414elm_genlist_item_prepend(Evas_Object *obj,
3449 const Elm_Genlist_Item_Class *itc, 3415 const Elm_Genlist_Item_Class *itc,
@@ -3484,23 +3450,6 @@ elm_genlist_item_prepend(Evas_Object *obj,
3484 return it; 3450 return it;
3485} 3451}
3486 3452
3487/**
3488 * Insert item before another in the genlist
3489 *
3490 * This inserts an item before another in the list. It will be in the
3491 * same tree level or group as the item it is inseted before.
3492 *
3493 * @param obj The genlist object
3494 * @param itc The item class for the item
3495 * @param data The item data
3496 * @param before The item to insert before
3497 * @param flags Item flags
3498 * @param func Convenience function called when item selected
3499 * @param func_data Data passed to @p func above.
3500 * @return A handle to the item added or NULL if not possible
3501 *
3502 * @ingroup Genlist
3503 */
3504EAPI Elm_Genlist_Item * 3453EAPI Elm_Genlist_Item *
3505elm_genlist_item_insert_before(Evas_Object *obj, 3454elm_genlist_item_insert_before(Evas_Object *obj,
3506 const Elm_Genlist_Item_Class *itc, 3455 const Elm_Genlist_Item_Class *itc,
@@ -3614,21 +3563,6 @@ elm_genlist_item_direct_sorted_insert(Evas_Object *obj,
3614 return it; 3563 return it;
3615} 3564}
3616 3565
3617/**
3618 * Insert a new item into the sorted genlist object
3619 *
3620 * @param obj The genlist object
3621 * @param itc The item class for the item
3622 * @param data The item data
3623 * @param parent The parent item, or NULL if none
3624 * @param flags Item flags
3625 * @param comp The function called for the sort
3626 * @param func Convenience function called when item selected
3627 * @param func_data Data passed to @p func above.
3628 * @return A handle to the item added or NULL if not possible
3629 *
3630 * @ingroup Genlist
3631 */
3632EAPI Elm_Genlist_Item * 3566EAPI Elm_Genlist_Item *
3633elm_genlist_item_sorted_insert(Evas_Object *obj, 3567elm_genlist_item_sorted_insert(Evas_Object *obj,
3634 const Elm_Genlist_Item_Class *itc, 3568 const Elm_Genlist_Item_Class *itc,
@@ -3645,23 +3579,6 @@ elm_genlist_item_sorted_insert(Evas_Object *obj,
3645 _elm_genlist_item_compare_data, func, func_data); 3579 _elm_genlist_item_compare_data, func, func_data);
3646} 3580}
3647 3581
3648/**
3649 * Insert an item after another in the genlst
3650 *
3651 * This inserts an item after another in the list. It will be in the
3652 * same tree level or group as the item it is inseted after.
3653 *
3654 * @param obj The genlist object
3655 * @param itc The item class for the item
3656 * @param data The item data
3657 * @param after The item to insert after
3658 * @param flags Item flags
3659 * @param func Convenience function called when item selected
3660 * @param func_data Data passed to @p func above.
3661 * @return A handle to the item added or NULL if not possible
3662 *
3663 * @ingroup Genlist
3664 */
3665EAPI Elm_Genlist_Item * 3582EAPI Elm_Genlist_Item *
3666elm_genlist_item_insert_after(Evas_Object *obj, 3583elm_genlist_item_insert_after(Evas_Object *obj,
3667 const Elm_Genlist_Item_Class *itc, 3584 const Elm_Genlist_Item_Class *itc,
@@ -3911,16 +3828,6 @@ elm_genlist_at_xy_item_get(const Evas_Object *obj,
3911 return NULL; 3828 return NULL;
3912} 3829}
3913 3830
3914/**
3915 * Get the first item in the genlist
3916 *
3917 * This returns the first item in the list.
3918 *
3919 * @param obj The genlist object
3920 * @return The first item, or NULL if none
3921 *
3922 * @ingroup Genlist
3923 */
3924EAPI Elm_Genlist_Item * 3831EAPI Elm_Genlist_Item *
3925elm_genlist_first_item_get(const Evas_Object *obj) 3832elm_genlist_first_item_get(const Evas_Object *obj)
3926{ 3833{
@@ -3934,15 +3841,6 @@ elm_genlist_first_item_get(const Evas_Object *obj)
3934 return it; 3841 return it;
3935} 3842}
3936 3843
3937/**
3938 * Get the last item in the genlist
3939 *
3940 * This returns the last item in the list.
3941 *
3942 * @return The last item, or NULL if none
3943 *
3944 * @ingroup Genlist
3945 */
3946EAPI Elm_Genlist_Item * 3844EAPI Elm_Genlist_Item *
3947elm_genlist_last_item_get(const Evas_Object *obj) 3845elm_genlist_last_item_get(const Evas_Object *obj)
3948{ 3846{
@@ -3956,16 +3854,6 @@ elm_genlist_last_item_get(const Evas_Object *obj)
3956 return it; 3854 return it;
3957} 3855}
3958 3856
3959/**
3960 * Get the next item in the genlist
3961 *
3962 * This returns the item after the item @p it.
3963 *
3964 * @param it The item
3965 * @return The item after @p it, or NULL if none
3966 *
3967 * @ingroup Genlist
3968 */
3969EAPI Elm_Genlist_Item * 3857EAPI Elm_Genlist_Item *
3970elm_genlist_item_next_get(const Elm_Genlist_Item *it) 3858elm_genlist_item_next_get(const Elm_Genlist_Item *it)
3971{ 3859{
@@ -3978,16 +3866,6 @@ elm_genlist_item_next_get(const Elm_Genlist_Item *it)
3978 return (Elm_Genlist_Item *)it; 3866 return (Elm_Genlist_Item *)it;
3979} 3867}
3980 3868
3981/**
3982 * Get the previous item in the genlist
3983 *
3984 * This returns the item before the item @p it.
3985 *
3986 * @param it The item
3987 * @return The item before @p it, or NULL if none
3988 *
3989 * @ingroup Genlist
3990 */
3991EAPI Elm_Genlist_Item * 3869EAPI Elm_Genlist_Item *
3992elm_genlist_item_prev_get(const Elm_Genlist_Item *it) 3870elm_genlist_item_prev_get(const Elm_Genlist_Item *it)
3993{ 3871{
@@ -4000,16 +3878,6 @@ elm_genlist_item_prev_get(const Elm_Genlist_Item *it)
4000 return (Elm_Genlist_Item *)it; 3878 return (Elm_Genlist_Item *)it;
4001} 3879}
4002 3880
4003/**
4004 * Get the genlist object from an item
4005 *
4006 * This returns the genlist object itself that an item belongs to.
4007 *
4008 * @param it The item
4009 * @return The genlist object
4010 *
4011 * @ingroup Genlist
4012 */
4013EAPI Evas_Object * 3881EAPI Evas_Object *
4014elm_genlist_item_genlist_get(const Elm_Genlist_Item *it) 3882elm_genlist_item_genlist_get(const Elm_Genlist_Item *it)
4015{ 3883{
@@ -4017,16 +3885,6 @@ elm_genlist_item_genlist_get(const Elm_Genlist_Item *it)
4017 return it->base.widget; 3885 return it->base.widget;
4018} 3886}
4019 3887
4020/**
4021 * Get the parent item of the given item
4022 *
4023 * This returns the parent item of the item @p it given.
4024 *
4025 * @param it The item
4026 * @return The parent of the item or NULL if none
4027 *
4028 * @ingroup Genlist
4029 */
4030EAPI Elm_Genlist_Item * 3888EAPI Elm_Genlist_Item *
4031elm_genlist_item_parent_get(const Elm_Genlist_Item *it) 3889elm_genlist_item_parent_get(const Elm_Genlist_Item *it)
4032{ 3890{
@@ -4034,16 +3892,6 @@ elm_genlist_item_parent_get(const Elm_Genlist_Item *it)
4034 return it->parent; 3892 return it->parent;
4035} 3893}
4036 3894
4037/**
4038 * Clear all sub-items (children) of the given item
4039 *
4040 * This clears all items that are children (or their descendants) of the
4041 * given item @p it.
4042 *
4043 * @param it The item
4044 *
4045 * @ingroup Genlist
4046 */
4047EAPI void 3895EAPI void
4048elm_genlist_item_subitems_clear(Elm_Genlist_Item *it) 3896elm_genlist_item_subitems_clear(Elm_Genlist_Item *it)
4049{ 3897{
@@ -4057,17 +3905,6 @@ elm_genlist_item_subitems_clear(Elm_Genlist_Item *it)
4057 elm_genlist_item_del(it2); 3905 elm_genlist_item_del(it2);
4058} 3906}
4059 3907
4060/**
4061 * Set the selected state of an item
4062 *
4063 * This sets the selected state (1 selected, 0 not selected) of the given
4064 * item @p it.
4065 *
4066 * @param it The item
4067 * @param selected The selected state
4068 *
4069 * @ingroup Genlist
4070 */
4071EAPI void 3908EAPI void
4072elm_genlist_item_selected_set(Elm_Genlist_Item *it, 3909elm_genlist_item_selected_set(Elm_Genlist_Item *it,
4073 Eina_Bool selected) 3910 Eina_Bool selected)
@@ -4099,16 +3936,6 @@ elm_genlist_item_selected_set(Elm_Genlist_Item *it,
4099 } 3936 }
4100} 3937}
4101 3938
4102/**
4103 * Get the selected state of an item
4104 *
4105 * This gets the selected state of an item (1 selected, 0 not selected).
4106 *
4107 * @param it The item
4108 * @return The selected state
4109 *
4110 * @ingroup Genlist
4111 */
4112EAPI Eina_Bool 3939EAPI Eina_Bool
4113elm_genlist_item_selected_get(const Elm_Genlist_Item *it) 3940elm_genlist_item_selected_get(const Elm_Genlist_Item *it)
4114{ 3941{
@@ -4116,17 +3943,6 @@ elm_genlist_item_selected_get(const Elm_Genlist_Item *it)
4116 return it->selected; 3943 return it->selected;
4117} 3944}
4118 3945
4119/**
4120 * Sets the expanded state of an item (if it's a parent)
4121 *
4122 * This expands or contracts a parent item (thus showing or hiding the
4123 * children).
4124 *
4125 * @param it The item
4126 * @param expanded The expanded state (1 expanded, 0 not expanded).
4127 *
4128 * @ingroup Genlist
4129 */
4130EAPI void 3946EAPI void
4131elm_genlist_item_expanded_set(Elm_Genlist_Item *it, 3947elm_genlist_item_expanded_set(Elm_Genlist_Item *it,
4132 Eina_Bool expanded) 3948 Eina_Bool expanded)
@@ -4151,16 +3967,6 @@ elm_genlist_item_expanded_set(Elm_Genlist_Item *it,
4151 } 3967 }
4152} 3968}
4153 3969
4154/**
4155 * Get the expanded state of an item
4156 *
4157 * This gets the expanded state of an item
4158 *
4159 * @param it The item
4160 * @return Thre expanded state
4161 *
4162 * @ingroup Genlist
4163 */
4164EAPI Eina_Bool 3970EAPI Eina_Bool
4165elm_genlist_item_expanded_get(const Elm_Genlist_Item *it) 3971elm_genlist_item_expanded_get(const Elm_Genlist_Item *it)
4166{ 3972{
@@ -4168,14 +3974,6 @@ elm_genlist_item_expanded_get(const Elm_Genlist_Item *it)
4168 return it->expanded; 3974 return it->expanded;
4169} 3975}
4170 3976
4171/**
4172 * Get the depth of expanded item
4173 *
4174 * @param it The genlist item object
4175 * @return The depth of expanded item
4176 *
4177 * @ingroup Genlist
4178 */
4179EAPI int 3977EAPI int
4180elm_genlist_item_expanded_depth_get(const Elm_Genlist_Item *it) 3978elm_genlist_item_expanded_depth_get(const Elm_Genlist_Item *it)
4181{ 3979{
@@ -4183,18 +3981,6 @@ elm_genlist_item_expanded_depth_get(const Elm_Genlist_Item *it)
4183 return it->expanded_depth; 3981 return it->expanded_depth;
4184} 3982}
4185 3983
4186/**
4187 * Sets the disabled state of an item.
4188 *
4189 * A disabled item cannot be selected or unselected. It will also
4190 * change appearance to appear disabled. This sets the disabled state
4191 * (1 disabled, 0 not disabled).
4192 *
4193 * @param it The item
4194 * @param disabled The disabled state
4195 *
4196 * @ingroup Genlist
4197 */
4198EAPI void 3984EAPI void
4199elm_genlist_item_disabled_set(Elm_Genlist_Item *it, 3985elm_genlist_item_disabled_set(Elm_Genlist_Item *it,
4200 Eina_Bool disabled) 3986 Eina_Bool disabled)
@@ -4218,16 +4004,6 @@ elm_genlist_item_disabled_set(Elm_Genlist_Item *it,
4218 } 4004 }
4219} 4005}
4220 4006
4221/**
4222 * Get the disabled state of an item
4223 *
4224 * This gets the disabled state of the given item.
4225 *
4226 * @param it The item
4227 * @return The disabled state
4228 *
4229 * @ingroup Genlist
4230 */
4231EAPI Eina_Bool 4007EAPI Eina_Bool
4232elm_genlist_item_disabled_get(const Elm_Genlist_Item *it) 4008elm_genlist_item_disabled_get(const Elm_Genlist_Item *it)
4233{ 4009{
@@ -4236,19 +4012,6 @@ elm_genlist_item_disabled_get(const Elm_Genlist_Item *it)
4236 return it->disabled; 4012 return it->disabled;
4237} 4013}
4238 4014
4239/**
4240 * Sets the display only state of an item.
4241 *
4242 * A display only item cannot be selected or unselected. It is for
4243 * display only and not selecting or otherwise clicking, dragging
4244 * etc. by the user, thus finger size rules will not be applied to
4245 * this item.
4246 *
4247 * @param it The item
4248 * @param display_only The display only state
4249 *
4250 * @ingroup Genlist
4251 */
4252EAPI void 4015EAPI void
4253elm_genlist_item_display_only_set(Elm_Genlist_Item *it, 4016elm_genlist_item_display_only_set(Elm_Genlist_Item *it,
4254 Eina_Bool display_only) 4017 Eina_Bool display_only)
@@ -4264,16 +4027,6 @@ elm_genlist_item_display_only_set(Elm_Genlist_Item *it,
4264 it->wd->update_job = ecore_job_add(_update_job, it->wd); 4027 it->wd->update_job = ecore_job_add(_update_job, it->wd);
4265} 4028}
4266 4029
4267/**
4268 * Get the display only state of an item
4269 *
4270 * This gets the display only state of the given item.
4271 *
4272 * @param it The item
4273 * @return The display only state
4274 *
4275 * @ingroup Genlist
4276 */
4277EAPI Eina_Bool 4030EAPI Eina_Bool
4278elm_genlist_item_display_only_get(const Elm_Genlist_Item *it) 4031elm_genlist_item_display_only_get(const Elm_Genlist_Item *it)
4279{ 4032{
@@ -4282,16 +4035,6 @@ elm_genlist_item_display_only_get(const Elm_Genlist_Item *it)
4282 return it->display_only; 4035 return it->display_only;
4283} 4036}
4284 4037
4285/**
4286 * Show the given item
4287 *
4288 * This causes genlist to jump to the given item @p it and show it (by
4289 * scrolling), if it is not fully visible.
4290 *
4291 * @param it The item
4292 *
4293 * @ingroup Genlist
4294 */
4295EAPI void 4038EAPI void
4296elm_genlist_item_show(Elm_Genlist_Item *it) 4039elm_genlist_item_show(Elm_Genlist_Item *it)
4297{ 4040{
@@ -4318,17 +4061,6 @@ elm_genlist_item_show(Elm_Genlist_Item *it)
4318 it->block->w, it->h); 4061 it->block->w, it->h);
4319} 4062}
4320 4063
4321/**
4322 * Bring in the given item
4323 *
4324 * This causes genlist to jump to the given item @p it and show it (by
4325 * scrolling), if it is not fully visible. This may use animation to
4326 * do so and take a period of time
4327 *
4328 * @param it The item
4329 *
4330 * @ingroup Genlist
4331 */
4332EAPI void 4064EAPI void
4333elm_genlist_item_bring_in(Elm_Genlist_Item *it) 4065elm_genlist_item_bring_in(Elm_Genlist_Item *it)
4334{ 4066{
@@ -4355,16 +4087,6 @@ elm_genlist_item_bring_in(Elm_Genlist_Item *it)
4355 it->block->w, it->h); 4087 it->block->w, it->h);
4356} 4088}
4357 4089
4358/**
4359 * Show the given item at the top
4360 *
4361 * This causes genlist to jump to the given item @p it and show it (by
4362 * scrolling), if it is not fully visible.
4363 *
4364 * @param it The item
4365 *
4366 * @ingroup Genlist
4367 */
4368EAPI void 4090EAPI void
4369elm_genlist_item_top_show(Elm_Genlist_Item *it) 4091elm_genlist_item_top_show(Elm_Genlist_Item *it)
4370{ 4092{
@@ -4393,17 +4115,6 @@ elm_genlist_item_top_show(Elm_Genlist_Item *it)
4393 it->block->w, oh); 4115 it->block->w, oh);
4394} 4116}
4395 4117
4396/**
4397 * Bring in the given item at the top
4398 *
4399 * This causes genlist to jump to the given item @p it and show it (by
4400 * scrolling), if it is not fully visible. This may use animation to
4401 * do so and take a period of time
4402 *
4403 * @param it The item
4404 *
4405 * @ingroup Genlist
4406 */
4407EAPI void 4118EAPI void
4408elm_genlist_item_top_bring_in(Elm_Genlist_Item *it) 4119elm_genlist_item_top_bring_in(Elm_Genlist_Item *it)
4409{ 4120{
@@ -4432,16 +4143,6 @@ elm_genlist_item_top_bring_in(Elm_Genlist_Item *it)
4432 it->block->w, oh); 4143 it->block->w, oh);
4433} 4144}
4434 4145
4435/**
4436 * Show the given item at the middle
4437 *
4438 * This causes genlist to jump to the given item @p it and show it (by
4439 * scrolling), if it is not fully visible.
4440 *
4441 * @param it The item
4442 *
4443 * @ingroup Genlist
4444 */
4445EAPI void 4146EAPI void
4446elm_genlist_item_middle_show(Elm_Genlist_Item *it) 4147elm_genlist_item_middle_show(Elm_Genlist_Item *it)
4447{ 4148{
@@ -4468,17 +4169,6 @@ elm_genlist_item_middle_show(Elm_Genlist_Item *it)
4468 it->h / 2, it->block->w, oh); 4169 it->h / 2, it->block->w, oh);
4469} 4170}
4470 4171
4471/**
4472 * Bring in the given item at the middle
4473 *
4474 * This causes genlist to jump to the given item @p it and show it (by
4475 * scrolling), if it is not fully visible. This may use animation to
4476 * do so and take a period of time
4477 *
4478 * @param it The item
4479 *
4480 * @ingroup Genlist
4481 */
4482EAPI void 4172EAPI void
4483elm_genlist_item_middle_bring_in(Elm_Genlist_Item *it) 4173elm_genlist_item_middle_bring_in(Elm_Genlist_Item *it)
4484{ 4174{
@@ -4505,17 +4195,6 @@ elm_genlist_item_middle_bring_in(Elm_Genlist_Item *it)
4505 it->block->w, oh); 4195 it->block->w, oh);
4506} 4196}
4507 4197
4508/**
4509 * Delete a given item
4510 *
4511 * This deletes the item from genlist and calls the genlist item del
4512 * class callback defined in the item class, if it is set. This clears all
4513 * subitems if it is a tree.
4514 *
4515 * @param it The item
4516 *
4517 * @ingroup Genlist
4518 */
4519EAPI void 4198EAPI void
4520elm_genlist_item_del(Elm_Genlist_Item *it) 4199elm_genlist_item_del(Elm_Genlist_Item *it)
4521{ 4200{
@@ -4543,19 +4222,6 @@ elm_genlist_item_del(Elm_Genlist_Item *it)
4543 _item_del(it); 4222 _item_del(it);
4544} 4223}
4545 4224
4546/**
4547 * Set the data item from the genlist item
4548 *
4549 * This sets the data value passed on the elm_genlist_item_append() and
4550 * related item addition calls. This function will not call
4551 * elm_genlist_item_update() anymore. So call elm_genlist_item_update()
4552 * manually only when it's needed.
4553 *
4554 * @param it The item
4555 * @param data The new data pointer to set
4556 *
4557 * @ingroup Genlist
4558 */
4559EAPI void 4225EAPI void
4560elm_genlist_item_data_set(Elm_Genlist_Item *it, 4226elm_genlist_item_data_set(Elm_Genlist_Item *it,
4561 const void *data) 4227 const void *data)
@@ -4564,17 +4230,6 @@ elm_genlist_item_data_set(Elm_Genlist_Item *it,
4564 elm_widget_item_data_set(it, data); 4230 elm_widget_item_data_set(it, data);
4565} 4231}
4566 4232
4567/**
4568 * Get the data item from the genlist item
4569 *
4570 * This returns the data value passed on the elm_genlist_item_append()
4571 * and related item addition calls and elm_genlist_item_data_set().
4572 *
4573 * @param it The item
4574 * @return The data pointer provided when created
4575 *
4576 * @ingroup Genlist
4577 */
4578EAPI void * 4233EAPI void *
4579elm_genlist_item_data_get(const Elm_Genlist_Item *it) 4234elm_genlist_item_data_get(const Elm_Genlist_Item *it)
4580{ 4235{
@@ -4582,18 +4237,6 @@ elm_genlist_item_data_get(const Elm_Genlist_Item *it)
4582 return elm_widget_item_data_get(it); 4237 return elm_widget_item_data_get(it);
4583} 4238}
4584 4239
4585/**
4586 * Tells genlist to "orphan" icons fetchs by the item class
4587 *
4588 * This instructs genlist to release references to icons in the item,
4589 * meaning that they will no longer be managed by genlist and are
4590 * floating "orphans" that can be re-used elsewhere if the user wants
4591 * to.
4592 *
4593 * @param it The item
4594 *
4595 * @ingroup Genlist
4596 */
4597EAPI void 4240EAPI void
4598elm_genlist_item_icons_orphan(Elm_Genlist_Item *it) 4241elm_genlist_item_icons_orphan(Elm_Genlist_Item *it)
4599{ 4242{
@@ -4607,21 +4250,6 @@ elm_genlist_item_icons_orphan(Elm_Genlist_Item *it)
4607 } 4250 }
4608} 4251}
4609 4252
4610/**
4611 * Get the real evas object of the genlist item
4612 *
4613 * This returns the actual evas object used for the specified genlist
4614 * item. This may be NULL as it may not be created, and may be deleted
4615 * at any time by genlist. Do not modify this object (move, resize,
4616 * show, hide etc.) as genlist is controlling it. This function is for
4617 * querying, emitting custom signals or hooking lower level callbacks
4618 * for events. Do not delete this object under any circumstances.
4619 *
4620 * @param it The item
4621 * @return The object pointer
4622 *
4623 * @ingroup Genlist
4624 */
4625EAPI const Evas_Object * 4253EAPI const Evas_Object *
4626elm_genlist_item_object_get(const Elm_Genlist_Item *it) 4254elm_genlist_item_object_get(const Elm_Genlist_Item *it)
4627{ 4255{
@@ -4629,17 +4257,6 @@ elm_genlist_item_object_get(const Elm_Genlist_Item *it)
4629 return it->base.view; 4257 return it->base.view;
4630} 4258}
4631 4259
4632/**
4633 * Update the contents of an item
4634 *
4635 * This updates an item by calling all the item class functions again
4636 * to get the icons, labels and states. Use this when the original
4637 * item data has changed and the changes are desired to be reflected.
4638 *
4639 * @param it The item
4640 *
4641 * @ingroup Genlist
4642 */
4643EAPI void 4260EAPI void
4644elm_genlist_item_update(Elm_Genlist_Item *it) 4261elm_genlist_item_update(Elm_Genlist_Item *it)
4645{ 4262{
@@ -4653,14 +4270,6 @@ elm_genlist_item_update(Elm_Genlist_Item *it)
4653 it->wd->update_job = ecore_job_add(_update_job, it->wd); 4270 it->wd->update_job = ecore_job_add(_update_job, it->wd);
4654} 4271}
4655 4272
4656/**
4657 * Update the item class of an item
4658 *
4659 * @param it The item
4660 * @parem itc The item class for the item
4661 *
4662 * @ingroup Genlist
4663 */
4664EAPI void 4273EAPI void
4665elm_genlist_item_item_class_update(Elm_Genlist_Item *it, 4274elm_genlist_item_item_class_update(Elm_Genlist_Item *it,
4666 const Elm_Genlist_Item_Class *itc) 4275 const Elm_Genlist_Item_Class *itc)
@@ -4704,17 +4313,6 @@ _elm_genlist_item_label_del_cb(void *data,
4704 eina_stringshare_del(data); 4313 eina_stringshare_del(data);
4705} 4314}
4706 4315
4707/**
4708 * Set the text to be shown in the genlist item.
4709 *
4710 * @param item Target item
4711 * @param text The text to set in the content
4712 *
4713 * Setup the text as tooltip to object. The item can have only one
4714 * tooltip, so any previous tooltip data is removed.
4715 *
4716 * @ingroup Genlist
4717 */
4718EAPI void 4316EAPI void
4719elm_genlist_item_tooltip_text_set(Elm_Genlist_Item *item, 4317elm_genlist_item_tooltip_text_set(Elm_Genlist_Item *item,
4720 const char *text) 4318 const char *text)
@@ -4726,26 +4324,6 @@ elm_genlist_item_tooltip_text_set(Elm_Genlist_Item *item,
4726 _elm_genlist_item_label_del_cb); 4324 _elm_genlist_item_label_del_cb);
4727} 4325}
4728 4326
4729/**
4730 * Set the content to be shown in the tooltip item
4731 *
4732 * Setup the tooltip to item. The item can have only one tooltip, so
4733 * any previous tooltip data is removed. @p func(with @p data) will be
4734 * called every time that need to show the tooltip and it should return a
4735 * valid Evas_Object. This object is then managed fully by tooltip
4736 * system and is deleted when the tooltip is gone.
4737 *
4738 * @param item the genlist item being attached by a tooltip.
4739 * @param func the function used to create the tooltip contents.
4740 * @param data what to provide to @a func as callback data/context.
4741 * @param del_cb called when data is not needed anymore, either when
4742 * another callback replaces @func, the tooltip is unset with
4743 * elm_genlist_item_tooltip_unset() or the owner @a item
4744 * dies. This callback receives as the first parameter the
4745 * given @a data, and @c event_info is the item.
4746 *
4747 * @ingroup Genlist
4748 */
4749EAPI void 4327EAPI void
4750elm_genlist_item_tooltip_content_cb_set(Elm_Genlist_Item *item, 4328elm_genlist_item_tooltip_content_cb_set(Elm_Genlist_Item *item,
4751 Elm_Tooltip_Item_Content_Cb func, 4329 Elm_Tooltip_Item_Content_Cb func,
@@ -4780,19 +4358,6 @@ error:
4780 if (del_cb) del_cb((void *)data, NULL, NULL); 4358 if (del_cb) del_cb((void *)data, NULL, NULL);
4781} 4359}
4782 4360
4783/**
4784 * Unset tooltip from item
4785 *
4786 * @param item genlist item to remove previously set tooltip.
4787 *
4788 * Remove tooltip from item. The callback provided as del_cb to
4789 * elm_genlist_item_tooltip_content_cb_set() will be called to notify
4790 * it is not used anymore.
4791 *
4792 * @see elm_genlist_item_tooltip_content_cb_set()
4793 *
4794 * @ingroup Genlist
4795 */
4796EAPI void 4361EAPI void
4797elm_genlist_item_tooltip_unset(Elm_Genlist_Item *item) 4362elm_genlist_item_tooltip_unset(Elm_Genlist_Item *item)
4798{ 4363{
@@ -4810,18 +4375,6 @@ elm_genlist_item_tooltip_unset(Elm_Genlist_Item *item)
4810 elm_genlist_item_tooltip_style_set(item, NULL); 4375 elm_genlist_item_tooltip_style_set(item, NULL);
4811} 4376}
4812 4377
4813/**
4814 * Sets a different style for this item tooltip.
4815 *
4816 * @note before you set a style you should define a tooltip with
4817 * elm_genlist_item_tooltip_content_cb_set() or
4818 * elm_genlist_item_tooltip_text_set()
4819 *
4820 * @param item genlist item with tooltip already set.
4821 * @param style the theme style to use (default, transparent, ...)
4822 *
4823 * @ingroup Genlist
4824 */
4825EAPI void 4378EAPI void
4826elm_genlist_item_tooltip_style_set(Elm_Genlist_Item *item, 4379elm_genlist_item_tooltip_style_set(Elm_Genlist_Item *item,
4827 const char *style) 4380 const char *style)
@@ -4831,15 +4384,6 @@ elm_genlist_item_tooltip_style_set(Elm_Genlist_Item *item,
4831 if (item->base.view) elm_widget_item_tooltip_style_set(item, style); 4384 if (item->base.view) elm_widget_item_tooltip_style_set(item, style);
4832} 4385}
4833 4386
4834/**
4835 * Get the style for this item tooltip.
4836 *
4837 * @param item genlist item with tooltip already set.
4838 * @return style the theme style in use, defaults to "default". If the
4839 * object does not have a tooltip set, then NULL is returned.
4840 *
4841 * @ingroup Genlist
4842 */
4843EAPI const char * 4387EAPI const char *
4844elm_genlist_item_tooltip_style_get(const Elm_Genlist_Item *item) 4388elm_genlist_item_tooltip_style_get(const Elm_Genlist_Item *item)
4845{ 4389{
@@ -4863,15 +4407,6 @@ elm_genlist_item_tooltip_size_restrict_disabled_get(const Elm_Genlist_Item *item
4863 return item->tooltip.free_size; 4407 return item->tooltip.free_size;
4864} 4408}
4865 4409
4866/**
4867 * Set the cursor to be shown when mouse is over the genlist item
4868 *
4869 * @param item Target item
4870 * @param cursor the cursor name to be used.
4871 *
4872 * @see elm_object_cursor_set()
4873 * @ingroup Genlist
4874 */
4875EAPI void 4410EAPI void
4876elm_genlist_item_cursor_set(Elm_Genlist_Item *item, 4411elm_genlist_item_cursor_set(Elm_Genlist_Item *item,
4877 const char *cursor) 4412 const char *cursor)
@@ -4881,14 +4416,6 @@ elm_genlist_item_cursor_set(Elm_Genlist_Item *item,
4881 if (item->base.view) elm_widget_item_cursor_set(item, cursor); 4416 if (item->base.view) elm_widget_item_cursor_set(item, cursor);
4882} 4417}
4883 4418
4884/**
4885 * Get the cursor to be shown when mouse is over the genlist item
4886 *
4887 * @param item genlist item with cursor already set.
4888 * @return the cursor name.
4889 *
4890 * @ingroup Genlist
4891 */
4892EAPI const char * 4419EAPI const char *
4893elm_genlist_item_cursor_get(const Elm_Genlist_Item *item) 4420elm_genlist_item_cursor_get(const Elm_Genlist_Item *item)
4894{ 4421{
@@ -4896,14 +4423,6 @@ elm_genlist_item_cursor_get(const Elm_Genlist_Item *item)
4896 return elm_widget_item_cursor_get(item); 4423 return elm_widget_item_cursor_get(item);
4897} 4424}
4898 4425
4899/**
4900 * Unset the cursor to be shown when mouse is over the genlist item
4901 *
4902 * @param item Target item
4903 *
4904 * @see elm_object_cursor_unset()
4905 * @ingroup Genlist
4906 */
4907EAPI void 4426EAPI void
4908elm_genlist_item_cursor_unset(Elm_Genlist_Item *item) 4427elm_genlist_item_cursor_unset(Elm_Genlist_Item *item)
4909{ 4428{
@@ -4918,17 +4437,6 @@ elm_genlist_item_cursor_unset(Elm_Genlist_Item *item)
4918 item->mouse_cursor = NULL; 4437 item->mouse_cursor = NULL;
4919} 4438}
4920 4439
4921/**
4922 * Sets a different style for this item cursor.
4923 *
4924 * @note before you set a style you should define a cursor with
4925 * elm_genlist_item_cursor_set()
4926 *
4927 * @param item genlist item with cursor already set.
4928 * @param style the theme style to use (default, transparent, ...)
4929 *
4930 * @ingroup Genlist
4931 */
4932EAPI void 4440EAPI void
4933elm_genlist_item_cursor_style_set(Elm_Genlist_Item *item, 4441elm_genlist_item_cursor_style_set(Elm_Genlist_Item *item,
4934 const char *style) 4442 const char *style)
@@ -4937,15 +4445,6 @@ elm_genlist_item_cursor_style_set(Elm_Genlist_Item *item,
4937 elm_widget_item_cursor_style_set(item, style); 4445 elm_widget_item_cursor_style_set(item, style);
4938} 4446}
4939 4447
4940/**
4941 * Get the style for this item cursor.
4942 *
4943 * @param item genlist item with cursor already set.
4944 * @return style the theme style in use, defaults to "default". If the
4945 * object does not have a cursor set, then NULL is returned.
4946 *
4947 * @ingroup Genlist
4948 */
4949EAPI const char * 4448EAPI const char *
4950elm_genlist_item_cursor_style_get(const Elm_Genlist_Item *item) 4449elm_genlist_item_cursor_style_get(const Elm_Genlist_Item *item)
4951{ 4450{
@@ -4953,21 +4452,6 @@ elm_genlist_item_cursor_style_get(const Elm_Genlist_Item *item)
4953 return elm_widget_item_cursor_style_get(item); 4452 return elm_widget_item_cursor_style_get(item);
4954} 4453}
4955 4454
4956/**
4957 * Set if the cursor set should be searched on the theme or should use
4958 * the provided by the engine, only.
4959 *
4960 * @note before you set if should look on theme you should define a
4961 * cursor with elm_object_cursor_set(). By default it will only look
4962 * for cursors provided by the engine.
4963 *
4964 * @param item widget item with cursor already set.
4965 * @param engine_only boolean to define it cursors should be looked
4966 * only between the provided by the engine or searched on widget's
4967 * theme as well.
4968 *
4969 * @ingroup Genlist
4970 */
4971EAPI void 4455EAPI void
4972elm_genlist_item_cursor_engine_only_set(Elm_Genlist_Item *item, 4456elm_genlist_item_cursor_engine_only_set(Elm_Genlist_Item *item,
4973 Eina_Bool engine_only) 4457 Eina_Bool engine_only)
@@ -4976,17 +4460,6 @@ elm_genlist_item_cursor_engine_only_set(Elm_Genlist_Item *item,
4976 elm_widget_item_cursor_engine_only_set(item, engine_only); 4460 elm_widget_item_cursor_engine_only_set(item, engine_only);
4977} 4461}
4978 4462
4979/**
4980 * Get the cursor engine only usage for this item cursor.
4981 *
4982 * @param item widget item with cursor already set.
4983 * @return engine_only boolean to define it cursors should be looked
4984 * only between the provided by the engine or searched on widget's
4985 * theme as well. If the object does not have a cursor set, then
4986 * EINA_FALSE is returned.
4987 *
4988 * @ingroup Genlist
4989 */
4990EAPI Eina_Bool 4463EAPI Eina_Bool
4991elm_genlist_item_cursor_engine_only_get(const Elm_Genlist_Item *item) 4464elm_genlist_item_cursor_engine_only_get(const Elm_Genlist_Item *item)
4992{ 4465{