((void *)WIDGET_ITEM_DATA_GET(EO_OBJ(it)), WIDGET(it), key);
if (ic)
{
- if (_elm_config->atspi_mode && eo_isa(ic, ELM_INTERFACE_ATSPI_ACCESSIBLE_MIXIN))
- eo_do(ic, elm_interface_atspi_accessible_parent_set(EO_OBJ(it)));
-
// TIZEN_ONLY(20150630): Add contents min height calculation for "full" style
if (eo_class_get(ic) == ELM_LAYOUT_CLASS)
{
evas_object_smart_callback_call(WIDGET(it), SIG_UNREALIZED, EO_OBJ(it));
_elm_access_widget_item_unregister(it->base);
elm_object_item_access_order_unset(EO_OBJ(it));
+ //TIZEN_ONLY(20150709) Do not register children of MANAGES_DESCENDATS objects
+ if (_elm_config->atspi_mode)
+ {
+ elm_interface_atspi_accessible_removed(EO_OBJ(it));
+ elm_interface_atspi_accessible_children_changed_del_signal_emit(GL_IT(it)->wsd->obj, EO_OBJ(it));
+ }
+ //
}
Eina_List *l;
//TIZEN_ONLY(20150709) Do not register children of MANAGES_DESCENDATS objects
if (_elm_config->atspi_mode)
- elm_interface_atspi_accessible_children_changed_added_signal_emit(sd->obj, EO_OBJ(it));
+ {
+ elm_interface_atspi_accessible_added(EO_OBJ(it));
+ elm_interface_atspi_accessible_children_changed_added_signal_emit(sd->obj, EO_OBJ(it));
+ }
//
// Register accessibility before realized callback
(NULL, NULL, &priv->viewport_w, &priv->viewport_h));
}
+//TIZEN_ONLY(20160822): When atspi mode is dynamically switched on/off,
+//register/unregister access objects accordingly.
+EOLIAN static void
+_elm_genlist_elm_widget_atspi(Eo *obj EINA_UNUSED, Elm_Genlist_Data *sd, Eina_Bool is_atspi)
+{
+ Item_Block *itb;
+ Eina_Bool done = EINA_FALSE;
+ Evas_Object *content = NULL;
+ Eina_List *l;
+
+ EINA_INLIST_FOREACH(sd->blocks, itb)
+ {
+ if (itb->realized)
+ {
+ Eina_List *l;
+ Elm_Gen_Item *it;
+
+ done = EINA_TRUE;
+ EINA_LIST_FOREACH(itb->items, l, it)
+ {
+ if (!it->realized || it->hide) continue;
+ if (is_atspi)
+ {
+ elm_interface_atspi_accessible_added(EO_OBJ(it));
+ elm_interface_atspi_accessible_children_changed_added_signal_emit(sd->obj, EO_OBJ(it));
+ EINA_LIST_FOREACH(it->contents, l, content)
+ {
+ if (eo_isa(content, ELM_INTERFACE_ATSPI_ACCESSIBLE_MIXIN))
+ {
+ eo_do(content, elm_interface_atspi_accessible_parent_set(EO_OBJ(it)));
+ elm_interface_atspi_accessible_children_changed_added_signal_emit(EO_OBJ(it), content);
+ }
+ }
+ elm_interface_atspi_accessible_name_changed_signal_emit(EO_OBJ(it));
+ }
+ else
+ {
+ elm_interface_atspi_accessible_removed(EO_OBJ(it));
+ elm_interface_atspi_accessible_children_changed_del_signal_emit(sd->obj, EO_OBJ(it));
+ }
+ }
+ }
+ else if (done) break;
+ }
+}
+//
+
EAPI Evas_Object *
elm_genlist_add(Evas_Object *parent)
{