sd->aligned_item = _elm_genlist_pos_adjust_xy_item_get(obj, vw, vh);
if (sd->aligned_item && sd->aligned_item->realized)
- edje_object_signal_emit(VIEW(sd->aligned_item),
- SIGNAL_ITEM_HIGHLIGHTED, "elm");
+ {
+ //TIZEN_ONLY(20161104) : Accessibility : synchronized highlight of atspi and item align feature for wearable profile
+ if (_elm_atspi_enabled())
+ {
+ if(sd->aligned_item != sd->currently_highlighted_item)
+ {
+ eo_do(EO_OBJ(sd->aligned_item), elm_interface_atspi_component_highlight_grab());
+ }
+ }
+ //
+ edje_object_signal_emit(VIEW(sd->aligned_item), SIGNAL_ITEM_HIGHLIGHTED, "elm");
+ }
}
static void
}
if (!sd->aligned_item)
{
- eo_do(sd->obj, elm_interface_scrollable_content_viewport_geometry_get
- (NULL, NULL, &vw, &vh));
- vw = (vw / 2);
- vh = (vh / 2);
-
- if (ELM_RECTS_INTERSECT(it->x - sd->pan_x, it->y - sd->pan_y, GL_IT(it)->w,
- GL_IT(it)->minh, vw, vh, 1, 1))
+ //TIZEN_ONLY(20161104) : Accessibility : synchronized highlight of atspi and item align feature for wearable profile
+ if (!_elm_atspi_enabled())
+ //
{
- sd->aligned_item = it;
- edje_object_signal_emit(VIEW(sd->aligned_item),
- SIGNAL_ITEM_HIGHLIGHTED, "elm");
+ eo_do(sd->obj, elm_interface_scrollable_content_viewport_geometry_get
+ (NULL, NULL, &vw, &vh));
+ vw = (vw / 2);
+ vh = (vh / 2);
+
+ if (ELM_RECTS_INTERSECT(it->x - sd->pan_x, it->y - sd->pan_y, GL_IT(it)->w,
+ GL_IT(it)->minh, vw, vh, 1, 1))
+ {
+ sd->aligned_item = it;
+ edje_object_signal_emit(VIEW(sd->aligned_item), SIGNAL_ITEM_HIGHLIGHTED, "elm");
+ }
}
}
else if (sd->aligned_item == it)
if (sd->aligned_item)
{
if (sd->aligned_item->realized)
- edje_object_signal_emit(VIEW(sd->aligned_item),
- SIGNAL_ITEM_HIGHLIGHTED, "elm");
+ {
+ //TIZEN_ONLY(20161104) : Accessibility : synchronized highlight of atspi and item align feature for wearable profile
+ if (!_elm_atspi_enabled())
+ //
+ {
+ edje_object_signal_emit(VIEW(sd->aligned_item), SIGNAL_ITEM_HIGHLIGHTED, "elm");
+ }
+ }
}
}
}
evas_object_geometry_get(WIDGET(it), NULL, &wy, NULL, &wh);
evas_object_geometry_get(VIEW(it), NULL, &y, NULL, &h);
int res = _is_item_in_viewport(wy, wh, y, h);
+ //TIZEN_ONLY(20161104) : Accessibility : synchronized highlight of atspi and item align feature for wearable profile
+#ifndef TIZEN_PROFILE_WEARABLE
if (res > 0)
{
// new item is above current
}
else
elm_genlist_item_show(eo_it, ELM_GENLIST_ITEM_SCROLLTO_IN);
+#else
+ elm_genlist_item_bring_in(eo_it, ELM_GENLIST_ITEM_SCROLLTO_MIDDLE);
+#endif
+ //
}
else // if item is not realized we should search if we are over or below viewport
{
eo_do(eina_list_last_data_get(realized), bottom = elm_obj_genlist_item_index_get());
eo_do(eo_it, idx = elm_obj_genlist_item_index_get());
eina_list_free(realized);
+ //TIZEN_ONLY(20161104) : Accessibility : synchronized highlight of atspi and item align feature for wearable profile
+#ifndef TIZEN_PROFILE_WEARABLE
if (idx < top)
elm_genlist_item_show(eo_it, ELM_GENLIST_ITEM_SCROLLTO_BOTTOM);
else if (idx > bottom)
elm_genlist_item_show(eo_it, ELM_GENLIST_ITEM_SCROLLTO_TOP);
- else
- elm_genlist_item_show(eo_it, ELM_GENLIST_ITEM_SCROLLTO_IN);
+ else
+ elm_genlist_item_show(eo_it, ELM_GENLIST_ITEM_SCROLLTO_IN);
+#else
+ elm_genlist_item_bring_in(eo_it, ELM_GENLIST_ITEM_SCROLLTO_MIDDLE);
+#endif
+ //
}
}
if (VIEW(it))
+ {
elm_object_accessibility_highlight_set(EO_OBJ(it), EINA_TRUE);
+ //TIZEN_ONLY(20161104) : Accessibility : synchronized highlight of atspi and item align feature for wearable profile
+ sd->currently_highlighted_item = it;
+ //
+ }
else
sd->atspi_item_to_highlight = it;//it will be highlighted when realized
elm_interface_atspi_accessible_active_descendant_changed_signal_emit(WIDGET(it), eo_it);
///
+ //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");
+ //
return EINA_TRUE;
}
_elm_genlist_item_elm_interface_atspi_component_highlight_clear(Eo *eo_it, Elm_Gen_Item *it)
{
ELM_GENLIST_DATA_GET(WIDGET(it), sd);
+ //TIZEN_ONLY(20161104) : Accessibility : synchronized highlight of atspi and item align feature for wearable profile
+ if(sd->currently_highlighted_item == it)
+ sd->currently_highlighted_item = NULL;
+ //
if (sd->atspi_item_to_highlight == it)
sd->atspi_item_to_highlight = NULL;
elm_object_accessibility_highlight_set(EO_OBJ(it), EINA_FALSE);
elm_interface_atspi_accessible_active_descendant_changed_signal_emit(WIDGET(it), eo_it);
///
+ //TIZEN_ONLY(20161104) : Accessibility : synchronized highlight of atspi and item align feature for wearable profile
+ edje_object_signal_emit(VIEW(it), SIGNAL_ITEM_UNHIGHLIGHTED, "elm");
+ //
+
return EINA_TRUE;
}
///////////////////////////////////////////////////////////////////////////////