Elm Genlist Item: Migrate to Eo
This commit is contained in:
parent
15b23e94f9
commit
ca286ea1cb
|
@ -615,7 +615,8 @@ elm_menu_item.eo \
|
|||
elm_ctxpopup_item.eo \
|
||||
elm_index_item.eo \
|
||||
elm_multibuttonentry_item.eo \
|
||||
elm_naviframe_item.eo
|
||||
elm_naviframe_item.eo \
|
||||
elm_genlist_item.eo
|
||||
|
||||
elm_eolian_c = $(elm_eolian_files:%.eo=%.eo.c)
|
||||
elm_eolian_h = $(elm_eolian_files:%.eo=%.eo.h)
|
||||
|
@ -738,7 +739,8 @@ elementaryeolianfiles_DATA = \
|
|||
elm_ctxpopup_item.eo \
|
||||
elm_index_item.eo \
|
||||
elm_multibuttonentry_item.eo \
|
||||
elm_naviframe_item.eo
|
||||
elm_naviframe_item.eo \
|
||||
elm_genlist_item.eo
|
||||
|
||||
EXTRA_DIST += ${elementaryeolianfiles_DATA}
|
||||
|
||||
|
|
|
@ -25,7 +25,11 @@ struct Elm_Gen_Item_Tooltip
|
|||
|
||||
struct Elm_Gen_Item
|
||||
{
|
||||
#ifndef OBJECT_ITEMS_MIGRATION
|
||||
ELM_WIDGET_ITEM;
|
||||
#else
|
||||
Elm_Widget_Item_Data *base;
|
||||
#endif
|
||||
EINA_INLIST;
|
||||
|
||||
Elm_Gen_Item_Type *item;
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -69,162 +69,24 @@ typedef Elm_Gen_Item_State_Get_Cb Elm_Genlist_Item_State_Get_Cb;
|
|||
*/
|
||||
typedef Elm_Gen_Item_Del_Cb Elm_Genlist_Item_Del_Cb;
|
||||
|
||||
/**
|
||||
* Get the @b next item in a genlist widget's internal list of items,
|
||||
* given a handle to one of those items.
|
||||
*
|
||||
* @param it The genlist item to fetch next from
|
||||
* @return The item after @p item, or @c NULL if there's none (and
|
||||
* on errors)
|
||||
*
|
||||
* This returns the item placed after the @p item, on the container
|
||||
* genlist.
|
||||
*
|
||||
* @see elm_genlist_item_prev_get()
|
||||
*
|
||||
* @ingroup Genlist
|
||||
*/
|
||||
EAPI Elm_Object_Item *elm_genlist_item_next_get(const Elm_Object_Item *it);
|
||||
|
||||
/**
|
||||
* Get the @b previous item in a genlist widget's internal list of items,
|
||||
* given a handle to one of those items.
|
||||
*
|
||||
* @param it The genlist item to fetch previous from
|
||||
* @return The item before @p item, or @c NULL if there's none (and
|
||||
* on errors)
|
||||
*
|
||||
* This returns the item placed before the @p item, on the container
|
||||
* genlist.
|
||||
*
|
||||
* @see elm_genlist_item_next_get()
|
||||
*
|
||||
* @ingroup Genlist
|
||||
*/
|
||||
EAPI Elm_Object_Item *elm_genlist_item_prev_get(const Elm_Object_Item *it);
|
||||
|
||||
/**
|
||||
* Set whether a given genlist item is selected or not
|
||||
*
|
||||
* @param it The item
|
||||
* @param selected Use @c EINA_TRUE, to make it selected, @c
|
||||
* EINA_FALSE to make it unselected
|
||||
*
|
||||
* This sets the selected state of an item. If multi selection is
|
||||
* not enabled on the containing genlist and @p selected is @c
|
||||
* EINA_TRUE, any other previously selected items will get
|
||||
* unselected in favor of this new one.
|
||||
*
|
||||
* @see elm_genlist_item_selected_get()
|
||||
*
|
||||
* @ingroup Genlist
|
||||
*/
|
||||
EAPI void elm_genlist_item_selected_set(Elm_Object_Item *it, Eina_Bool selected);
|
||||
|
||||
/**
|
||||
* Get whether a given genlist item is selected or not
|
||||
*
|
||||
* @param it The item
|
||||
* @return @c EINA_TRUE, if it's selected, @c EINA_FALSE otherwise
|
||||
*
|
||||
* @see elm_genlist_item_selected_set() for more details
|
||||
*
|
||||
* @ingroup Genlist
|
||||
*/
|
||||
EAPI Eina_Bool elm_genlist_item_selected_get(const Elm_Object_Item *it);
|
||||
|
||||
/**
|
||||
* Show the portion of a genlist's internal list containing a given
|
||||
* item, immediately.
|
||||
*
|
||||
* @param it The item to display
|
||||
* @param type The position to bring in, the given item to.
|
||||
* @ref Elm_Genlist_Item_Scrollto_Type
|
||||
*
|
||||
* This causes genlist to jump to the given item @p it and show it (by
|
||||
* jumping to that position), if it is not fully visible.
|
||||
*
|
||||
* @see elm_genlist_item_bring_in()
|
||||
*
|
||||
* @ingroup Genlist
|
||||
*/
|
||||
EAPI void elm_genlist_item_show(Elm_Object_Item *it, Elm_Genlist_Item_Scrollto_Type type);
|
||||
|
||||
/**
|
||||
* Animatedly bring in, to the visible area of a genlist, a given
|
||||
* item on it.
|
||||
*
|
||||
* @param it The item to display
|
||||
* @param type The position to bring in, the given item to.
|
||||
* @ref Elm_Genlist_Item_Scrollto_Type
|
||||
*
|
||||
* This causes genlist to jump to the given item @p it and show it (by
|
||||
* animatedly scrolling), if it is not fully visible.
|
||||
* This may use animation and take a some time to do so.
|
||||
*
|
||||
* @see elm_genlist_item_show()
|
||||
*
|
||||
* @ingroup Genlist
|
||||
*/
|
||||
EAPI void elm_genlist_item_bring_in(Elm_Object_Item *it, Elm_Genlist_Item_Scrollto_Type type);
|
||||
|
||||
/**
|
||||
* Update all the contents of an item
|
||||
*
|
||||
* @param it The item
|
||||
*
|
||||
* This updates an item by calling all the item class functions again
|
||||
* to get the contents, texts and states. Use this when the original
|
||||
* item data has changed and the changes are desired to be reflected.
|
||||
*
|
||||
* Use elm_genlist_realized_items_update() to update all already realized
|
||||
* items.
|
||||
*
|
||||
* @note This also updates internal genlist item object(edje_object as of now).
|
||||
* So when this is called between mouse down and mouse up, mouse up event will
|
||||
* be ignored because edje_object is deleted and created again by this API. If
|
||||
* you want to avoid this, please use @ref elm_genlist_item_fields_update.
|
||||
*
|
||||
* @see elm_genlist_realized_items_update()
|
||||
*
|
||||
* @ingroup Genlist
|
||||
*/
|
||||
EAPI void elm_genlist_item_update(Elm_Object_Item *it);
|
||||
|
||||
/**
|
||||
* Update the item class of an item
|
||||
*
|
||||
* @param it The item
|
||||
* @param itc The item class for the item
|
||||
*
|
||||
* This sets another class of the item, changing the way that it is
|
||||
* displayed. After changing the item class, elm_genlist_item_update() is
|
||||
* called on the item @p it.
|
||||
*
|
||||
* @ingroup Genlist
|
||||
*/
|
||||
EAPI void elm_genlist_item_item_class_update(Elm_Object_Item *it, const Elm_Genlist_Item_Class *itc);
|
||||
|
||||
/**
|
||||
* Get the Genlist Item class for the given Genlist Item.
|
||||
*
|
||||
* @param it The genlist item
|
||||
*
|
||||
* This returns the Genlist_Item_Class for the given item. It can be used to
|
||||
* examine the function pointers and item_style.
|
||||
*
|
||||
* @ingroup Genlist
|
||||
*/
|
||||
EAPI const Elm_Genlist_Item_Class *elm_genlist_item_item_class_get(const Elm_Object_Item *it);
|
||||
|
||||
/**
|
||||
* Get the index of the item. It is only valid once displayed.
|
||||
*
|
||||
* @param it a genlist item
|
||||
* @return the position inside the list of item.
|
||||
*
|
||||
* @ingroup Genlist
|
||||
*/
|
||||
EAPI int elm_genlist_item_index_get(const Elm_Object_Item *it);
|
||||
|
||||
/**
|
||||
|
@ -545,304 +407,41 @@ EAPI void elm_genlist_item_cursor_engine_only_set(Elm_O
|
|||
*/
|
||||
EAPI Eina_Bool elm_genlist_item_cursor_engine_only_get(const Elm_Object_Item *it);
|
||||
|
||||
/**
|
||||
* Get the parent item of the given item
|
||||
*
|
||||
* @param it The item
|
||||
* @return The parent of the item or @c NULL if it has no parent.
|
||||
*
|
||||
* This returns the item that was specified as parent of the item @p it on
|
||||
* elm_genlist_item_append() and insertion related functions.
|
||||
*
|
||||
* @ingroup Genlist
|
||||
*/
|
||||
EAPI Elm_Object_Item *elm_genlist_item_parent_get(const Elm_Object_Item *it);
|
||||
|
||||
/**
|
||||
* Get the number of subitems of a given item
|
||||
*
|
||||
* @param it The item
|
||||
* @return The number of subitems, 0 on error
|
||||
*
|
||||
* This returns the number of subitems that an item possesses.
|
||||
*
|
||||
* @since 1.9
|
||||
* @ingroup Genlist
|
||||
*/
|
||||
EAPI unsigned int elm_genlist_item_subitems_count(const Elm_Object_Item *it);
|
||||
|
||||
/**
|
||||
* Get the list of subitems of a given item
|
||||
*
|
||||
* @param it The item
|
||||
* @return The list of subitems, @c NULL on error
|
||||
*
|
||||
* This returns the list of subitems that an item possesses. It cannot be changed.
|
||||
*
|
||||
* @since 1.9
|
||||
* @ingroup Genlist
|
||||
*/
|
||||
EAPI const Eina_List *elm_genlist_item_subitems_get(const Elm_Object_Item *it);
|
||||
/**
|
||||
* Remove all sub-items (children) of the given item
|
||||
*
|
||||
* @param it The item
|
||||
*
|
||||
* This removes all items that are children (and their descendants) of the
|
||||
* given item @p it.
|
||||
*
|
||||
* @see elm_genlist_clear()
|
||||
* @see elm_object_item_del()
|
||||
*
|
||||
* @ingroup Genlist
|
||||
*/
|
||||
EAPI void elm_genlist_item_subitems_clear(Elm_Object_Item *it);
|
||||
|
||||
/**
|
||||
* Sets the expanded state of an item.
|
||||
*
|
||||
* @param it The item
|
||||
* @param expanded The expanded state (@c EINA_TRUE expanded, @c EINA_FALSE not expanded).
|
||||
*
|
||||
* This function flags the item of type #ELM_GENLIST_ITEM_TREE as
|
||||
* expanded or not.
|
||||
*
|
||||
* The theme will respond to this change visually, and a signal "expanded" or
|
||||
* "contracted" will be sent from the genlist with a pointer to the item that
|
||||
* has been expanded/contracted.
|
||||
*
|
||||
* Calling this function won't show or hide any child of this item (if it is
|
||||
* a parent). You must manually delete and create them on the callbacks of
|
||||
* the "expanded" or "contracted" signals.
|
||||
*
|
||||
* @see elm_genlist_item_expanded_get()
|
||||
*
|
||||
* @ingroup Genlist
|
||||
*/
|
||||
EAPI void elm_genlist_item_expanded_set(Elm_Object_Item *it, Eina_Bool expanded);
|
||||
|
||||
/**
|
||||
* Get the expanded state of an item
|
||||
*
|
||||
* @param it The item
|
||||
* @return The expanded state
|
||||
*
|
||||
* This gets the expanded state of an item.
|
||||
*
|
||||
* @see elm_genlist_item_expanded_set()
|
||||
*
|
||||
* @ingroup Genlist
|
||||
*/
|
||||
EAPI Eina_Bool elm_genlist_item_expanded_get(const Elm_Object_Item *it);
|
||||
|
||||
/**
|
||||
* Get the depth of expanded item
|
||||
*
|
||||
* @param it The genlist item object
|
||||
* @return The depth of expanded item
|
||||
*
|
||||
* @ingroup Genlist
|
||||
*/
|
||||
EAPI int elm_genlist_item_expanded_depth_get(const Elm_Object_Item *it);
|
||||
|
||||
/**
|
||||
* Unset all contents fetched by the item class
|
||||
*
|
||||
* @param it The item
|
||||
* @param l The contents list to return
|
||||
*
|
||||
* This instructs genlist to release references to contents in the item,
|
||||
* meaning that they will no longer be managed by genlist and are
|
||||
* floating "orphans" that can be re-used elsewhere if the user wants
|
||||
* to.
|
||||
*
|
||||
* @ingroup Genlist
|
||||
*/
|
||||
EAPI void elm_genlist_item_all_contents_unset(Elm_Object_Item *it, Eina_List **l);
|
||||
|
||||
/**
|
||||
* Promote an item to the top of the list
|
||||
*
|
||||
* @param it The item
|
||||
*
|
||||
* @ingroup Genlist
|
||||
*/
|
||||
EAPI void elm_genlist_item_promote(Elm_Object_Item *it);
|
||||
|
||||
/**
|
||||
* Demote an item to the end of the list
|
||||
*
|
||||
* @param it The item
|
||||
*
|
||||
* @ingroup Genlist
|
||||
*/
|
||||
EAPI void elm_genlist_item_demote(Elm_Object_Item *it);
|
||||
|
||||
/**
|
||||
* Update the part of an item
|
||||
*
|
||||
* @param it The item
|
||||
* @param parts The name of item's part
|
||||
* @param itf The type of item's part type
|
||||
*
|
||||
* This updates an item's part by calling item's fetching functions again
|
||||
* to get the contents, texts and states. Use this when the original
|
||||
* item data has changed and the changes are desired to be reflected.
|
||||
* Second parts argument is used for globbing to match '*', '?', and '.'
|
||||
* It can be used at updating multi fields.
|
||||
*
|
||||
* Use elm_genlist_realized_items_update() to update an item's all
|
||||
* property.
|
||||
*
|
||||
* @see elm_genlist_item_update()
|
||||
*
|
||||
* @ingroup Genlist
|
||||
*/
|
||||
EAPI void elm_genlist_item_fields_update(Elm_Object_Item *it, const char *parts, Elm_Genlist_Item_Field_Type itf);
|
||||
|
||||
/**
|
||||
* Activate a genlist mode on an item
|
||||
*
|
||||
* @param it The genlist item
|
||||
* @param decorate_it_type Mode name
|
||||
* @param decorate_it_set Boolean to define set or unset mode.
|
||||
|
||||
*
|
||||
* A genlist mode is a different way of selecting an item. Once a mode is
|
||||
* activated on an item, any other selected item is immediately unselected.
|
||||
* This feature provides an easy way of implementing a new kind of animation
|
||||
* for selecting an item, without having to entirely rewrite the item style
|
||||
* theme. However, the elm_genlist_selected_* API can't be used to get what
|
||||
* item is activate for a mode.
|
||||
*
|
||||
* The current item style will still be used, but applying a genlist mode to
|
||||
* an item will select it using a different kind of animation.
|
||||
*
|
||||
* The current active item for a mode can be found by
|
||||
* elm_genlist_decorated_item_get().
|
||||
*
|
||||
* The characteristics of genlist mode are:
|
||||
* - Only one mode can be active at any time, and for only one item.
|
||||
* - Genlist handles deactivating other items when one item is activated.
|
||||
* - A mode is defined in the genlist theme (edc), and more modes can easily
|
||||
* be added.
|
||||
* - A mode style and the genlist item style are different things. They
|
||||
* can be combined to provide a default style to the item, with some kind
|
||||
* of animation for that item when the mode is activated.
|
||||
*
|
||||
* When a mode is activated on an item, a new view for that item is created.
|
||||
* The theme of this mode defines the animation that will be used to transit
|
||||
* the item from the old view to the new view. This second (new) view will be
|
||||
* active for that item while the mode is active on the item, and will be
|
||||
* destroyed after the mode is totally deactivated from that item.
|
||||
*
|
||||
* @see elm_genlist_mode_get()
|
||||
* @see elm_genlist_decorated_item_get()
|
||||
*
|
||||
* @ingroup Genlist
|
||||
*/
|
||||
EAPI void elm_genlist_item_decorate_mode_set(Elm_Object_Item *it, const char *decorate_it_type, Eina_Bool decorate_it_set);
|
||||
|
||||
/**
|
||||
* Get the item's decorate mode.
|
||||
*
|
||||
* @param it The genlist item
|
||||
*
|
||||
* This function just returns the name of the item's decorate mode.
|
||||
*
|
||||
* @see elm_genlist_item_decorate_mode_set()
|
||||
* @see elm_genlist_decorated_item_get()
|
||||
*
|
||||
* @ingroup Genlist
|
||||
*/
|
||||
EAPI const char *elm_genlist_item_decorate_mode_get(const Elm_Object_Item *it);
|
||||
|
||||
/**
|
||||
* Get the Item's Type
|
||||
*
|
||||
* @param it The genlist item
|
||||
* @return The item type.
|
||||
*
|
||||
* This function returns the item's type. Normally the item's type.
|
||||
* If it failed, return value is ELM_GENLIST_ITEM_MAX
|
||||
*
|
||||
* @ingroup Genlist
|
||||
*/
|
||||
EAPI Elm_Genlist_Item_Type elm_genlist_item_type_get(const Elm_Object_Item *it);
|
||||
|
||||
/**
|
||||
* Set the flip state of a given genlist item.
|
||||
*
|
||||
* @param it The genlist item object
|
||||
* @param flip The flip mode
|
||||
* (@c EINA_TRUE = on, @c EINA_FALSE = off)
|
||||
*
|
||||
* This function sets the flip state of a given genlist item.
|
||||
* Flip mode overrides current item object.
|
||||
* It can be used for on-the-fly item replace.
|
||||
* Flip mode can be used with/without decorate mode.
|
||||
*
|
||||
* @see elm_genlist_item_flip_get()
|
||||
*
|
||||
* @ingroup Genlist
|
||||
*/
|
||||
EAPI void elm_genlist_item_flip_set(Elm_Object_Item *it, Eina_Bool flip);
|
||||
|
||||
/**
|
||||
* Get the flip state of a given genlist item.
|
||||
*
|
||||
* @param it The genlist item object
|
||||
*
|
||||
* This function returns the flip state of a given genlist item.
|
||||
* If the parameter is invalid, it returns @c EINA_FALSE.
|
||||
*
|
||||
* @see elm_genlist_item_flip_set()
|
||||
*
|
||||
* @ingroup Genlist
|
||||
*/
|
||||
EAPI Eina_Bool elm_genlist_item_flip_get(const Elm_Object_Item *it);
|
||||
|
||||
/**
|
||||
* Set the genlist item's select mode.
|
||||
*
|
||||
* @param it The genlist item object
|
||||
* @param mode The select mode
|
||||
*
|
||||
* elm_genlist_select_mode_set() changes item's select mode.
|
||||
* - ELM_OBJECT_SELECT_MODE_DEFAULT : The item will only call their selection func and
|
||||
* callback when first becoming selected. Any further clicks will
|
||||
* do nothing, unless you set always select mode.
|
||||
* - ELM_OBJECT_SELECT_MODE_ALWAYS : This means that, even if selected,
|
||||
* every click will make the selected callbacks be called.
|
||||
* - ELM_OBJECT_SELECT_MODE_NONE : This will turn off the ability to select the item
|
||||
* entirely and they will neither appear selected nor call selected
|
||||
* callback functions.
|
||||
* - ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY : This will apply no-finger-size rule
|
||||
* with ELM_OBJECT_SELECT_MODE_NONE. No-finger-size rule makes an item can be
|
||||
* smaller than lower limit. Clickable objects should be bigger than
|
||||
* human touch point device (your finger) for some touch or
|
||||
* small screen devices. So it is enabled, the item can be shrink than
|
||||
* predefined finger-size value. And the item will be updated.
|
||||
*
|
||||
* @see elm_genlist_item_select_mode_get()
|
||||
*
|
||||
* @ingroup Genlist
|
||||
*/
|
||||
EAPI void
|
||||
elm_genlist_item_select_mode_set(Elm_Object_Item *it,
|
||||
Elm_Object_Select_Mode mode);
|
||||
|
||||
/**
|
||||
* Get the genlist item's select mode.
|
||||
*
|
||||
* @param it The genlist item object
|
||||
* @return The select mode
|
||||
* (If getting mode is failed, it returns ELM_OBJECT_SELECT_MODE_MAX)
|
||||
*
|
||||
* @see elm_genlist_item_select_mode_set()
|
||||
*
|
||||
* @ingroup Genlist
|
||||
*/
|
||||
EAPI Elm_Object_Select_Mode
|
||||
elm_genlist_item_select_mode_get(const Elm_Object_Item *it);
|
||||
|
||||
|
|
|
@ -0,0 +1,509 @@
|
|||
class Elm_Genlist_Item(Elm_Widget_Item)
|
||||
{
|
||||
legacy_prefix: null;
|
||||
eo_prefix: elm_obj_genlist_item;
|
||||
data: Elm_Gen_Item;
|
||||
properties {
|
||||
prev {
|
||||
get {
|
||||
/*@
|
||||
Get the @b previous item in a genlist widget's internal list of items,
|
||||
given a handle to one of those items.
|
||||
|
||||
This returns the item placed before the @p item, on the container
|
||||
genlist.
|
||||
|
||||
@see elm_genlist_item_next_get()
|
||||
|
||||
@ingroup Genlist
|
||||
*/
|
||||
}
|
||||
values {
|
||||
Elm_Object_Item *item; /*@ @return The item before @p item, or @c NULL if there's none (and on errors) */
|
||||
}
|
||||
}
|
||||
next {
|
||||
get {
|
||||
/*@
|
||||
Get the @b next item in a genlist widget's internal list of items,
|
||||
given a handle to one of those items.
|
||||
|
||||
This returns the item placed after the @p item, on the container
|
||||
genlist.
|
||||
|
||||
@see elm_genlist_item_prev_get()
|
||||
|
||||
@ingroup Genlist
|
||||
*/
|
||||
}
|
||||
values {
|
||||
Elm_Object_Item *item; /*@ @return The item after @p item, or @c NULL if there's none (and on errors) */
|
||||
}
|
||||
}
|
||||
parent {
|
||||
get {
|
||||
/*@
|
||||
Get the parent item of the given item
|
||||
|
||||
This returns the item that was specified as parent of the item @p it on
|
||||
elm_genlist_item_append() and insertion related functions.
|
||||
|
||||
@ingroup Genlist
|
||||
*/
|
||||
}
|
||||
values {
|
||||
Elm_Object_Item *item; /*@ @return The parent of the item or @c NULL if it has no parent. */
|
||||
}
|
||||
}
|
||||
subitems {
|
||||
get {
|
||||
/*@
|
||||
Get the list of subitems of a given item
|
||||
|
||||
This returns the list of subitems that an item possesses. It cannot be changed.
|
||||
|
||||
@since 1.9
|
||||
@ingroup Genlist
|
||||
*/
|
||||
}
|
||||
values {
|
||||
const (Eina_List) *subitems; /*@ @return The list of subitems, @c NULL on error */
|
||||
}
|
||||
}
|
||||
selected {
|
||||
get {
|
||||
/*@
|
||||
Get whether a given genlist item is selected or not
|
||||
|
||||
@return @c EINA_TRUE, if it's selected, @c EINA_FALSE otherwise
|
||||
|
||||
@see elm_genlist_item_selected_set() for more details
|
||||
|
||||
@ingroup Genlist
|
||||
*/
|
||||
}
|
||||
set {
|
||||
/*@
|
||||
Set whether a given genlist item is selected or not
|
||||
|
||||
Use @c EINA_TRUE, to make it selected, @c EINA_FALSE to make it unselected
|
||||
|
||||
This sets the selected state of an item. If multi selection is
|
||||
not enabled on the containing genlist and @p selected is @c
|
||||
EINA_TRUE, any other previously selected items will get
|
||||
unselected in favor of this new one.
|
||||
|
||||
@see elm_genlist_item_selected_get()
|
||||
|
||||
@ingroup Genlist
|
||||
*/
|
||||
}
|
||||
values {
|
||||
Eina_Bool selected; /*@ the selected state (@c EINA_TRUE selected, @c EINA_FALSE not selected) */
|
||||
}
|
||||
}
|
||||
expanded {
|
||||
get {
|
||||
/*@
|
||||
Get the expanded state of an item
|
||||
|
||||
This gets the expanded state of an item.
|
||||
|
||||
@see elm_genlist_item_expanded_set()
|
||||
|
||||
@ingroup Genlist
|
||||
*/
|
||||
}
|
||||
set {
|
||||
/*@
|
||||
Sets the expanded state of an item.
|
||||
|
||||
This function flags the item of type #ELM_GENLIST_ITEM_TREE as
|
||||
expanded or not.
|
||||
|
||||
The theme will respond to this change visually, and a signal "expanded" or
|
||||
"contracted" will be sent from the genlist with a pointer to the item that
|
||||
has been expanded/contracted.
|
||||
|
||||
Calling this function won't show or hide any child of this item (if it is
|
||||
a parent). You must manually delete and create them on the callbacks of
|
||||
the "expanded" or "contracted" signals.
|
||||
|
||||
@see elm_genlist_item_expanded_get()
|
||||
|
||||
@ingroup Genlist
|
||||
*/
|
||||
}
|
||||
values {
|
||||
Eina_Bool expanded; /*@ The expanded state (@c EINA_TRUE expanded, @c EINA_FALSE not expanded). */
|
||||
}
|
||||
}
|
||||
expanded_depth {
|
||||
get {
|
||||
/*@
|
||||
Get the depth of expanded item
|
||||
|
||||
@ingroup Genlist
|
||||
*/
|
||||
}
|
||||
values {
|
||||
int depth; /*@ @return The depth of expanded item */
|
||||
}
|
||||
}
|
||||
item_class {
|
||||
get {
|
||||
/*@
|
||||
Get the Genlist Item class for the given Genlist Item.
|
||||
|
||||
This returns the Genlist_Item_Class for the given item. It can be used to
|
||||
examine the function pointers and item_style.
|
||||
|
||||
@ingroup Genlist
|
||||
*/
|
||||
}
|
||||
values {
|
||||
const (Elm_Genlist_Item_Class) *itc; /*@ Genlist Item class for the given item */
|
||||
}
|
||||
}
|
||||
index {
|
||||
get {
|
||||
/*@
|
||||
Get the index of the item. It is only valid once displayed.
|
||||
|
||||
@ingroup Genlist
|
||||
*/
|
||||
}
|
||||
values {
|
||||
int index; /*@ @return the position inside the list of item. */
|
||||
}
|
||||
}
|
||||
decorate_mode {
|
||||
get {
|
||||
/*@
|
||||
Get the item's decorate mode.
|
||||
|
||||
This function just returns the name of the item's decorate mode.
|
||||
|
||||
@see elm_genlist_item_decorate_mode_set()
|
||||
@see elm_genlist_decorated_item_get()
|
||||
|
||||
@ingroup Genlist
|
||||
*/
|
||||
}
|
||||
values {
|
||||
const(char)* decorate_it_type; /*@ name of the item's decorate mode. */
|
||||
}
|
||||
}
|
||||
flip {
|
||||
get {
|
||||
/*@
|
||||
Get the flip state of a given genlist item.
|
||||
|
||||
This function returns the flip state of a given genlist item.
|
||||
If the parameter is invalid, it returns @c EINA_FALSE.
|
||||
|
||||
@see elm_genlist_item_flip_set()
|
||||
|
||||
@ingroup Genlist
|
||||
*/
|
||||
}
|
||||
set {
|
||||
/*@
|
||||
Set the flip state of a given genlist item.
|
||||
|
||||
(@c EINA_TRUE = on, @c EINA_FALSE = off)
|
||||
|
||||
This function sets the flip state of a given genlist item.
|
||||
Flip mode overrides current item object.
|
||||
It can be used for on-the-fly item replace.
|
||||
Flip mode can be used with/without decorate mode.
|
||||
|
||||
@see elm_genlist_item_flip_get()
|
||||
|
||||
@ingroup Genlist
|
||||
*/
|
||||
}
|
||||
values {
|
||||
Eina_Bool flip; /*@ The flip mode */
|
||||
}
|
||||
}
|
||||
select_mode {
|
||||
get {
|
||||
/*@
|
||||
Get the genlist item's select mode.
|
||||
|
||||
@return The select mode
|
||||
(If getting mode is failed, it returns ELM_OBJECT_SELECT_MODE_MAX)
|
||||
|
||||
@see elm_genlist_item_select_mode_set()
|
||||
|
||||
@ingroup Genlist
|
||||
*/
|
||||
}
|
||||
set {
|
||||
/*@
|
||||
Set the genlist item's select mode.
|
||||
|
||||
elm_genlist_select_mode_set() changes item's select mode.
|
||||
- ELM_OBJECT_SELECT_MODE_DEFAULT : The item will only call their selection func and
|
||||
callback when first becoming selected. Any further clicks will
|
||||
do nothing, unless you set always select mode.
|
||||
- ELM_OBJECT_SELECT_MODE_ALWAYS : This means that, even if selected,
|
||||
every click will make the selected callbacks be called.
|
||||
- ELM_OBJECT_SELECT_MODE_NONE : This will turn off the ability to select the item
|
||||
entirely and they will neither appear selected nor call selected
|
||||
callback functions.
|
||||
- ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY : This will apply no-finger-size rule
|
||||
with ELM_OBJECT_SELECT_MODE_NONE. No-finger-size rule makes an item can be
|
||||
smaller than lower limit. Clickable objects should be bigger than
|
||||
human touch point device (your finger) for some touch or
|
||||
small screen devices. So it is enabled, the item can be shrink than
|
||||
predefined finger-size value. And the item will be updated.
|
||||
|
||||
@see elm_genlist_item_select_mode_get()
|
||||
|
||||
@ingroup Genlist
|
||||
*/
|
||||
}
|
||||
values {
|
||||
Elm_Object_Select_Mode mode; /*@ The selected mode */
|
||||
}
|
||||
}
|
||||
type {
|
||||
get {
|
||||
/*@
|
||||
Get the Item's Type
|
||||
|
||||
@return The item type.
|
||||
|
||||
This function returns the item's type. Normally the item's type.
|
||||
If it failed, return value is ELM_GENLIST_ITEM_MAX
|
||||
|
||||
@ingroup Genlist
|
||||
*/
|
||||
}
|
||||
values {
|
||||
Elm_Genlist_Item_Type type; /*@ Item tupe */
|
||||
}
|
||||
}
|
||||
}
|
||||
methods {
|
||||
/* init { FIXME
|
||||
params {
|
||||
Evas_Smart_Cb func;
|
||||
const(void)* data;
|
||||
}
|
||||
}*/
|
||||
subitems_count {
|
||||
/*@
|
||||
Get the number of subitems of a given item
|
||||
|
||||
This returns the number of subitems that an item possesses.
|
||||
|
||||
@since 1.9
|
||||
@ingroup Genlist
|
||||
*/
|
||||
return: uint; /*@ The number of subitems, 0 on error */
|
||||
}
|
||||
subitems_clear{
|
||||
/*@
|
||||
Remove all sub-items (children) of the given item
|
||||
|
||||
@param it The item
|
||||
|
||||
This removes all items that are children (and their descendants) of the
|
||||
given item @p it.
|
||||
|
||||
@see elm_genlist_clear()
|
||||
@see elm_object_item_del()
|
||||
|
||||
@ingroup Genlist
|
||||
*/
|
||||
}
|
||||
promote {
|
||||
/*@
|
||||
Promote an item to the top of the list
|
||||
|
||||
@param it The item
|
||||
|
||||
@ingroup Genlist
|
||||
*/
|
||||
}
|
||||
demote {
|
||||
/*@
|
||||
Demote an item to the end of the list
|
||||
|
||||
@param it The item
|
||||
|
||||
@ingroup Genlist
|
||||
*/
|
||||
}
|
||||
show {
|
||||
/*@
|
||||
Show the portion of a genlist's internal list containing a given
|
||||
item, immediately.
|
||||
|
||||
This causes genlist to jump to the given item @p it and show it (by
|
||||
jumping to that position), if it is not fully visible.
|
||||
|
||||
@see elm_genlist_item_bring_in()
|
||||
|
||||
@ingroup Genlist
|
||||
*/
|
||||
params {
|
||||
@in Elm_Genlist_Item_Scrollto_Type type; /*@ The position to bring in, the given item to.
|
||||
@ref Elm_Genlist_Item_Scrollto_Type */
|
||||
}
|
||||
}
|
||||
bring_in {
|
||||
/*@
|
||||
Animatedly bring in, to the visible area of a genlist, a given
|
||||
item on it.
|
||||
|
||||
This causes genlist to jump to the given item @p it and show it (by
|
||||
animatedly scrolling), if it is not fully visible.
|
||||
This may use animation and take a some time to do so.
|
||||
|
||||
@see elm_genlist_item_show()
|
||||
|
||||
@ingroup Genlist
|
||||
*/
|
||||
params {
|
||||
@in Elm_Genlist_Item_Scrollto_Type type; /*@ The position to bring in, the given item to.
|
||||
@ref Elm_Genlist_Item_Scrollto_Type */
|
||||
}
|
||||
}
|
||||
all_contents_unset{
|
||||
/*@
|
||||
Unset all contents fetched by the item class
|
||||
|
||||
This instructs genlist to release references to contents in the item,
|
||||
meaning that they will no longer be managed by genlist and are
|
||||
floating "orphans" that can be re-used elsewhere if the user wants
|
||||
to.
|
||||
|
||||
@ingroup Genlist
|
||||
*/
|
||||
params {
|
||||
@out Eina_List *l; /*@ The contents list to return */
|
||||
}
|
||||
}
|
||||
update {
|
||||
/*@
|
||||
Update all the contents of an item
|
||||
|
||||
This updates an item by calling all the item class functions again
|
||||
to get the contents, texts and states. Use this when the original
|
||||
item data has changed and the changes are desired to be reflected.
|
||||
|
||||
Use elm_genlist_realized_items_update() to update all already realized
|
||||
items.
|
||||
|
||||
@note This also updates internal genlist item object(edje_object as of now).
|
||||
So when this is called between mouse down and mouse up, mouse up event will
|
||||
be ignored because edje_object is deleted and created again by this API. If
|
||||
you want to avoid this, please use @ref elm_genlist_item_fields_update.
|
||||
|
||||
@see elm_genlist_realized_items_update()
|
||||
|
||||
@ingroup Genlist
|
||||
*/
|
||||
}
|
||||
fields_update {
|
||||
/*@
|
||||
Update the part of an item
|
||||
|
||||
This updates an item's part by calling item's fetching functions again
|
||||
to get the contents, texts and states. Use this when the original
|
||||
item data has changed and the changes are desired to be reflected.
|
||||
Second parts argument is used for globbing to match '*', '?', and '.'
|
||||
It can be used at updating multi fields.
|
||||
|
||||
Use elm_genlist_realized_items_update() to update an item's all
|
||||
property.
|
||||
|
||||
@see elm_genlist_item_update()
|
||||
|
||||
@ingroup Genlist
|
||||
*/
|
||||
params {
|
||||
@in const (char) *parts; /*@ The name of item's part */
|
||||
@in Elm_Genlist_Item_Field_Type itf; /*@ The type of item's part type */
|
||||
}
|
||||
}
|
||||
item_class_update {
|
||||
/*@
|
||||
Update the item class of an item
|
||||
|
||||
This sets another class of the item, changing the way that it is
|
||||
displayed. After changing the item class, elm_genlist_item_update() is
|
||||
called on the item @p it.
|
||||
|
||||
@ingroup Genlist
|
||||
*/
|
||||
params {
|
||||
@in const (Elm_Genlist_Item_Class) *itc; /*@ The item class for the item */
|
||||
}
|
||||
}
|
||||
decorate_mode_set {
|
||||
/*@
|
||||
Activate a genlist mode on an item
|
||||
|
||||
A genlist mode is a different way of selecting an item. Once a mode is
|
||||
activated on an item, any other selected item is immediately unselected.
|
||||
This feature provides an easy way of implementing a new kind of animation
|
||||
for selecting an item, without having to entirely rewrite the item style
|
||||
theme. However, the elm_genlist_selected_* API can't be used to get what
|
||||
item is activate for a mode.
|
||||
|
||||
The current item style will still be used, but applying a genlist mode to
|
||||
an item will select it using a different kind of animation.
|
||||
|
||||
The current active item for a mode can be found by
|
||||
elm_genlist_decorated_item_get().
|
||||
|
||||
The characteristics of genlist mode are:
|
||||
- Only one mode can be active at any time, and for only one item.
|
||||
- Genlist handles deactivating other items when one item is activated.
|
||||
- A mode is defined in the genlist theme (edc), and more modes can easily
|
||||
be added.
|
||||
- A mode style and the genlist item style are different things. They
|
||||
can be combined to provide a default style to the item, with some kind
|
||||
of animation for that item when the mode is activated.
|
||||
|
||||
When a mode is activated on an item, a new view for that item is created.
|
||||
The theme of this mode defines the animation that will be used to transit
|
||||
the item from the old view to the new view. This second (new) view will be
|
||||
active for that item while the mode is active on the item, and will be
|
||||
destroyed after the mode is totally deactivated from that item.
|
||||
|
||||
@see elm_genlist_mode_get()
|
||||
@see elm_genlist_decorated_item_get()
|
||||
|
||||
@ingroup Genlist
|
||||
*/
|
||||
params {
|
||||
@in const(char)* decorate_it_type; /*@ Mode name */
|
||||
@in Eina_Bool decorate_it_set; /*@ Boolean to define set or unset mode. */
|
||||
}
|
||||
}
|
||||
}
|
||||
implements {
|
||||
Eo.Base.constructor;
|
||||
Elm_Widget_Item.del_pre;
|
||||
Elm_Widget_Item.disable;
|
||||
Elm_Widget_Item.signal_emit;
|
||||
Elm_Widget_Item.focus.set;
|
||||
Elm_Widget_Item.focus.get;
|
||||
Elm_Widget_Item.part_text.get;
|
||||
Elm_Widget_Item.part_content.get;
|
||||
Elm_Widget_Item.tooltip_text_set;
|
||||
Elm_Widget_Item.tooltip_style.set;
|
||||
Elm_Widget_Item.tooltip_window_mode.set;
|
||||
Elm_Widget_Item.tooltip_content_cb_set;
|
||||
Elm_Widget_Item.tooltip_unset;
|
||||
Elm_Widget_Item.cursor.set;
|
||||
Elm_Widget_Item.cursor_unset;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,6 +1,8 @@
|
|||
#ifndef ELM_WIDGET_GENLIST_H
|
||||
#define ELM_WIDGET_GENLIST_H
|
||||
|
||||
#define OBJECT_ITEMS_MIGRATION
|
||||
|
||||
#include "elm_gen_common.h"
|
||||
#include "Elementary.h"
|
||||
|
||||
|
@ -10,6 +12,7 @@
|
|||
* IT AT RUNTIME.
|
||||
*/
|
||||
|
||||
#include "elm_object_item_migration_temp.h"
|
||||
/**
|
||||
* @addtogroup Widget
|
||||
* @{
|
||||
|
@ -324,16 +327,19 @@ struct _Elm_Genlist_Pan_Data
|
|||
return
|
||||
|
||||
#define ELM_GENLIST_ITEM_CHECK(it) \
|
||||
ELM_WIDGET_ITEM_CHECK_OR_RETURN((Elm_Widget_Item_Data *)it, ); \
|
||||
ELM_GENLIST_CHECK(it->base.widget);
|
||||
ELM_WIDGET_ITEM_CHECK_OR_RETURN(it->base, ); \
|
||||
ELM_GENLIST_CHECK(it->base->widget);
|
||||
|
||||
#define ELM_GENLIST_ITEM_CHECK_OR_RETURN(it, ...) \
|
||||
ELM_WIDGET_ITEM_CHECK_OR_RETURN((Elm_Widget_Item_Data *)it, __VA_ARGS__); \
|
||||
ELM_GENLIST_CHECK(it->base.widget) __VA_ARGS__;
|
||||
ELM_WIDGET_ITEM_CHECK_OR_RETURN(it->base, __VA_ARGS__); \
|
||||
ELM_GENLIST_CHECK(it->base->widget) __VA_ARGS__;
|
||||
|
||||
#define ELM_GENLIST_ITEM_CHECK_OR_GOTO(it, label) \
|
||||
ELM_WIDGET_ITEM_CHECK_OR_GOTO((Elm_Widget_Item_Data *)it, label); \
|
||||
if (!it->base.widget || !eo_isa \
|
||||
((it->base.widget), ELM_GENLIST_CLASS)) goto label;
|
||||
ELM_WIDGET_ITEM_CHECK_OR_GOTO(it->base, label); \
|
||||
if (!it->base->widget || !eo_isa \
|
||||
((it->base->widget), ELM_GENLIST_CLASS)) goto label;
|
||||
|
||||
#define ELM_GENLIST_ITEM_DATA_GET(o, sd) \
|
||||
Elm_Gen_Item* sd = eo_data_scope_get((Eo *)o, ELM_GENLIST_ITEM_CLASS)
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue