{
ELM_INDEX_ITEM_DATA_GET(eo_item, it);
if (it->level != level) continue;
- ELM_SAFE_FREE(VIEW(it), evas_object_del);
+ evas_object_box_remove(sd->bx[level], VIEW(it));
+ evas_object_hide(VIEW(it));
}
sd->level_active[level] = EINA_FALSE;
continue;
}
- o = edje_object_add(evas_object_evas_get(obj));
- VIEW(it) = o;
edje_object_mirrored_set(VIEW(it), rtl);
+ o = VIEW(it);
if (sd->horizontal)
{
{
obj = eo_do_super_ret(obj, ELM_INDEX_ITEM_CLASS, obj, eo_constructor());
it->base = eo_data_scope_get(obj, ELM_WIDGET_ITEM_CLASS);
- //TIZEN_ONLY(20150716) : improve atspi support
eo_do(obj, elm_interface_atspi_accessible_role_set(ELM_ATSPI_ROLE_PUSH_BUTTON));
- ///
+
return obj;
}
it_last = it;
it->selected = EINA_FALSE;
}
- if (VIEW(it))
+ if (evas_object_visible_get(VIEW(it)))
{
evas_object_geometry_get(VIEW(it), &x, &y, &w, &h);
xx = x + (w / 2);
EOLIAN static Elm_Object_Item*
_elm_index_item_append(Eo *obj, Elm_Index_Data *sd, const char *letter, Evas_Smart_Cb func, const void *data)
{
- Elm_Object_Item *it;
+ Elm_Object_Item *eo_item;
+
+ eo_item = _item_new(obj, letter, func, data);
+ if (!eo_item) return NULL;
- it = _item_new(obj, letter, func, data);
- if (!it) return NULL;
+ sd->items = eina_list_append(sd->items, eo_item);
- sd->items = eina_list_append(sd->items, it);
- _index_box_clear(obj, sd->level);
+ ELM_INDEX_ITEM_DATA_GET(eo_item, it);
+ VIEW(it) = edje_object_add(evas_object_evas_get(obj));
- return it;
+ if (_elm_config->atspi_mode)
+ {
+ elm_interface_atspi_accessible_added(eo_item);
+ elm_interface_atspi_accessible_children_changed_added_signal_emit(obj, eo_item);
+ }
+
+ return eo_item;
}
EOLIAN static Elm_Object_Item*
_elm_index_item_prepend(Eo *obj, Elm_Index_Data *sd, const char *letter, Evas_Smart_Cb func, const void *data)
{
- Elm_Object_Item *it;
+ Elm_Object_Item *eo_item;
- it = _item_new(obj, letter, func, data);
- if (!it) return NULL;
+ eo_item = _item_new(obj, letter, func, data);
+ if (!eo_item) return NULL;
- sd->items = eina_list_prepend(sd->items, it);
- _index_box_clear(obj, sd->level);
+ sd->items = eina_list_prepend(sd->items, eo_item);
+
+ ELM_INDEX_ITEM_DATA_GET(eo_item, it);
+ VIEW(it) = edje_object_add(evas_object_evas_get(obj));
- return it;
+ return eo_item;
}
EINA_DEPRECATED EAPI Elm_Object_Item *
EOLIAN static Elm_Object_Item*
_elm_index_item_insert_after(Eo *obj, Elm_Index_Data *sd, Elm_Object_Item *after, const char *letter, Evas_Smart_Cb func, const void *data)
{
- Elm_Object_Item *it;
+ Elm_Object_Item *eo_item;
if (!after) return elm_index_item_append(obj, letter, func, data);
- it = _item_new(obj, letter, func, data);
- if (!it) return NULL;
+ eo_item = _item_new(obj, letter, func, data);
+ if (!eo_item) return NULL;
- sd->items = eina_list_append_relative(sd->items, it, after);
- _index_box_clear(obj, sd->level);
+ sd->items = eina_list_append_relative(sd->items, eo_item, after);
- return it;
+ ELM_INDEX_ITEM_DATA_GET(eo_item, it);
+ VIEW(it) = edje_object_add(evas_object_evas_get(obj));
+
+ return eo_item;
}
EOLIAN static Elm_Object_Item*
_elm_index_item_insert_before(Eo *obj, Elm_Index_Data *sd, Elm_Object_Item *before, const char *letter, Evas_Smart_Cb func, const void *data)
{
- Elm_Object_Item *it;
+ Elm_Object_Item *eo_item;
if (!before) return elm_index_item_prepend(obj, letter, func, data);
- it = _item_new(obj, letter, func, data);
- if (!it) return NULL;
+ eo_item = _item_new(obj, letter, func, data);
+ if (!eo_item) return NULL;
+
+ sd->items = eina_list_prepend_relative(sd->items, eo_item, before);
- sd->items = eina_list_prepend_relative(sd->items, it, before);
- _index_box_clear(obj, sd->level);
+ ELM_INDEX_ITEM_DATA_GET(eo_item, it);
+ VIEW(it) = edje_object_add(evas_object_evas_get(obj));
- return it;
+ return eo_item;
}
EOLIAN static Elm_Object_Item*
eo_item = NULL;
}
}
- _index_box_clear(obj, sd->level);
+ ELM_INDEX_ITEM_DATA_GET(eo_item, it);
+ VIEW(it) = edje_object_add(evas_object_evas_get(obj));
if (!eo_item) return NULL;
else return eo_item;
evas_smart_legacy_type_register(MY_CLASS_NAME_LEGACY, klass);
}
-//TIZEN_ONLY(20150716) : improve atspi support
static Eina_Bool
_item_action_activate(Eo *obj, const char *params EINA_UNUSED EINA_UNUSED)
{
elm_index_item_selected_set(obj, EINA_TRUE);
- return EINA_FALSE;
+ return EINA_TRUE;
}
EOLIAN static Eina_List*
};
return &atspi_actions[0];
}
-///
#include "elm_index_item.eo.c"
#include "elm_index.eo.c"