}
static void
+_genlist_aligned_item_cb(void *data,
+ Evas_Object *obj EINA_UNUSED,
+ void *event_info)
+{
+ ELM_SPINNER_DATA_GET(data, sd);
+
+ if (event_info)
+ {
+ sd->aligned_item = (Elm_Object_Item *)event_info;
+
+ _genlist_item_value_apply(data);
+ }
+}
+
+static void
_genlist_value_apply(Evas_Object *obj)
{
ELM_SPINNER_DATA_GET(obj, sd);
eo_do(sd->genlist, eo_event_callback_del
(ELM_WIDGET_EVENT_UNFOCUSED, _genlist_unfocused_cb, obj));
+ evas_object_smart_callback_del(sd->genlist, "aligned,item", _genlist_aligned_item_cb);
evas_object_smart_callback_del(sd->genlist, "realized", _genlist_realized_cb);
evas_object_smart_callback_del(sd->genlist, "scroll,anim,start", _genlist_scroll_anim_start_cb);
evas_object_smart_callback_del(sd->genlist, "scroll,anim,stop", _genlist_scroll_anim_stop_cb);
sd->scrolling = EINA_FALSE;
evas_object_smart_callback_add
+ (sd->genlist, "aligned,item", _genlist_aligned_item_cb, obj);
+ evas_object_smart_callback_add
(sd->genlist, "scroll,anim,start", _genlist_scroll_anim_start_cb, sd);
evas_object_smart_callback_add
(sd->genlist, "scroll,anim,stop", _genlist_scroll_anim_stop_cb, sd);
EOLIAN static double
_elm_spinner_value_get(Eo *obj EINA_UNUSED, Elm_Spinner_Data *sd)
{
- //TIZEN_ONLY(20191226): List Spinner feature
- if (sd->list_spinner)
- {
- if (sd->genlist && sd->scrolling)
- {
- Evas_Coord x, y, h, y_center;
- evas_object_geometry_get(sd->genlist, &x, &y, NULL, &h);
- y_center = y + h / 2;
- sd->aligned_item = elm_genlist_at_xy_item_get(sd->genlist, x, y_center, NULL);
-
- _genlist_item_value_apply(obj);
- }
- }
- //
return sd->val;
}
cmd(SIG_LOADED, "loaded", "") \
cmd(SIG_ATSPI_SCREEN_READER_CHANGED, "atspi,screen,reader,changed", "") \
cmd(SIG_WIDGET_ATSPI_HIGHLIGHTED, "atspi,highlighted", "") \
+ cmd(SIG_ALIGNED_ITEM, "aligned,item", "") \
cmd(SIG_FILTER_DONE, "filter,done", "")
ELM_PRIV_GENLIST_SIGNALS(ELM_PRIV_STATIC_VARIABLE_DECLARE);
((sd->adjusted_item != sd->aligned_item) || (sd->unhighlighted)))
{
edje_object_signal_emit(VIEW(sd->adjusted_item), SIGNAL_ITEM_HIGHLIGHTED, "elm");
+ evas_object_smart_callback_call(WIDGET(sd->adjusted_item),
+ SIG_ALIGNED_ITEM, EO_OBJ(sd->adjusted_item));
if (sd->aligned_item && sd->adjusted_item != sd->aligned_item)
edje_object_signal_emit(VIEW(sd->aligned_item), SIGNAL_ITEM_UNHIGHLIGHTED, "elm");
//
//TIZEN_ONLY(20161104) : Accessibility : synchronized highlight of atspi and item align feature for wearable profile
edje_object_signal_emit(VIEW(it), SIGNAL_ITEM_HIGHLIGHTED, "elm");
+ evas_object_smart_callback_call(VIEW(it), SIG_ALIGNED_ITEM, EO_OBJ(it));
//
}
}
if (aligned_item)
{
edje_object_signal_emit(VIEW(aligned_item), SIGNAL_ITEM_HIGHLIGHTED, "elm");
+ evas_object_smart_callback_call(VIEW(aligned_item), SIG_ALIGNED_ITEM, EO_OBJ(aligned_item));
_focus_bg_show(aligned_item);
edje_object_message_signal_process(VIEW(sd->aligned_item));
evas_object_smart_callback_call(WIDGET(it), SIG_HIGHLIGHTED, EO_OBJ(it));
if (GL_IT(it)->wsd->aligned_item == it)
- edje_object_signal_emit(VIEW(it), SIGNAL_ITEM_HIGHLIGHTED, "elm");
+ {
+ edje_object_signal_emit(VIEW(it), SIGNAL_ITEM_HIGHLIGHTED, "elm");
+ evas_object_smart_callback_call(VIEW(it), SIG_ALIGNED_ITEM, EO_OBJ(it));
+ }
edje_object_message_signal_process(VIEW(it));
}
_item_realize(it, EINA_FALSE);
if (sd->aligned_item == it)
- edje_object_signal_emit(VIEW(it), SIGNAL_ITEM_HIGHLIGHTED, "elm");
+ {
+ edje_object_signal_emit(VIEW(it), SIGNAL_ITEM_HIGHLIGHTED, "elm");
+ evas_object_smart_callback_call(VIEW(it), SIG_ALIGNED_ITEM, EO_OBJ(it));
+ }
GL_IT(it)->calc_done = EINA_FALSE;
GL_IT(it)->block->calc_done = EINA_FALSE;
//
//TIZEN_ONLY(20161104) : Accessibility : synchronized highlight of atspi and item align feature for wearable profile
edje_object_signal_emit(VIEW(it), SIGNAL_ITEM_HIGHLIGHTED, "elm");
+ evas_object_smart_callback_call(VIEW(it), SIG_ALIGNED_ITEM, EO_OBJ(it));
//
}
else