summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukasz Stanislawski <l.stanislaws@samsung.com>2015-06-26 17:03:15 +0200
committerLukasz Stanislawski <l.stanislaws@samsung.com>2015-06-26 17:04:06 +0200
commit640419b257f5feae2e75f376ca9e1ad30e664695 (patch)
treedbeb9d65afc339cfe0fe5612de1c8c1f17a717d3
parentc317dd289ed76f85f085db8b994218cd3f94a700 (diff)
atspi: emit state changes when visibility is changeddevs/stanluk/visibility
Change-Id: Ifd69d54b3024b6234d919f78ea1939201856e471
-rw-r--r--src/lib/elm_widget.c27
1 files changed, 21 insertions, 6 deletions
diff --git a/src/lib/elm_widget.c b/src/lib/elm_widget.c
index e105da434..b6f6bb8b1 100644
--- a/src/lib/elm_widget.c
+++ b/src/lib/elm_widget.c
@@ -520,9 +520,7 @@ _elm_widget_evas_object_smart_show(Eo *obj, Elm_Widget_Smart_Data *_pd EINA_UNUS
520 520
521 if (_elm_config->atspi_mode) 521 if (_elm_config->atspi_mode)
522 { 522 {
523 Eo *parent; 523 elm_interface_atspi_accessible_state_changed_signal_emit(obj, ELM_ATSPI_STATE_VISIBLE, EINA_TRUE);
524 eo_do(obj, parent = elm_interface_atspi_accessible_parent_get());
525 elm_interface_atspi_accessible_children_changed_added_signal_emit(parent, obj);
526 if (_elm_widget_onscreen_is(obj)) 524 if (_elm_widget_onscreen_is(obj))
527 elm_interface_atspi_accessible_state_changed_signal_emit(obj, ELM_ATSPI_STATE_SHOWING, EINA_TRUE); 525 elm_interface_atspi_accessible_state_changed_signal_emit(obj, ELM_ATSPI_STATE_SHOWING, EINA_TRUE);
528 } 526 }
@@ -551,7 +549,10 @@ _elm_widget_evas_object_smart_hide(Eo *obj, Elm_Widget_Smart_Data *_pd EINA_UNUS
551 eina_iterator_free(it); 549 eina_iterator_free(it);
552 550
553 if (_elm_config->atspi_mode) 551 if (_elm_config->atspi_mode)
554 elm_interface_atspi_accessible_state_changed_signal_emit(obj, ELM_ATSPI_STATE_SHOWING, EINA_FALSE); 552 {
553 elm_interface_atspi_accessible_state_changed_signal_emit(obj, ELM_ATSPI_STATE_SHOWING, EINA_FALSE);
554 elm_interface_atspi_accessible_state_changed_signal_emit(obj, ELM_ATSPI_STATE_VISIBLE, EINA_FALSE);
555 }
555} 556}
556 557
557EOLIAN static void 558EOLIAN static void
@@ -1194,6 +1195,14 @@ _elm_widget_sub_object_add(Eo *obj, Elm_Widget_Smart_Data *sd, Evas_Object *sobj
1194 evas_object_size_hint_display_mode_get(obj)); 1195 evas_object_size_hint_display_mode_get(obj));
1195 } 1196 }
1196 1197
1198 if (_elm_config->atspi_mode && eo_isa(sobj, ELM_INTERFACE_ATSPI_ACCESSIBLE_MIXIN))
1199 {
1200 Eo *parent;
1201 eo_do(sobj, parent = elm_interface_atspi_accessible_parent_get());
1202 if (obj == parent)
1203 elm_interface_atspi_accessible_children_changed_added_signal_emit(obj, sobj);
1204 }
1205
1197end: 1206end:
1198 return EINA_TRUE; 1207 return EINA_TRUE;
1199} 1208}
@@ -1272,8 +1281,14 @@ _elm_widget_sub_object_del(Eo *obj, Elm_Widget_Smart_Data *sd, Evas_Object *sobj
1272 1281
1273 sd->subobjs = eina_list_remove(sd->subobjs, sobj); 1282 sd->subobjs = eina_list_remove(sd->subobjs, sobj);
1274 1283
1275 if (_elm_config->atspi_mode) 1284 if (_elm_config->atspi_mode && eo_isa(sobj, ELM_INTERFACE_ATSPI_ACCESSIBLE_MIXIN))
1276 elm_interface_atspi_accessible_children_changed_del_signal_emit(obj, sobj); 1285 {
1286 Eo *parent;
1287 eo_do(sobj, parent = elm_interface_atspi_accessible_parent_get());
1288 if (obj == parent)
1289 elm_interface_atspi_accessible_children_changed_del_signal_emit(obj, sobj);
1290 }
1291
1277 _callbacks_del(sobj, obj); 1292 _callbacks_del(sobj, obj);
1278 1293
1279 return EINA_TRUE; 1294 return EINA_TRUE;