* NULL if you don't care. Currently
* it's used only in genlist. */
Elm_Gen_Item_Class_Functions func; /**< Set of callbacks */
+// TIZEN ONLY(20160630): Support homogeneous mode in item class.
+ Eina_Bool homogeneous : 1;
+//
} Elm_Gen_Item_Class;
/** See @ref Elm_Gen_Item_Class. */
static const char SIGNAL_GROUP_FIRST[] = "elm,state,group,first";
static const char SIGNAL_GROUP_LAST[] = "elm,state,group,last";
static const char SIGNAL_GROUP_MIDDLE[] = "elm,state,group,middle";
+//Tizen Only(20160307)
+static const char SIGNAL_DEFAULT[] = "elm,state,default";
static void _item_unrealize(Elm_Gen_Item *it);
static Eina_Bool _item_select(Elm_Gen_Item *it);
if (h) *h = psd->wsd->minh;
}
+//Tizen Only(20170113)
+EOLIAN static void
+_elm_genlist_pan_elm_pan_pos_adjust(Eo *obj EINA_UNUSED, Elm_Genlist_Pan_Data *psd EINA_UNUSED, Evas_Coord *x EINA_UNUSED, Evas_Coord *y EINA_UNUSED)
+{
+ return;
+}
+//
+
EOLIAN static void
_elm_genlist_pan_efl_canvas_group_group_del(Eo *obj, Elm_Genlist_Pan_Data *psd)
{
old = efl_gfx_size_get(obj);
if ((old.w == size.w) && (old.h == size.h)) goto super; // should already be intercepted above
- if ((sd->mode == ELM_LIST_COMPRESS) && (old.w != size.w))
+ //TIZEN ONLY(20170512): list scroll should be expanded at least as much as genlist width size.
+ if ((sd->mode == ELM_LIST_COMPRESS || sd->mode == ELM_LIST_SCROLL) && (old.w != size.w))
{
/* fix me later */
ecore_job_del(psd->resize_job);
else
{
edje_object_part_text_set(target, key, "");
+ //TIZEN_ONLY(20180104): call hidden signal when it is not visible
+ snprintf(buf, sizeof(buf), "elm,state,%s,hidden", key);
+ edje_object_signal_emit(target, buf, "elm");
}
if (_elm_atspi_enabled())
efl_access_name_changed_signal_emit(EO_OBJ(it));
if (it->itc->func.content_get)
content = it->itc->func.content_get
((void *)WIDGET_ITEM_DATA_GET(EO_OBJ(it)), WIDGET(it), key);
- if (!content) goto out;
- }
+ if (!content)
+ {
+ //TIZEN_ONLY(20180104): call hidden signal when it is not visible
+ snprintf(buf, sizeof(buf), "elm,state,%s,hidden", key);
+ edje_object_signal_emit(target, buf, "elm");
+ goto out;
+ }
+ }
if (content != old)
{
eina_hash_add(sd->content_item_map, &content, it->base->eo_obj);
/**
* Apply the right style for the created item view.
*/
-static void
-_view_style_update(Elm_Gen_Item *it, Evas_Object *view, const char *style)
+// TIZEN_ONLY(20150622): update genlist style set
+static Eina_Bool
+_view_style_find(Elm_Gen_Item *it, Evas_Object *view, const char *style)
{
char buf[1024];
- const char *stacking_even;
- const char *stacking;
+ char buf2[1024];
ELM_GENLIST_DATA_GET_FROM_ITEM(it, sd);
// FIXME: There exists
sd->mode == ELM_LIST_COMPRESS ? "_compress" :
"",style ? : "default");
}
-
Efl_Ui_Theme_Apply th_ret =
elm_widget_theme_object_set(WIDGET(it), view, "genlist", buf,
elm_widget_style_get(WIDGET(it)));
if (th_ret == EFL_UI_THEME_APPLY_FAILED)
{
+ //TIZEN_ONLY: Fallback to deafult style when first style set failed.
+ snprintf(buf2, sizeof(buf2), "item/%s", style ? : "default");
+ ERR("%s is not a valid genlist item style. fallback to %s", buf, buf2);
+ if (!strcmp(buf, buf2)) return EINA_FALSE;
+ th_ret = elm_widget_theme_object_set(WIDGET(it), view, "genlist", buf2,
+ elm_widget_style_get(WIDGET(it)));
+ if (th_ret == EFL_UI_THEME_APPLY_FAILED) return EINA_FALSE;
+ }
+
+ return EINA_TRUE;
+}
+//
+
+static void
+_view_style_update(Elm_Gen_Item *it, Evas_Object *view, const char *style)
+{
+ const char *stacking_even;
+ const char *stacking;
+
+ // TIZEN_ONLY(20150622): update genlist style set
+ if (!_view_style_find(it, view, style))
+ //
+ {
ERR("%s is not a valid genlist item style. "
"Automatically falls back into default style.",
style);
itb->show_me = EINA_FALSE;
if (chb)
{
- if (itb->realized) _item_block_unrealize(itb);
+ // TIZEN_ONLY(20170106): Fix focus flicking issue when item is prepended
+ if (itb->realized) _item_block_recalc(itb, in, EINA_FALSE);
}
if ((itb->changed) || ((itb->must_recalc) && (!did_must_recalc)))
{
itb->w = itb->minw;
}
}
+
+ // TIZEN_ONLY(20170106): Fix focus flicking issue when item is prepended
+ /*
if ((chb) && (EINA_INLIST_GET(chb)->next))
{
EINA_INLIST_FOREACH(EINA_INLIST_GET(chb)->next, itb)
if (itb->realized) _item_block_unrealize(itb);
}
}
+ */
sd->realminw = minw;
if (minw < sd->w) minw = sd->w;
if ((minw != sd->minw) || (minh != sd->minh))
evas_object_size_hint_max_get(obj, &maxw, &maxh);
edje_object_size_min_calc(wd->resize_obj, &vmw, &vmh);
-
- if (sd->mode == ELM_LIST_COMPRESS)
+ //TIZEN ONLY(20170512): list scroll should be expanded at least as much as genlist width size.
+ if (sd->mode == ELM_LIST_COMPRESS || sd->mode == ELM_LIST_SCROLL)
{
Evas_Coord vw = 0, vh = 0;
(elm_widget_focus_highlight_enabled_get(obj) || _elm_config->win_auto_focus_enable))
edje_object_signal_emit(itc->base_view, SIGNAL_UNFOCUSED, "elm");
+ //Tizen Only(20160307)
+ edje_object_signal_emit(itc->base_view, SIGNAL_DEFAULT, "elm");
+
ELM_SAFE_FREE(it->long_timer, ecore_timer_del);
ELM_SAFE_FREE(it->item->swipe_timer, ecore_timer_del);
size = eina_hash_find(sd->size_caches, &(it->itc));
/* homogeneous genlist shortcut */
- if ((calc) && (sd->homogeneous) && (!it->item->mincalcd) && size)
+ // TIZEN ONLY(20160630): Support homogeneous mode in item class.
+ if ((calc) && (sd->homogeneous || it->itc->homogeneous) && (!it->item->mincalcd) && size)
{
it->item->w = it->item->minw = size->minw;
it->item->h = it->item->minh = size->minh;
if (!it->item->mincalcd)
{
- if (sd->homogeneous && size)
+ // TIZEN ONLY(20160630): Support homogeneous mode in item class.
+ if ((sd->homogeneous || it->itc->homogeneous) && size)
{
it->item->w = it->item->minw = size->minw;
it->item->h = it->item->minh = size->minh;
// Process signal for proper size calc with text and content visible.
edje_object_message_signal_process(VIEW(it));
edje_object_size_min_restricted_calc(VIEW(it), &mw, &mh, mw, mh);
+ // TIZEN_ONLY(20170512): list scroll should be expanded at least as much as genlist width size.
+ if (sd->mode == ELM_LIST_COMPRESS ||
+ (sd->mode == ELM_LIST_SCROLL && mw < sd->prev_viewport_w))
+ mw = sd->prev_viewport_w;
+ //
it->item->w = it->item->minw = mw;
it->item->h = it->item->minh = mh;
it->item->mincalcd = EINA_TRUE;
- if (sd->homogeneous)
+ // TIZEN ONLY(20160630): Support homogeneous mode in item class.
+ if (sd->homogeneous || it->itc->homogeneous)
{
if (size)
eina_hash_del_by_key(sd->size_caches, &(it->itc));
(sd->move_effect_mode == ELM_GENLIST_TREE_EFFECT_NONE))
_item_auto_scroll(sd);
+ // TIZEN_ONLY(20160907)
+ // FIXME: There are issue about wrong list positioning in prepend cases.
+ // To prevent the issue, allocate repositioning in group calculate.
+ if (sd->prepend_items)
+ {
+ Evas_Coord prepend_h = 0;
+ Elm_Gen_Item *tmp = NULL;
+ EINA_LIST_FREE(sd->prepend_items, tmp)
+ {
+ prepend_h += tmp->item->minh;
+ }
+
+ elm_interface_scrollable_content_pos_get((sd)->obj, &vx, &vy);
+ elm_interface_scrollable_content_viewport_geometry_get((sd)->obj, NULL, NULL, &vw, &vh);
+ /* Set adjusted position as prepended items height */
+ elm_interface_scrollable_content_region_show((sd)->obj, vx, vy + prepend_h, vw, vh);
+ }
+
elm_interface_scrollable_content_pos_get((sd)->obj, &vx, &vy);
elm_interface_scrollable_content_viewport_geometry_get
((sd)->obj, NULL, NULL, &vw, &vh);
(elm_wdg_item_disabled_get(eo_it)))
return;
- if (it != sd->pin_item)
+ //TIZEN_ONLY(20161209): Do not autoscroll if scroll to item is exist
+ if (it != sd->pin_item && (!sd->show_item))
{
switch (_elm_config->focus_autoscroll_mode)
{
break;
}
}
+ //
sd->focused_item = eo_it;
*/
if (sd->selected && it->item->before && !it->hide)
{
+ //TIZEN_ONLY(20160907)
+ //FIXME: There are issue about wrong list positioning in prepend cases.
+ // To prevent the issue, allocate repositioning in smart calculate.
+#if 0
int y = 0, h;
Elm_Object_Item *eo_it2;
else
elm_interface_scrollable_content_region_show
(sd->obj, it->x + it->item->block->x, y + it->item->h, it->item->block->w, h);
+
+#endif
+ sd->prepend_items = eina_list_append(sd->prepend_items, it);
}
}
ELM_SAFE_FREE(sd->queue_idle_enterer, ecore_idle_enterer_del);
_queue_process(sd);
}
+ // TIZEN ONLY(20160630): Support homogeneous mode in item class.
while ((sd->queue) && (sd->blocks) &&
- (sd->homogeneous) && (sd->mode == ELM_LIST_COMPRESS))
+ ((sd->homogeneous) || it->itc->homogeneous) && (sd->mode == ELM_LIST_COMPRESS))
{
ELM_SAFE_FREE(sd->queue_idle_enterer, ecore_idle_enterer_del);
_queue_process(sd);
}
if (!itb->realized)
{
- if (itb->sd->homogeneous &&
+ // TIZEN ONLY(20160630): Support homogeneous mode in item class.
+ if ((itb->sd->homogeneous || it->itc->homogeneous) &&
((!size) || it->itc != size->itc))
size = eina_hash_find(itb->sd->size_caches, &(it->itc));
- if (qadd || (itb->sd->homogeneous && !size))
+ // TIZEN ONLY(20160630): Support homogeneous mode in item class.
+ if (qadd || ((itb->sd->homogeneous || it->itc->homogeneous) && !size))
{
if (!it->item->mincalcd) changed = EINA_TRUE;
if (changed)
}
else
{
- if ((itb->sd->homogeneous) && size &&
+ // TIZEN ONLY(20160630): Support homogeneous mode in item class.
+ if ((itb->sd->homogeneous || it->itc->homogeneous) && size &&
(it->item->expanded_depth == size->expanded_depth) &&
(itb->sd->mode == ELM_LIST_COMPRESS))
{
Elm_Object_Item *eo_it = elm_genlist_last_item_get(genlist);
- elm_genlist_item_show(eo_it, ELM_GENLIST_ITEM_SCROLLTO_IN);
+ // TIZEN_ONLY(20150629): add checking item bring in enable on item looping
+ switch (_elm_config->focus_autoscroll_mode)
+ {
+ case ELM_FOCUS_AUTOSCROLL_MODE_SHOW:
+ elm_genlist_item_show(eo_it, ELM_GENLIST_ITEM_SCROLLTO_IN);
+ break;
+ case ELM_FOCUS_AUTOSCROLL_MODE_BRING_IN:
+ elm_genlist_item_bring_in(eo_it, ELM_GENLIST_ITEM_SCROLLTO_IN);
+ break;
+ default:
+ break;
+ }
+ //
elm_layout_signal_emit(genlist, "elm,action,looping,up,end", "elm");
sd->item_looping_on = EINA_FALSE;
Elm_Object_Item *eo_it = elm_genlist_first_item_get(genlist);
- elm_genlist_item_show(eo_it, ELM_GENLIST_ITEM_SCROLLTO_IN);
+ // TIZEN_ONLY(20150629): add checking item bring in enable on item looping
+ switch (_elm_config->focus_autoscroll_mode)
+ {
+ case ELM_FOCUS_AUTOSCROLL_MODE_SHOW:
+ elm_genlist_item_show(eo_it, ELM_GENLIST_ITEM_SCROLLTO_IN);
+ break;
+ case ELM_FOCUS_AUTOSCROLL_MODE_BRING_IN:
+ elm_genlist_item_bring_in(eo_it, ELM_GENLIST_ITEM_SCROLLTO_IN);
+ break;
+ default:
+ break;
+ }
+ //
elm_layout_signal_emit(genlist, "elm,action,looping,down,end", "elm");
sd->item_looping_on = EINA_FALSE;
return EINA_FALSE;
}
- //Can't goto the item right now. Reserve it instead.
- if (sd->queue || !(sd->homogeneous && (sd->mode == ELM_LIST_COMPRESS)))
+ // TIZEN ONLY(20160630): Support homogeneous mode in item class.
+ if ((sd->queue) || (it->item->block->w < 1) ||
+ (!((sd->homogeneous || it->itc->homogeneous) &&
+ (sd->mode == ELM_LIST_COMPRESS))))
{
if ((it->item->queued) || (!it->item->mincalcd) || (sd->queue))
deferred_show = EINA_TRUE;
sd->update_job = ecore_job_add(_update_job, sd->obj);
// reset homogeneous item size
- if (sd->homogeneous)
+ // TIZEN ONLY(20160630): Support homogeneous mode in item class.
+ if (sd->homogeneous || it->itc->homogeneous)
{
Item_Size *size =
eina_hash_find(sd->size_caches, &(it->itc));
items' callbacks are called only when the item is needed.
Note: This also works well with group index.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
]]
}
get {
- [[Get whether the homogeneous mode is enabled.]]
+ [[Get whether the homogeneous mode is enabled.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
+ ]]
}
values {
homogeneous: bool; [[Assume the items within the genlist are of
be called. #ELM_OBJECT_SELECT_MODE_NONE will turn off the
ability to select items entirely and they will neither appear
selected nor call selected callback functions.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
]]
}
get {
- [[Get the genlist select mode.]]
+ [[Get the genlist select mode.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
+ ]]
}
values {
mode: Elm.Object.Select_Mode(Elm.Object.Select_Mode.max); [[The select mode.]]
Warning: If you set the longpress timeout value with this API,
your genlist will not be affected by the longpress value of
elementary config value later.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
]]
}
get {
- [[Get the timeout in seconds for the longpress event.]]
+ [[Get the timeout in seconds for the longpress event.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
+ ]]
}
values {
timeout: double; [[Timeout in seconds. Default is elm config value (1.0).]]
This enables ($true) or disables ($false) multi-selection in
the list. This allows more than 1 item to be selected. To
retrieve the list of selected items, use @.selected_items.get.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
]]
}
get {
- [[Get if multi-selection in genlist is enabled or disabled.]]
+ [[Get if multi-selection in genlist is enabled or disabled.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
+ ]]
}
values {
multi: bool; [[Multi-select enable/disable. Default is disabled.]]
After turning on the reorder mode, longpress on normal item
will trigger reordering of the item. You can move the item
up and down. However, reorder does not work with group item.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
]]
}
get {
- [[Get the reorder mode.]]
+ [[Get the reorder mode.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
+ ]]
}
values {
reorder_mode: bool; [[The reorder mode.]]
lists, so unless you know you will have a lot of objects
visible in the screen at the same time, don't try to
change this.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
]]
}
get {
- [[Get the maximum number of items within an item block.]]
+ [[Get the maximum number of items within an item block.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
+ ]]
}
values {
count: int; [[Maximum number of items within an item block. Default is 32.]]
called.
Highlight is enabled by default.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
]]
}
get {
[[Get whether the genlist items' should be highlighted when
item selected.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
]]
}
values {
in genlist which can be on the flying resizable (such as
TEXTBLOCK). If then, some dynamic esizable objects in
genlist would not diplayed properly.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
]]
}
get {
- [[Get the horizontal stretching mode.]]
+ [[Get the horizontal stretching mode.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
+ ]]
}
values {
mode: Elm.List.Mode(Elm.List.Mode.last); [[The mode to use (one of @Elm.List.Mode.scroll or @Elm.List.Mode.limit).]]
@.selected_items.get for when multi-selection is used).
If no item is selected, $null is returned.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
]]
return: Elm.Widget.Item; [[The selected item, or $null if none is selected.]]
}
If filter is set on genlist, it returns
the first filtered item in the list.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
]]
return: Elm.Widget.Item; [[The first item or $null.]]
}
freed by the caller when done with \@ref eina_list_free. The
item pointers in the list are only valid so long as those
items are not deleted or the genlist is not deleted.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
]]
return: list<ptr(Elm_Gen_Item)> @owned @warn_unused; [[List of realized items]]
}
Note: If not in multi-select mode, consider using function
@.selected_item.get instead.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
]]
return: const(list<Elm.Widget.Item>); [[List of selected items]]
}
If filter is set to genlist, it returns
last filtered item in the list.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
]]
return: Elm.Widget.Item; [[Last item in list]]
}
This inserts an item before another in the list. It will be in
the same tree level or group as the item it is inserted before.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
]]
return: Elm.Widget.Item; [[Handle to inserted item]]
params {
desired to be reflected.
To update just one item, use \@ref elm_genlist_item_update.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
]]
}
item_insert_after {
This inserts an item after another in the list. It will be in the
same tree level or group as the item it is inserted after.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
]]
return: Elm.Widget.Item; [[Handle to inserted item]]
params {
as an item (no item found there), then posret may indicate -1 or
1 based if the coordinate is above or below all items
respectively in the genlist.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
]]
return: Elm.Widget.Item; [[Item at position]]
params {
This behavior is O(1) and includes items which may or may not
be realized.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
]]
return: uint; [[Item in list]]
}
This adds an item to the beginning of the list or beginning of
the children of the parent if given.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
]]
return: Elm.Widget.Item; [[Handle to prepended item]]
params {
[[Remove all items from a given genlist widget.
This removes (and deletes) all items in $obj, leaving it empty.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
]]
}
item_append {
This adds the given item to the end of the list or the end of
the children list if the $parent is given.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
]]
return: Elm.Widget.Item; [[Handle to appended item]]
params {
This inserts an item in the genlist based on user defined
comparison function. The two arguments passed to the function
$func are genlist item handles to compare.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
]]
return: Elm.Widget.Item; [[Handle to inserted item]]
params {
If filter is set on genlist, this returns the filtered
item placed before $item in the list.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
]]
}
values {
If a item has subitems, and it have expand all subitems
will be ignore, and will get the next item in the same
level.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
]]
}
values {
This returns the item that was specified as parent
of the item $it on \@ref elm_genlist_item_append
and insertion related functions.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
]]
}
values {
}
@property selected {
get {
- [[Get whether a given genlist item is selected or not.]]
+ [[Get whether a given genlist item is selected or not.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
+ ]]
}
set {
[[Set whether a given genlist item is selected or not
selection is not enabled on the containing genlist
and $selected is $true, any other previously selected
items will get unselected in favor of this new one.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
]]
}
values {
[[Get the expanded state of an item
This gets the expanded state of an item.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
]]
}
set {
of this item (if it is a parent). You must manually
delete and create them on the callbacks of
the "expanded" or "contracted" signals.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
]]
}
values {
}
@property expanded_depth {
get {
- [[Get the depth of expanded item.]]
+ [[Get the depth of expanded item.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
+ ]]
}
values {
depth: int; [[The depth of expanded item.]]
This returns the Genlist_Item_Class for the given item.
It can be used to examine the function pointers and
item_style.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
]]
}
values {
[[Get the index of the item. It is only valid once displayed.
The index start from 1.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
]]
}
values {
[[Get the genlist item's select mode.
It's ELM_OBJECT_SELECT_MODE_MAX on failure.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
]]
}
set {
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.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
]]
}
values {
This function returns the item's type. Normally the
item's type. If it failed, return value is
ELM_GENLIST_ITEM_MAX.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
]]
}
values {
This removes all items that are children (and their
descendants) of the given item $it.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
]]
}
promote {
- [[Promote an item to the top of the list.]]
+ [[Promote an item to the top of the list.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
+ ]]
}
demote {
- [[Demote an item to the end of the list.]]
+ [[Demote an item to the end of the list.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
+ ]]
}
show {
[[Show the portion of a genlist's internal list containing
This causes genlist to jump to the given item $it and
show it (by jumping to that position), if it is not
fully visible.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
]]
params {
@in type: Elm.Genlist.Item.Scrollto_Type; [[The position to bring in, the given item to.
show it (by animatedly scrolling), if it is not fully
visible. This may use animation and take a some time
to do so.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
]]
params {
@in type: Elm.Genlist.Item.Scrollto_Type; [[The position to bring in, the given item to.
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.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
]]
params {
@out l: list<Efl.Canvas.Object> @owned; [[The contents list to return.]]
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.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
]]
}
fields_update {
Use \@ref elm_genlist_realized_items_update to update an
item's all property.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
]]
params {
@in parts: string; [[The name of item's part.]]
This sets another class of the item, changing the way
that it is displayed. After changing the item class
@.update is called on the item $it.
+
+ \@if MOBILE \@since_tizen 2.3
+ \@elseif WEARABLE \@since_tizen 2.3.1
+ \@endif
]]
params {
@cref itc: Elm.Genlist.Item.Class; [[The item class for the item.]]
Eina_Bool tree_effect_animator : 1;
Eina_Bool pin_item_top : 1;
+ //Tizen Only
+ Eina_List *prepend_items;
};
typedef struct _Item_Block Item_Block;