summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukasz Stanislawski <l.stanislaws@samsung.com>2016-01-15 13:09:48 +0100
committerLukasz Stanislawski <l.stanislaws@samsung.com>2016-01-15 14:19:48 +0100
commit7bd9af36b67832b583580b382f3c30a066ea8bc1 (patch)
treeef345926031e956a8fa881016a55cbf4251016f4
parent3c7ef7e2145d1b29fffa9ddea390a1d830711f32 (diff)
atspi; simplify API by removing type set/get funcs
Instead introduce disable/enable api that is sufficient in most use cases.
-rw-r--r--src/lib/elc_multibuttonentry.c2
-rw-r--r--src/lib/elm_atspi_app_object.c8
-rw-r--r--src/lib/elm_bg.c2
-rw-r--r--src/lib/elm_box.c2
-rw-r--r--src/lib/elm_interface_atspi_accessible.c39
-rw-r--r--src/lib/elm_interface_atspi_accessible.eo16
-rw-r--r--src/lib/elm_list.c6
-rw-r--r--src/lib/elm_menu.c16
-rw-r--r--src/lib/elm_toolbar.c4
-rw-r--r--src/lib/elm_widget.c13
10 files changed, 47 insertions, 61 deletions
diff --git a/src/lib/elc_multibuttonentry.c b/src/lib/elc_multibuttonentry.c
index 003b227f5..a6102650c 100644
--- a/src/lib/elc_multibuttonentry.c
+++ b/src/lib/elc_multibuttonentry.c
@@ -750,7 +750,7 @@ _item_new(Elm_Multibuttonentry_Data *sd,
750 ELM_MULTIBUTTONENTRY_ITEM_DATA_GET(eo_item, item); 750 ELM_MULTIBUTTONENTRY_ITEM_DATA_GET(eo_item, item);
751 VIEW(item) = elm_layout_add(obj); 751 VIEW(item) = elm_layout_add(obj);
752 752
753 eo_do(VIEW(item), elm_interface_atspi_accessible_type_set(ELM_ATSPI_TYPE_DISABLED)); 753 eo_do(VIEW(item), elm_interface_atspi_accessible_disabled_set(EINA_TRUE));
754 754
755 if (!elm_layout_theme_set 755 if (!elm_layout_theme_set
756 (VIEW(item), "multibuttonentry", "btn", elm_widget_style_get(obj))) 756 (VIEW(item), "multibuttonentry", "btn", elm_widget_style_get(obj)))
diff --git a/src/lib/elm_atspi_app_object.c b/src/lib/elm_atspi_app_object.c
index f1af9081f..369d692ae 100644
--- a/src/lib/elm_atspi_app_object.c
+++ b/src/lib/elm_atspi_app_object.c
@@ -18,14 +18,10 @@ _elm_atspi_app_object_elm_interface_atspi_accessible_children_get(Eo *obj EINA_U
18 18
19 EINA_LIST_FOREACH(_elm_win_list, l, win) 19 EINA_LIST_FOREACH(_elm_win_list, l, win)
20 { 20 {
21 Elm_Atspi_Type type; 21 Elm_Win_Type type = elm_win_type_get(win);
22 if (!eo_isa(win, ELM_INTERFACE_ATSPI_ACCESSIBLE_MIXIN)) 22 if (type != ELM_WIN_SOCKET_IMAGE)
23 continue;
24 eo_do(win, type = elm_interface_atspi_accessible_type_get());
25 if (type == ELM_ATSPI_TYPE_REGULAR)
26 accs = eina_list_append(accs, win); 23 accs = eina_list_append(accs, win);
27 } 24 }
28
29 return accs; 25 return accs;
30} 26}
31 27
diff --git a/src/lib/elm_bg.c b/src/lib/elm_bg.c
index 158415682..9c394f759 100644
--- a/src/lib/elm_bg.c
+++ b/src/lib/elm_bg.c
@@ -120,7 +120,7 @@ elm_bg_add(Evas_Object *parent)
120EOLIAN static Eo * 120EOLIAN static Eo *
121_elm_bg_eo_base_constructor(Eo *obj, Elm_Bg_Data *_pd EINA_UNUSED) 121_elm_bg_eo_base_constructor(Eo *obj, Elm_Bg_Data *_pd EINA_UNUSED)
122{ 122{
123 eo_do(obj, elm_interface_atspi_accessible_type_set(ELM_ATSPI_TYPE_DISABLED)); 123 eo_do(obj, elm_interface_atspi_accessible_disabled_set(EINA_TRUE));
124 obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); 124 obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor());
125 eo_do(obj, 125 eo_do(obj,
126 evas_obj_type_set(MY_CLASS_NAME_LEGACY)); 126 evas_obj_type_set(MY_CLASS_NAME_LEGACY));
diff --git a/src/lib/elm_box.c b/src/lib/elm_box.c
index 61e56054c..def588184 100644
--- a/src/lib/elm_box.c
+++ b/src/lib/elm_box.c
@@ -447,7 +447,7 @@ elm_box_add(Evas_Object *parent)
447EOLIAN static Eo * 447EOLIAN static Eo *
448_elm_box_eo_base_constructor(Eo *obj, Elm_Box_Data *_pd EINA_UNUSED) 448_elm_box_eo_base_constructor(Eo *obj, Elm_Box_Data *_pd EINA_UNUSED)
449{ 449{
450 eo_do(obj, elm_interface_atspi_accessible_type_set(ELM_ATSPI_TYPE_SKIPPED)); 450 eo_do(obj, elm_interface_atspi_accessible_disabled_set(EINA_TRUE));
451 obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor()); 451 obj = eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor());
452 eo_do(obj, 452 eo_do(obj,
453 evas_obj_type_set(MY_CLASS_NAME_LEGACY), 453 evas_obj_type_set(MY_CLASS_NAME_LEGACY),
diff --git a/src/lib/elm_interface_atspi_accessible.c b/src/lib/elm_interface_atspi_accessible.c
index 19a020f0d..6a0084a10 100644
--- a/src/lib/elm_interface_atspi_accessible.c
+++ b/src/lib/elm_interface_atspi_accessible.c
@@ -128,7 +128,7 @@ struct _Elm_Interface_Atspi_Accessible_Data
128 const char *description; 128 const char *description;
129 const char *translation_domain; 129 const char *translation_domain;
130 Elm_Atspi_Relation_Set relations; 130 Elm_Atspi_Relation_Set relations;
131 Elm_Atspi_Type type: 2; 131 Eina_Bool disabled : 1;
132}; 132};
133 133
134typedef struct _Elm_Interface_Atspi_Accessible_Data Elm_Interface_Atspi_Accessible_Data; 134typedef struct _Elm_Interface_Atspi_Accessible_Data Elm_Interface_Atspi_Accessible_Data;
@@ -168,15 +168,15 @@ _elm_interface_atspi_accessible_index_in_parent_get(Eo *obj, Elm_Interface_Atspi
168EOLIAN static Elm_Interface_Atspi_Accessible * 168EOLIAN static Elm_Interface_Atspi_Accessible *
169_elm_interface_atspi_accessible_parent_get(Eo *obj EINA_UNUSED, Elm_Interface_Atspi_Accessible_Data *pd EINA_UNUSED) 169_elm_interface_atspi_accessible_parent_get(Eo *obj EINA_UNUSED, Elm_Interface_Atspi_Accessible_Data *pd EINA_UNUSED)
170{ 170{
171 Elm_Atspi_Type type; 171 Eina_Bool disabled;
172 Eo *parent = obj; 172 Eo *parent = obj;
173 173
174 do { 174 do {
175 eo_do(obj, parent = eo_parent_get()); 175 eo_do(obj, parent = eo_parent_get());
176 if (eo_isa(parent, ELM_INTERFACE_ATSPI_ACCESSIBLE_MIXIN)) 176 if (eo_isa(parent, ELM_INTERFACE_ATSPI_ACCESSIBLE_MIXIN))
177 { 177 {
178 eo_do(parent, type = elm_interface_atspi_accessible_type_get()); 178 eo_do(parent, disabled = elm_interface_atspi_accessible_disabled_get());
179 if (type != ELM_ATSPI_TYPE_SKIPPED) break; 179 if (!disabled) break;
180 } 180 }
181 } while (parent); 181 } while (parent);
182 182
@@ -323,7 +323,7 @@ _elm_interface_atspi_accessible_event_emit(Eo *class EINA_UNUSED, void *pd EINA_
323{ 323{
324 Eina_List *l; 324 Eina_List *l;
325 Elm_Atspi_Event_Handler *hdl; 325 Elm_Atspi_Event_Handler *hdl;
326 Elm_Atspi_Type type; 326 Eina_Bool disabled;
327 327
328 if (!accessible || !event || !eo_isa(accessible, ELM_INTERFACE_ATSPI_ACCESSIBLE_MIXIN)) 328 if (!accessible || !event || !eo_isa(accessible, ELM_INTERFACE_ATSPI_ACCESSIBLE_MIXIN))
329 { 329 {
@@ -331,15 +331,15 @@ _elm_interface_atspi_accessible_event_emit(Eo *class EINA_UNUSED, void *pd EINA_
331 return; 331 return;
332 } 332 }
333 333
334 eo_do(accessible, type = elm_interface_atspi_accessible_type_get()); 334 eo_do(accessible, disabled = elm_interface_atspi_accessible_disabled_get());
335 if (type != ELM_ATSPI_TYPE_REGULAR) 335 if (disabled)
336 return; 336 return;
337 337
338 if (event == ELM_INTERFACE_ATSPI_ACCESSIBLE_EVENT_CHILDREN_CHANGED) 338 if (event == ELM_INTERFACE_ATSPI_ACCESSIBLE_EVENT_CHILDREN_CHANGED)
339 { 339 {
340 Elm_Atspi_Event_Children_Changed_Data *atspi_data = event_info; 340 Elm_Atspi_Event_Children_Changed_Data *atspi_data = event_info;
341 eo_do(atspi_data->child, type = elm_interface_atspi_accessible_type_get()); 341 eo_do(atspi_data->child, disabled = elm_interface_atspi_accessible_disabled_get());
342 if (type != ELM_ATSPI_TYPE_REGULAR) 342 if (disabled)
343 return; 343 return;
344 } 344 }
345 345
@@ -574,33 +574,32 @@ _elm_interface_atspi_accessible_root_get(Eo *class EINA_UNUSED, void *pd EINA_UN
574 return root; 574 return root;
575} 575}
576 576
577EOLIAN Elm_Atspi_Type 577EOLIAN Eina_Bool
578_elm_interface_atspi_accessible_type_get(Eo *obj EINA_UNUSED, Elm_Interface_Atspi_Accessible_Data *pd) 578_elm_interface_atspi_accessible_disabled_get(Eo *obj EINA_UNUSED, Elm_Interface_Atspi_Accessible_Data *pd)
579{ 579{
580 return pd->type; 580 return pd->disabled;
581} 581}
582 582
583EOLIAN void 583EOLIAN void
584_elm_interface_atspi_accessible_type_set(Eo *obj, Elm_Interface_Atspi_Accessible_Data *pd, Elm_Atspi_Type val) 584_elm_interface_atspi_accessible_disabled_set(Eo *obj, Elm_Interface_Atspi_Accessible_Data *pd, Eina_Bool val)
585{ 585{
586 Elm_Interface_Atspi_Accessible *parent; 586 Elm_Interface_Atspi_Accessible *parent;
587 if (val == pd->type) 587 if (!!val == pd->disabled)
588 return; 588 return;
589 589
590 eo_do(obj, parent = elm_interface_atspi_accessible_parent_get()); 590 eo_do(obj, parent = elm_interface_atspi_accessible_parent_get());
591 591
592 switch (val) 592 if (val)
593 { 593 {
594 case ELM_ATSPI_TYPE_DISABLED:
595 case ELM_ATSPI_TYPE_SKIPPED:
596 if (parent) elm_interface_atspi_accessible_children_changed_del_signal_emit(parent, obj); 594 if (parent) elm_interface_atspi_accessible_children_changed_del_signal_emit(parent, obj);
597 elm_interface_atspi_accessible_removed(obj); 595 elm_interface_atspi_accessible_removed(obj);
598 break; 596 }
599 case ELM_ATSPI_TYPE_REGULAR: 597 else
598 {
600 if (parent) elm_interface_atspi_accessible_children_changed_added_signal_emit(parent, obj); 599 if (parent) elm_interface_atspi_accessible_children_changed_added_signal_emit(parent, obj);
601 elm_interface_atspi_accessible_added(obj); 600 elm_interface_atspi_accessible_added(obj);
602 } 601 }
603 pd->type = val; 602 pd->disabled = !!val;
604} 603}
605 604
606#include "elm_interface_atspi_accessible.eo.c" 605#include "elm_interface_atspi_accessible.eo.c"
diff --git a/src/lib/elm_interface_atspi_accessible.eo b/src/lib/elm_interface_atspi_accessible.eo
index 378674ee8..f6bf85e92 100644
--- a/src/lib/elm_interface_atspi_accessible.eo
+++ b/src/lib/elm_interface_atspi_accessible.eo
@@ -1,11 +1,3 @@
1enum Elm.Atspi.Type
2{
3 [[Type of accessibility object]]
4 regular, [[default accessibile object]]
5 disabled, [[skip object and its children in accessibility hierarchy]]
6 skipped [[skip object in accessibility hierarchy]]
7}
8
9mixin Elm_Interface_Atspi_Accessible () 1mixin Elm_Interface_Atspi_Accessible ()
10{ 2{
11 legacy_prefix: null; 3 legacy_prefix: null;
@@ -155,15 +147,15 @@ mixin Elm_Interface_Atspi_Accessible ()
155 domain: const(char)*; [[ translation domain ]] 147 domain: const(char)*; [[ translation domain ]]
156 } 148 }
157 } 149 }
158 @property type { 150 @property disabled {
159 get { 151 get {
160 [[Get type of accessibility object]] 152 [[Get status of accessibility object]]
161 } 153 }
162 set { 154 set {
163 [[Set type of accessibility object]] 155 [[Set status of accessibility object]]
164 } 156 }
165 values { 157 values {
166 type: Elm.Atspi.Type; 158 type: bool;
167 } 159 }
168 } 160 }
169 relationship_append { 161 relationship_append {
diff --git a/src/lib/elm_list.c b/src/lib/elm_list.c
index bf928fc2b..9da0b40a7 100644
--- a/src/lib/elm_list.c
+++ b/src/lib/elm_list.c
@@ -2331,7 +2331,7 @@ _item_new(Evas_Object *obj,
2331 evas_object_event_callback_add 2331 evas_object_event_callback_add
2332 (it->icon, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _size_hints_changed_cb, 2332 (it->icon, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _size_hints_changed_cb,
2333 obj); 2333 obj);
2334 eo_do(it->icon, elm_interface_atspi_accessible_type_set(ELM_ATSPI_TYPE_DISABLED)); 2334 eo_do(it->icon, elm_interface_atspi_accessible_disabled_set(EINA_TRUE));
2335 } 2335 }
2336 if (it->end) 2336 if (it->end)
2337 { 2337 {
@@ -2339,7 +2339,7 @@ _item_new(Evas_Object *obj,
2339 evas_object_event_callback_add 2339 evas_object_event_callback_add
2340 (it->end, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _size_hints_changed_cb, 2340 (it->end, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _size_hints_changed_cb,
2341 obj); 2341 obj);
2342 eo_do(it->end, elm_interface_atspi_accessible_type_set(ELM_ATSPI_TYPE_DISABLED)); 2342 eo_do(it->end, elm_interface_atspi_accessible_disabled_set(EINA_TRUE));
2343 } 2343 }
2344 2344
2345 if (_elm_config->atspi_mode) 2345 if (_elm_config->atspi_mode)
@@ -2442,7 +2442,7 @@ _elm_list_evas_object_smart_add(Eo *obj, Elm_List_Data *priv)
2442 priv->box = elm_box_add(obj); 2442 priv->box = elm_box_add(obj);
2443 evas_object_size_hint_weight_set(priv->box, EVAS_HINT_EXPAND, 0.0); 2443 evas_object_size_hint_weight_set(priv->box, EVAS_HINT_EXPAND, 0.0);
2444 evas_object_size_hint_align_set(priv->box, EVAS_HINT_FILL, 0.0); 2444 evas_object_size_hint_align_set(priv->box, EVAS_HINT_FILL, 0.0);
2445 eo_do(priv->box, elm_interface_atspi_accessible_type_set(ELM_ATSPI_TYPE_DISABLED)); 2445 eo_do(priv->box, elm_interface_atspi_accessible_disabled_set(EINA_TRUE));
2446 2446
2447 /* FIXME: change this ugly code path later */ 2447 /* FIXME: change this ugly code path later */
2448 elm_widget_on_show_region_hook_set(priv->box, _show_region_hook, obj); 2448 elm_widget_on_show_region_hook_set(priv->box, _show_region_hook, obj);
diff --git a/src/lib/elm_menu.c b/src/lib/elm_menu.c
index 5d7cd15a5..725c45c2b 100644
--- a/src/lib/elm_menu.c
+++ b/src/lib/elm_menu.c
@@ -569,7 +569,7 @@ static void
569_item_obj_create(Elm_Menu_Item_Data *item) 569_item_obj_create(Elm_Menu_Item_Data *item)
570{ 570{
571 VIEW(item) = elm_layout_add(WIDGET(item)); 571 VIEW(item) = elm_layout_add(WIDGET(item));
572 eo_do(VIEW(item), elm_interface_atspi_accessible_type_set(ELM_ATSPI_TYPE_SKIPPED)); 572 eo_do(VIEW(item), elm_interface_atspi_accessible_disabled_set(EINA_TRUE));
573 evas_object_size_hint_weight_set 573 evas_object_size_hint_weight_set
574 (VIEW(item), EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); 574 (VIEW(item), EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
575 evas_object_size_hint_fill_set(VIEW(item), EVAS_HINT_FILL, EVAS_HINT_FILL); 575 evas_object_size_hint_fill_set(VIEW(item), EVAS_HINT_FILL, EVAS_HINT_FILL);
@@ -593,7 +593,7 @@ static void
593_item_separator_obj_create(Elm_Menu_Item_Data *item) 593_item_separator_obj_create(Elm_Menu_Item_Data *item)
594{ 594{
595 VIEW(item) = elm_layout_add(WIDGET(item)); 595 VIEW(item) = elm_layout_add(WIDGET(item));
596 eo_do(VIEW(item), elm_interface_atspi_accessible_type_set(ELM_ATSPI_TYPE_SKIPPED)); 596 eo_do(VIEW(item), elm_interface_atspi_accessible_disabled_set(EINA_TRUE));
597 evas_object_size_hint_weight_set 597 evas_object_size_hint_weight_set
598 (VIEW(item), EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); 598 (VIEW(item), EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
599 evas_object_size_hint_fill_set(VIEW(item), EVAS_HINT_FILL, EVAS_HINT_FILL); 599 evas_object_size_hint_fill_set(VIEW(item), EVAS_HINT_FILL, EVAS_HINT_FILL);
@@ -616,9 +616,9 @@ _item_submenu_obj_create(Elm_Menu_Item_Data *item)
616 char style[1024]; 616 char style[1024];
617 617
618 item->submenu.location = elm_icon_add(sd->bx); 618 item->submenu.location = elm_icon_add(sd->bx);
619 eo_do(item->submenu.location, elm_interface_atspi_accessible_type_set(ELM_ATSPI_TYPE_DISABLED)); 619 eo_do(item->submenu.location, elm_interface_atspi_accessible_disabled_set(EINA_TRUE));
620 item->submenu.hv = hv = elm_hover_add(sd->bx); 620 item->submenu.hv = hv = elm_hover_add(sd->bx);
621 eo_do(item->submenu.hv, elm_interface_atspi_accessible_type_set(ELM_ATSPI_TYPE_SKIPPED)); 621 eo_do(item->submenu.hv, elm_interface_atspi_accessible_disabled_set(EINA_TRUE));
622 elm_widget_mirrored_set(hv, EINA_FALSE); 622 elm_widget_mirrored_set(hv, EINA_FALSE);
623 elm_hover_target_set(hv, item->submenu.location); 623 elm_hover_target_set(hv, item->submenu.location);
624 elm_hover_parent_set(hv, sd->parent); 624 elm_hover_parent_set(hv, sd->parent);
@@ -684,10 +684,10 @@ _elm_menu_evas_object_smart_add(Eo *obj, Elm_Menu_Data *priv)
684 elm_widget_can_focus_set(obj, EINA_FALSE); 684 elm_widget_can_focus_set(obj, EINA_FALSE);
685 685
686 priv->location = elm_icon_add(obj); 686 priv->location = elm_icon_add(obj);
687 eo_do(priv->location, elm_interface_atspi_accessible_type_set(ELM_ATSPI_TYPE_DISABLED)); 687 eo_do(priv->location, elm_interface_atspi_accessible_disabled_set(EINA_TRUE));
688 688
689 priv->hv = elm_hover_add(obj); 689 priv->hv = elm_hover_add(obj);
690 eo_do(priv->hv, elm_interface_atspi_accessible_type_set(ELM_ATSPI_TYPE_SKIPPED)); 690 eo_do(priv->hv, elm_interface_atspi_accessible_disabled_set(EINA_TRUE));
691 elm_widget_mirrored_set(priv->hv, EINA_FALSE); 691 elm_widget_mirrored_set(priv->hv, EINA_FALSE);
692 692
693 elm_object_style_set(priv->hv, "menu/default"); 693 elm_object_style_set(priv->hv, "menu/default");
@@ -695,7 +695,7 @@ _elm_menu_evas_object_smart_add(Eo *obj, Elm_Menu_Data *priv)
695 (ELM_HOVER_EVENT_DISMISSED, _hover_dismissed_cb, obj)); 695 (ELM_HOVER_EVENT_DISMISSED, _hover_dismissed_cb, obj));
696 696
697 priv->bx = elm_box_add(obj); 697 priv->bx = elm_box_add(obj);
698 eo_do(priv->bx, elm_interface_atspi_accessible_type_set(ELM_ATSPI_TYPE_SKIPPED)); 698 eo_do(priv->bx, elm_interface_atspi_accessible_disabled_set(EINA_TRUE));
699 elm_widget_mirrored_set(priv->bx, EINA_FALSE); 699 elm_widget_mirrored_set(priv->bx, EINA_FALSE);
700 evas_object_size_hint_weight_set 700 evas_object_size_hint_weight_set
701 (priv->bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); 701 (priv->bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
@@ -1026,7 +1026,7 @@ _elm_menu_item_add(Eo *obj, Elm_Menu_Data *sd, Elm_Object_Item *parent, const ch
1026 Evas_Object *icon_obj; 1026 Evas_Object *icon_obj;
1027 1027
1028 icon_obj = elm_icon_add(obj); 1028 icon_obj = elm_icon_add(obj);
1029 eo_do(icon_obj, elm_interface_atspi_accessible_type_set(ELM_ATSPI_TYPE_DISABLED)); 1029 eo_do(icon_obj, elm_interface_atspi_accessible_disabled_set(EINA_TRUE));
1030 if (!icon_obj) return NULL; 1030 if (!icon_obj) return NULL;
1031 1031
1032 eo_item = eo_add(ELM_MENU_ITEM_CLASS, obj); 1032 eo_item = eo_add(ELM_MENU_ITEM_CLASS, obj);
diff --git a/src/lib/elm_toolbar.c b/src/lib/elm_toolbar.c
index a899bb95f..5f38906f9 100644
--- a/src/lib/elm_toolbar.c
+++ b/src/lib/elm_toolbar.c
@@ -2397,7 +2397,7 @@ _item_new(Evas_Object *obj,
2397 2397
2398 VIEW(it) = elm_layout_add(obj); 2398 VIEW(it) = elm_layout_add(obj);
2399 evas_object_data_set(VIEW(it), "item", it); 2399 evas_object_data_set(VIEW(it), "item", it);
2400 eo_do(VIEW(it), elm_interface_atspi_accessible_type_set(ELM_ATSPI_TYPE_DISABLED)); 2400 eo_do(VIEW(it), elm_interface_atspi_accessible_disabled_set(EINA_TRUE));
2401 2401
2402 icon_obj = elm_icon_add(VIEW(it)); 2402 icon_obj = elm_icon_add(VIEW(it));
2403 elm_icon_order_lookup_set(icon_obj, sd->lookup_order); 2403 elm_icon_order_lookup_set(icon_obj, sd->lookup_order);
@@ -2783,7 +2783,7 @@ _elm_toolbar_evas_object_smart_add(Eo *obj, Elm_Toolbar_Data *priv)
2783 else 2783 else
2784 elm_object_signal_emit(priv->more, "elm,orient,horizontal", "elm"); 2784 elm_object_signal_emit(priv->more, "elm,orient,horizontal", "elm");
2785 2785
2786 eo_do(priv->more, elm_interface_atspi_accessible_type_set(ELM_ATSPI_TYPE_DISABLED)); 2786 eo_do(priv->more, elm_interface_atspi_accessible_disabled_set(EINA_TRUE));
2787 elm_widget_sub_object_add(obj, priv->more); 2787 elm_widget_sub_object_add(obj, priv->more);
2788 evas_object_show(priv->more); 2788 evas_object_show(priv->more);
2789 2789
diff --git a/src/lib/elm_widget.c b/src/lib/elm_widget.c
index 97ef04543..2c4ea8dd2 100644
--- a/src/lib/elm_widget.c
+++ b/src/lib/elm_widget.c
@@ -5846,15 +5846,14 @@ _elm_widget_elm_interface_atspi_accessible_children_get(Eo *obj EINA_UNUSED, Elm
5846{ 5846{
5847 Eina_List *l, *accs = NULL; 5847 Eina_List *l, *accs = NULL;
5848 Evas_Object *widget; 5848 Evas_Object *widget;
5849 Elm_Atspi_Type type; 5849 Eina_Bool disabled;
5850 5850
5851 EINA_LIST_FOREACH(pd->subobjs, l, widget) 5851 EINA_LIST_FOREACH(pd->subobjs, l, widget)
5852 { 5852 {
5853 if (!elm_object_widget_check(widget)) continue; 5853 if (!elm_object_widget_check(widget)) continue;
5854 if (!eo_isa(widget, ELM_INTERFACE_ATSPI_ACCESSIBLE_MIXIN)) continue; 5854 if (!eo_isa(widget, ELM_INTERFACE_ATSPI_ACCESSIBLE_MIXIN)) continue;
5855 eo_do(widget, type = elm_interface_atspi_accessible_type_get()); 5855 eo_do(widget, disabled = elm_interface_atspi_accessible_disabled_get());
5856 if (type == ELM_ATSPI_TYPE_DISABLED) continue; 5856 if (disabled)
5857 if (type == ELM_ATSPI_TYPE_SKIPPED)
5858 { 5857 {
5859 Eina_List *children; 5858 Eina_List *children;
5860 eo_do(widget, children = elm_interface_atspi_accessible_children_get()); 5859 eo_do(widget, children = elm_interface_atspi_accessible_children_get());
@@ -5869,14 +5868,14 @@ _elm_widget_elm_interface_atspi_accessible_children_get(Eo *obj EINA_UNUSED, Elm
5869EOLIAN static Eo* 5868EOLIAN static Eo*
5870_elm_widget_elm_interface_atspi_accessible_parent_get(Eo *obj, Elm_Widget_Smart_Data *pd EINA_UNUSED) 5869_elm_widget_elm_interface_atspi_accessible_parent_get(Eo *obj, Elm_Widget_Smart_Data *pd EINA_UNUSED)
5871{ 5870{
5872 Elm_Atspi_Type type; 5871 Eina_Bool disabled;
5873 Elm_Interface_Atspi_Accessible *parent = obj; 5872 Elm_Interface_Atspi_Accessible *parent = obj;
5874 5873
5875 do { 5874 do {
5876 ELM_WIDGET_DATA_GET_OR_RETURN(parent, wd, NULL); 5875 ELM_WIDGET_DATA_GET_OR_RETURN(parent, wd, NULL);
5877 parent = wd->parent_obj; 5876 parent = wd->parent_obj;
5878 eo_do(parent, type = elm_interface_atspi_accessible_type_get()); 5877 eo_do(parent, disabled = elm_interface_atspi_accessible_disabled_get());
5879 } while (parent && (type == ELM_ATSPI_TYPE_SKIPPED)); 5878 } while (parent && disabled);
5880 5879
5881 return eo_isa(parent, ELM_INTERFACE_ATSPI_ACCESSIBLE_MIXIN) ? parent : NULL; 5880 return eo_isa(parent, ELM_INTERFACE_ATSPI_ACCESSIBLE_MIXIN) ? parent : NULL;
5882} 5881}