summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukasz Stanislawski <lukasz.stanislawski@gmail.com>2017-12-10 20:21:28 +0100
committerLukasz Stanislawski <lukasz.stanislawski@gmail.com>2017-12-17 18:15:52 +0100
commit453361cac12d587cedb9854a0747b75a598e160e (patch)
treefd899ab4b1202547f61fedd4c64f8beb0b177d39
parenta34aca27a0189f457adad26290c874590543e110 (diff)
elm: remove access type API
-rw-r--r--src/lib/elementary/efl_access.c56
-rw-r--r--src/lib/elementary/efl_access.eo18
-rw-r--r--src/lib/elementary/efl_ui_bg.c1
-rw-r--r--src/lib/elementary/efl_ui_box.c1
-rw-r--r--src/lib/elementary/efl_ui_list.c1
-rw-r--r--src/lib/elementary/efl_ui_multibuttonentry.c2
-rw-r--r--src/lib/elementary/efl_ui_win.c1
-rw-r--r--src/lib/elementary/elm_atspi_app_object.c5
-rw-r--r--src/lib/elementary/elm_box.c1
-rw-r--r--src/lib/elementary/elm_list.c3
-rw-r--r--src/lib/elementary/elm_menu.c8
-rw-r--r--src/lib/elementary/elm_toolbar.c2
-rw-r--r--src/lib/elementary/elm_widget.c22
13 files changed, 4 insertions, 117 deletions
diff --git a/src/lib/elementary/efl_access.c b/src/lib/elementary/efl_access.c
index 2ed5dde41c..3f620c7c96 100644
--- a/src/lib/elementary/efl_access.c
+++ b/src/lib/elementary/efl_access.c
@@ -130,7 +130,6 @@ struct _Efl_Access_Data
130 const char *translation_domain; 130 const char *translation_domain;
131 Efl_Access_Role role; 131 Efl_Access_Role role;
132 Efl_Access_Reading_Info_Type reading_info; 132 Efl_Access_Reading_Info_Type reading_info;
133 Efl_Access_Type type: 2;
134}; 133};
135 134
136typedef struct _Efl_Access_Data Efl_Access_Data; 135typedef struct _Efl_Access_Data Efl_Access_Data;
@@ -170,18 +169,7 @@ _efl_access_index_in_parent_get(Eo *obj, Efl_Access_Data *pd EINA_UNUSED)
170EOLIAN static Efl_Access * 169EOLIAN static Efl_Access *
171_efl_access_parent_get(Eo *obj EINA_UNUSED, Efl_Access_Data *pd EINA_UNUSED) 170_efl_access_parent_get(Eo *obj EINA_UNUSED, Efl_Access_Data *pd EINA_UNUSED)
172{ 171{
173 Efl_Access_Type type; 172 Eo *parent = efl_parent_get(obj);
174 Eo *parent = obj;
175
176 do {
177 parent = efl_parent_get(obj);
178 if (efl_isa(parent, EFL_ACCESS_MIXIN))
179 {
180 type = efl_access_type_get(parent);
181 if (type != EFL_ACCESS_TYPE_SKIPPED) break;
182 }
183 } while (parent);
184
185 return efl_isa(parent, EFL_ACCESS_MIXIN) ? parent : NULL; 173 return efl_isa(parent, EFL_ACCESS_MIXIN) ? parent : NULL;
186} 174}
187 175
@@ -407,7 +395,6 @@ _efl_access_event_emit(Eo *class EINA_UNUSED, void *pd EINA_UNUSED, Eo *accessib
407{ 395{
408 Eina_List *l; 396 Eina_List *l;
409 Efl_Access_Event_Handler *hdl; 397 Efl_Access_Event_Handler *hdl;
410 Efl_Access_Type type;
411 398
412 if (!accessible || !event || !efl_isa(accessible, EFL_ACCESS_MIXIN)) 399 if (!accessible || !event || !efl_isa(accessible, EFL_ACCESS_MIXIN))
413 { 400 {
@@ -415,18 +402,6 @@ _efl_access_event_emit(Eo *class EINA_UNUSED, void *pd EINA_UNUSED, Eo *accessib
415 return; 402 return;
416 } 403 }
417 404
418 type = efl_access_type_get(accessible);
419 if (type != EFL_ACCESS_TYPE_REGULAR)
420 return;
421
422 if (event == EFL_ACCESS_EVENT_CHILDREN_CHANGED)
423 {
424 Efl_Access_Event_Children_Changed_Data *event_data = event_info;
425 type = efl_access_type_get(event_data->child);
426 if (type != EFL_ACCESS_TYPE_REGULAR)
427 return;
428 }
429
430 Efl_Event ev; 405 Efl_Event ev;
431 ev.object = accessible; 406 ev.object = accessible;
432 ev.desc = event; 407 ev.desc = event;
@@ -661,35 +636,6 @@ _efl_access_root_get(Eo *class EINA_UNUSED, void *pd EINA_UNUSED)
661 return root; 636 return root;
662} 637}
663 638
664EOLIAN Efl_Access_Type
665_efl_access_type_get(Eo *obj EINA_UNUSED, Efl_Access_Data *pd)
666{
667 return pd->type;
668}
669
670EOLIAN void
671_efl_access_type_set(Eo *obj, Efl_Access_Data *pd, Efl_Access_Type val)
672{
673 Efl_Access *parent;
674 if (val == pd->type)
675 return;
676
677 parent = efl_access_parent_get(obj);
678
679 switch (val)
680 {
681 case EFL_ACCESS_TYPE_DISABLED:
682 case EFL_ACCESS_TYPE_SKIPPED:
683 if (parent) efl_access_children_changed_del_signal_emit(parent, obj);
684 efl_access_removed(obj);
685 break;
686 case EFL_ACCESS_TYPE_REGULAR:
687 if (parent) efl_access_children_changed_added_signal_emit(parent, obj);
688 efl_access_added(obj);
689 }
690 pd->type = val;
691}
692
693EOLIAN void 639EOLIAN void
694_efl_access_efl_object_destructor(Eo *obj, Efl_Access_Data *pd) 640_efl_access_efl_object_destructor(Eo *obj, Efl_Access_Data *pd)
695{ 641{
diff --git a/src/lib/elementary/efl_access.eo b/src/lib/elementary/efl_access.eo
index d32be85faa..634e8fde3f 100644
--- a/src/lib/elementary/efl_access.eo
+++ b/src/lib/elementary/efl_access.eo
@@ -1,14 +1,6 @@
1/* FIXME: This definitely shouldn't be here. */ 1/* FIXME: This definitely shouldn't be here. */
2type Efl_Event_Cb: __undefined_type; [[Efl event callback type]] 2type Efl_Event_Cb: __undefined_type; [[Efl event callback type]]
3 3
4enum Efl.Access.Type
5{
6 [[Type of accessibility object]]
7 regular, [[default accessibile object]]
8 disabled, [[skip object and its children in accessibility hierarchy]]
9 skipped [[skip object in accessibility hierarchy]]
10}
11
12enum Efl.Access.Role 4enum Efl.Access.Role
13{ 5{
14 [[Describes the role of an object visible to Accessibility Clients.]] 6 [[Describes the role of an object visible to Accessibility Clients.]]
@@ -415,16 +407,6 @@ mixin Efl.Access (Efl.Interface, Efl.Object)
415 domain: string; [[Translation domain]] 407 domain: string; [[Translation domain]]
416 } 408 }
417 } 409 }
418 @property type @beta {
419 [[Type of accessibility object]]
420 get {
421 }
422 set {
423 }
424 values {
425 type: Efl.Access.Type; [[Object type]]
426 }
427 }
428 relationship_append @beta { 410 relationship_append @beta {
429 [[Defines the relationship between two accessible objects. 411 [[Defines the relationship between two accessible objects.
430 412
diff --git a/src/lib/elementary/efl_ui_bg.c b/src/lib/elementary/efl_ui_bg.c
index 79991a2179..c545d37990 100644
--- a/src/lib/elementary/efl_ui_bg.c
+++ b/src/lib/elementary/efl_ui_bg.c
@@ -132,7 +132,6 @@ _efl_ui_bg_efl_object_constructor(Eo *obj, Efl_Ui_Bg_Data *_pd EINA_UNUSED)
132{ 132{
133 obj = efl_constructor(efl_super(obj, MY_CLASS)); 133 obj = efl_constructor(efl_super(obj, MY_CLASS));
134 efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY); 134 efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY);
135 efl_access_type_set(obj, EFL_ACCESS_TYPE_DISABLED);
136 135
137 efl_ui_widget_focus_allow_set(obj, EINA_FALSE); 136 efl_ui_widget_focus_allow_set(obj, EINA_FALSE);
138 137
diff --git a/src/lib/elementary/efl_ui_box.c b/src/lib/elementary/efl_ui_box.c
index 9274b5666b..24f2ca992e 100644
--- a/src/lib/elementary/efl_ui_box.c
+++ b/src/lib/elementary/efl_ui_box.c
@@ -161,7 +161,6 @@ _efl_ui_box_efl_object_constructor(Eo *obj, Efl_Ui_Box_Data *pd)
161 obj = efl_constructor(efl_super(obj, MY_CLASS)); 161 obj = efl_constructor(efl_super(obj, MY_CLASS));
162 efl_canvas_object_type_set(obj, MY_CLASS_NAME); 162 efl_canvas_object_type_set(obj, MY_CLASS_NAME);
163 evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks); 163 evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks);
164 efl_access_type_set(obj, EFL_ACCESS_TYPE_SKIPPED);
165 efl_access_role_set(obj, EFL_ACCESS_ROLE_FILLER); 164 efl_access_role_set(obj, EFL_ACCESS_ROLE_FILLER);
166 165
167 pd->align.h = 0.5; 166 pd->align.h = 0.5;
diff --git a/src/lib/elementary/efl_ui_list.c b/src/lib/elementary/efl_ui_list.c
index 1b3d8ce9ee..597e4caf27 100644
--- a/src/lib/elementary/efl_ui_list.c
+++ b/src/lib/elementary/efl_ui_list.c
@@ -302,7 +302,6 @@ _efl_ui_list_efl_canvas_group_group_add(Eo *obj, Efl_Ui_List_Data *pd)
302 302
303 pd->mode = ELM_LIST_COMPRESS; 303 pd->mode = ELM_LIST_COMPRESS;
304 304
305 efl_access_type_set(obj, EFL_ACCESS_TYPE_DISABLED);
306 pd->pan_obj = efl_add(MY_PAN_CLASS, evas_object_evas_get(obj)); 305 pd->pan_obj = efl_add(MY_PAN_CLASS, evas_object_evas_get(obj));
307 pan_data = efl_data_scope_get(pd->pan_obj, MY_PAN_CLASS); 306 pan_data = efl_data_scope_get(pd->pan_obj, MY_PAN_CLASS);
308 pan_data->wobj = obj; 307 pan_data->wobj = obj;
diff --git a/src/lib/elementary/efl_ui_multibuttonentry.c b/src/lib/elementary/efl_ui_multibuttonentry.c
index c5304f1246..d74bd7d8fb 100644
--- a/src/lib/elementary/efl_ui_multibuttonentry.c
+++ b/src/lib/elementary/efl_ui_multibuttonentry.c
@@ -753,8 +753,6 @@ _item_new(Efl_Ui_Multibuttonentry_Data *sd,
753 ELM_MULTIBUTTONENTRY_ITEM_DATA_GET(eo_item, item); 753 ELM_MULTIBUTTONENTRY_ITEM_DATA_GET(eo_item, item);
754 VIEW(item) = elm_layout_add(obj); 754 VIEW(item) = elm_layout_add(obj);
755 755
756 efl_access_type_set(VIEW(item), EFL_ACCESS_TYPE_DISABLED);
757
758 if (!elm_widget_element_update(obj, VIEW(item), PART_NAME_BUTTON)) 756 if (!elm_widget_element_update(obj, VIEW(item), PART_NAME_BUTTON))
759 CRI("Failed to set layout!"); 757 CRI("Failed to set layout!");
760 758
diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index 54945cb699..b1ebeddc04 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -4358,7 +4358,6 @@ _elm_win_frame_add(Efl_Ui_Win_Data *sd, const char *element, const char *style)
4358 efreet_desktop_free(d); 4358 efreet_desktop_free(d);
4359 } 4359 }
4360 } 4360 }
4361 efl_access_type_set(sd->icon, EFL_ACCESS_TYPE_DISABLED);
4362 } 4361 }
4363 4362
4364 edje_object_part_swallow(sd->frame_obj, "elm.swallow.icon", sd->icon); 4363 edje_object_part_swallow(sd->frame_obj, "elm.swallow.icon", sd->icon);
diff --git a/src/lib/elementary/elm_atspi_app_object.c b/src/lib/elementary/elm_atspi_app_object.c
index b1d45c1960..19b9ac4ac5 100644
--- a/src/lib/elementary/elm_atspi_app_object.c
+++ b/src/lib/elementary/elm_atspi_app_object.c
@@ -33,12 +33,9 @@ _elm_atspi_app_object_efl_access_children_get(Eo *obj EINA_UNUSED, Elm_Atspi_App
33 33
34 EINA_LIST_FOREACH(_elm_win_list, l, win) 34 EINA_LIST_FOREACH(_elm_win_list, l, win)
35 { 35 {
36 Efl_Access_Type type;
37 if (!efl_isa(win, EFL_ACCESS_MIXIN)) 36 if (!efl_isa(win, EFL_ACCESS_MIXIN))
38 continue; 37 continue;
39 type = efl_access_type_get(win); 38 accs = eina_list_append(accs, win);
40 if (type == EFL_ACCESS_TYPE_REGULAR)
41 accs = eina_list_append(accs, win);
42 } 39 }
43 40
44 return accs; 41 return accs;
diff --git a/src/lib/elementary/elm_box.c b/src/lib/elementary/elm_box.c
index 6b4a8868d7..5cfeacc633 100644
--- a/src/lib/elementary/elm_box.c
+++ b/src/lib/elementary/elm_box.c
@@ -375,7 +375,6 @@ _elm_box_efl_object_constructor(Eo *obj, Elm_Box_Data *_pd EINA_UNUSED)
375 obj = efl_constructor(efl_super(obj, MY_CLASS)); 375 obj = efl_constructor(efl_super(obj, MY_CLASS));
376 efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY); 376 efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY);
377 evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks); 377 evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks);
378 efl_access_type_set(obj, EFL_ACCESS_TYPE_SKIPPED);
379 efl_access_role_set(obj, EFL_ACCESS_ROLE_FILLER); 378 efl_access_role_set(obj, EFL_ACCESS_ROLE_FILLER);
380 379
381 return obj; 380 return obj;
diff --git a/src/lib/elementary/elm_list.c b/src/lib/elementary/elm_list.c
index 9a5631c76e..0929a26047 100644
--- a/src/lib/elementary/elm_list.c
+++ b/src/lib/elementary/elm_list.c
@@ -2312,7 +2312,6 @@ _item_new(Evas_Object *obj,
2312 evas_object_event_callback_add 2312 evas_object_event_callback_add
2313 (it->icon, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _size_hints_changed_cb, 2313 (it->icon, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _size_hints_changed_cb,
2314 obj); 2314 obj);
2315 efl_access_type_set(it->icon, EFL_ACCESS_TYPE_DISABLED);
2316 elm_widget_tree_unfocusable_set(it->icon, EINA_TRUE); 2315 elm_widget_tree_unfocusable_set(it->icon, EINA_TRUE);
2317 } 2316 }
2318 if (it->end) 2317 if (it->end)
@@ -2321,7 +2320,6 @@ _item_new(Evas_Object *obj,
2321 evas_object_event_callback_add 2320 evas_object_event_callback_add
2322 (it->end, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _size_hints_changed_cb, 2321 (it->end, EVAS_CALLBACK_CHANGED_SIZE_HINTS, _size_hints_changed_cb,
2323 obj); 2322 obj);
2324 efl_access_type_set(it->end, EFL_ACCESS_TYPE_DISABLED);
2325 elm_widget_tree_unfocusable_set(it->end, EINA_TRUE); 2323 elm_widget_tree_unfocusable_set(it->end, EINA_TRUE);
2326 } 2324 }
2327 2325
@@ -2391,7 +2389,6 @@ _elm_list_efl_canvas_group_group_add(Eo *obj, Elm_List_Data *priv)
2391 priv->box = elm_box_add(obj); 2389 priv->box = elm_box_add(obj);
2392 evas_object_size_hint_weight_set(priv->box, EVAS_HINT_EXPAND, 0.0); 2390 evas_object_size_hint_weight_set(priv->box, EVAS_HINT_EXPAND, 0.0);
2393 evas_object_size_hint_align_set(priv->box, EVAS_HINT_FILL, 0.0); 2391 evas_object_size_hint_align_set(priv->box, EVAS_HINT_FILL, 0.0);
2394 efl_access_type_set(priv->box, EFL_ACCESS_TYPE_DISABLED);
2395 2392
2396 /* FIXME: change this ugly code path later */ 2393 /* FIXME: change this ugly code path later */
2397 elm_widget_on_show_region_hook_set(priv->box, obj, _show_region_hook, NULL); 2394 elm_widget_on_show_region_hook_set(priv->box, obj, _show_region_hook, NULL);
diff --git a/src/lib/elementary/elm_menu.c b/src/lib/elementary/elm_menu.c
index 446f58e362..95cd8a796a 100644
--- a/src/lib/elementary/elm_menu.c
+++ b/src/lib/elementary/elm_menu.c
@@ -580,7 +580,6 @@ static void
580_item_obj_create(Elm_Menu_Item_Data *item) 580_item_obj_create(Elm_Menu_Item_Data *item)
581{ 581{
582 VIEW(item) = elm_layout_add(WIDGET(item)); 582 VIEW(item) = elm_layout_add(WIDGET(item));
583 efl_access_type_set(VIEW(item), EFL_ACCESS_TYPE_SKIPPED);
584 evas_object_size_hint_weight_set 583 evas_object_size_hint_weight_set
585 (VIEW(item), EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); 584 (VIEW(item), EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
586 evas_object_size_hint_fill_set(VIEW(item), EVAS_HINT_FILL, EVAS_HINT_FILL); 585 evas_object_size_hint_fill_set(VIEW(item), EVAS_HINT_FILL, EVAS_HINT_FILL);
@@ -604,7 +603,6 @@ static void
604_item_separator_obj_create(Elm_Menu_Item_Data *item) 603_item_separator_obj_create(Elm_Menu_Item_Data *item)
605{ 604{
606 VIEW(item) = elm_layout_add(WIDGET(item)); 605 VIEW(item) = elm_layout_add(WIDGET(item));
607 efl_access_type_set(VIEW(item), EFL_ACCESS_TYPE_SKIPPED);
608 evas_object_size_hint_weight_set 606 evas_object_size_hint_weight_set
609 (VIEW(item), EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); 607 (VIEW(item), EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
610 evas_object_size_hint_fill_set(VIEW(item), EVAS_HINT_FILL, EVAS_HINT_FILL); 608 evas_object_size_hint_fill_set(VIEW(item), EVAS_HINT_FILL, EVAS_HINT_FILL);
@@ -627,9 +625,7 @@ _item_submenu_obj_create(Elm_Menu_Item_Data *item)
627 char style[1024]; 625 char style[1024];
628 626
629 item->submenu.location = elm_icon_add(sd->bx); 627 item->submenu.location = elm_icon_add(sd->bx);
630 efl_access_type_set(item->submenu.location, EFL_ACCESS_TYPE_DISABLED);
631 item->submenu.hv = hv = elm_hover_add(sd->bx); 628 item->submenu.hv = hv = elm_hover_add(sd->bx);
632 efl_access_type_set(item->submenu.hv, EFL_ACCESS_TYPE_SKIPPED);
633 efl_ui_mirrored_set(hv, EINA_FALSE); 629 efl_ui_mirrored_set(hv, EINA_FALSE);
634 elm_hover_target_set(hv, item->submenu.location); 630 elm_hover_target_set(hv, item->submenu.location);
635 elm_hover_parent_set(hv, sd->parent); 631 elm_hover_parent_set(hv, sd->parent);
@@ -695,10 +691,8 @@ _elm_menu_efl_canvas_group_group_add(Eo *obj, Elm_Menu_Data *priv)
695 elm_widget_can_focus_set(obj, EINA_FALSE); 691 elm_widget_can_focus_set(obj, EINA_FALSE);
696 692
697 priv->location = elm_icon_add(obj); 693 priv->location = elm_icon_add(obj);
698 efl_access_type_set(priv->location, EFL_ACCESS_TYPE_DISABLED);
699 694
700 priv->hv = elm_hover_add(obj); 695 priv->hv = elm_hover_add(obj);
701 efl_access_type_set(priv->hv, EFL_ACCESS_TYPE_SKIPPED);
702 efl_ui_mirrored_set(priv->hv, EINA_FALSE); 696 efl_ui_mirrored_set(priv->hv, EINA_FALSE);
703 697
704 elm_object_style_set(priv->hv, "menu/default"); 698 elm_object_style_set(priv->hv, "menu/default");
@@ -706,7 +700,6 @@ _elm_menu_efl_canvas_group_group_add(Eo *obj, Elm_Menu_Data *priv)
706 (priv->hv, ELM_HOVER_EVENT_DISMISSED, _hover_dismissed_cb, obj); 700 (priv->hv, ELM_HOVER_EVENT_DISMISSED, _hover_dismissed_cb, obj);
707 701
708 priv->bx = elm_box_add(obj); 702 priv->bx = elm_box_add(obj);
709 efl_access_type_set(priv->bx, EFL_ACCESS_TYPE_SKIPPED);
710 efl_ui_mirrored_set(priv->bx, EINA_FALSE); 703 efl_ui_mirrored_set(priv->bx, EINA_FALSE);
711 evas_object_size_hint_weight_set 704 evas_object_size_hint_weight_set
712 (priv->bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); 705 (priv->bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
@@ -1115,7 +1108,6 @@ _elm_menu_item_add(Eo *obj, Elm_Menu_Data *sd, Elm_Object_Item *parent, const ch
1115 Evas_Object *icon_obj; 1108 Evas_Object *icon_obj;
1116 1109
1117 icon_obj = elm_icon_add(obj); 1110 icon_obj = elm_icon_add(obj);
1118 efl_access_type_set(icon_obj, EFL_ACCESS_TYPE_DISABLED);
1119 if (!icon_obj) return NULL; 1111 if (!icon_obj) return NULL;
1120 1112
1121 eo_item = efl_add(ELM_MENU_ITEM_CLASS, obj); 1113 eo_item = efl_add(ELM_MENU_ITEM_CLASS, obj);
diff --git a/src/lib/elementary/elm_toolbar.c b/src/lib/elementary/elm_toolbar.c
index aa86ec8e06..e244418e3a 100644
--- a/src/lib/elementary/elm_toolbar.c
+++ b/src/lib/elementary/elm_toolbar.c
@@ -2398,7 +2398,6 @@ _item_new(Evas_Object *obj,
2398 VIEW(it) = elm_layout_add(obj); 2398 VIEW(it) = elm_layout_add(obj);
2399 elm_widget_tree_unfocusable_set(VIEW(it), EINA_TRUE); 2399 elm_widget_tree_unfocusable_set(VIEW(it), EINA_TRUE);
2400 evas_object_data_set(VIEW(it), "item", it); 2400 evas_object_data_set(VIEW(it), "item", it);
2401 efl_access_type_set(VIEW(it), EFL_ACCESS_TYPE_DISABLED);
2402 2401
2403 icon_obj = elm_icon_add(VIEW(it)); 2402 icon_obj = elm_icon_add(VIEW(it));
2404 2403
@@ -2786,7 +2785,6 @@ _elm_toolbar_efl_canvas_group_group_add(Eo *obj, Elm_Toolbar_Data *priv)
2786 else 2785 else
2787 elm_object_signal_emit(priv->more, "elm,orient,horizontal", "elm"); 2786 elm_object_signal_emit(priv->more, "elm,orient,horizontal", "elm");
2788 2787
2789 efl_access_type_set(priv->more, EFL_ACCESS_TYPE_DISABLED);
2790 elm_widget_sub_object_add(obj, priv->more); 2788 elm_widget_sub_object_add(obj, priv->more);
2791 evas_object_show(priv->more); 2789 evas_object_show(priv->more);
2792 2790
diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c
index bf983bc8d9..c42b3df9c1 100644
--- a/src/lib/elementary/elm_widget.c
+++ b/src/lib/elementary/elm_widget.c
@@ -5308,38 +5308,20 @@ _elm_widget_efl_access_children_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *
5308{ 5308{
5309 Eina_List *l, *accs = NULL; 5309 Eina_List *l, *accs = NULL;
5310 Evas_Object *widget; 5310 Evas_Object *widget;
5311 Efl_Access_Type type;
5312 5311
5313 EINA_LIST_FOREACH(pd->subobjs, l, widget) 5312 EINA_LIST_FOREACH(pd->subobjs, l, widget)
5314 { 5313 {
5315 if (!elm_object_widget_check(widget)) continue; 5314 if (!elm_object_widget_check(widget)) continue;
5316 if (!efl_isa(widget, EFL_ACCESS_MIXIN)) continue; 5315 if (!efl_isa(widget, EFL_ACCESS_MIXIN)) continue;
5317 type = efl_access_type_get(widget);
5318 if (type == EFL_ACCESS_TYPE_DISABLED) continue;
5319 if (type == EFL_ACCESS_TYPE_SKIPPED)
5320 {
5321 Eina_List *children;
5322 children = efl_access_children_get(widget);
5323 accs = eina_list_merge(accs, children);
5324 continue;
5325 }
5326 accs = eina_list_append(accs, widget); 5316 accs = eina_list_append(accs, widget);
5327 } 5317 }
5328 return accs; 5318 return accs;
5329} 5319}
5330 5320
5331EOLIAN static Eo* 5321EOLIAN static Eo*
5332_elm_widget_efl_access_parent_get(Eo *obj, Elm_Widget_Smart_Data *pd EINA_UNUSED) 5322_elm_widget_efl_access_parent_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *pd)
5333{ 5323{
5334 Efl_Access_Type type; 5324 Efl_Access *parent = pd->parent_obj;
5335 Efl_Access *parent = obj;
5336
5337 do {
5338 ELM_WIDGET_DATA_GET_OR_RETURN(parent, wd, NULL);
5339 parent = wd->parent_obj;
5340 type = efl_access_type_get(parent);
5341 } while (parent && (type == EFL_ACCESS_TYPE_SKIPPED));
5342
5343 return efl_isa(parent, EFL_ACCESS_MIXIN) ? parent : NULL; 5325 return efl_isa(parent, EFL_ACCESS_MIXIN) ? parent : NULL;
5344} 5326}
5345 5327