diff options
27 files changed, 156 insertions, 202 deletions
diff --git a/src/lib/elementary/efl_access_object.c b/src/lib/elementary/efl_access_object.c index b9626274e2..cbc9673732 100644 --- a/src/lib/elementary/efl_access_object.c +++ b/src/lib/elementary/efl_access_object.c @@ -146,7 +146,7 @@ _efl_access_object_index_in_parent_get(const Eo *obj, Efl_Access_Object_Data *pd Eo *chld, *parent = NULL; int ret = 0; - parent = efl_provider_find(efl_parent_get(obj), EFL_ACCESS_OBJECT_MIXIN); + parent = efl_provider_find(efl_parent_get(obj), EFL_ACCESS_OBJECT_CLASS); if (!parent) return -1; children = efl_access_object_access_children_get(parent); @@ -173,14 +173,14 @@ _efl_access_object_efl_object_provider_find(const Eo *obj, Efl_Access_Object_Dat { if (efl_isa(obj, klass)) { - if (klass == EFL_ACCESS_OBJECT_MIXIN) + if (klass == EFL_ACCESS_OBJECT_CLASS) { Efl_Access_Type type = efl_access_object_access_type_get(obj); if (type != EFL_ACCESS_TYPE_SKIPPED) return (Eo*)obj; } else return (Eo*)obj; } - return efl_provider_find(efl_super(obj, EFL_ACCESS_OBJECT_MIXIN), klass); + return efl_provider_find(efl_super(obj, EFL_ACCESS_OBJECT_CLASS), klass); } EOLIAN Eina_List* @@ -363,7 +363,7 @@ _efl_access_object_access_children_get(const Eo *obj, Efl_Access_Object_Data *pd EINA_ITERATOR_FOREACH(iter, chld) { - if (efl_isa(chld, EFL_ACCESS_OBJECT_MIXIN)) + if (efl_isa(chld, EFL_ACCESS_OBJECT_CLASS)) children = eina_list_append(children, chld); } eina_iterator_free(iter); @@ -401,7 +401,7 @@ _efl_access_object_event_emit(Eo *class EINA_UNUSED, void *pd EINA_UNUSED, Eo *a Efl_Access_Event_Handler *hdl; Efl_Access_Type type; - if (!accessible || !event || !efl_isa(accessible, EFL_ACCESS_OBJECT_MIXIN)) + if (!accessible || !event || !efl_isa(accessible, EFL_ACCESS_OBJECT_CLASS)) { CRI("Invalid parameters, event: %s, obj: %s", event ? event->name : "NULL", accessible ? efl_class_name_get(accessible) : "NULL"); return; @@ -610,7 +610,7 @@ _efl_access_object_access_type_set(Eo *obj, Efl_Access_Object_Data *pd, Efl_Acce if (val == pd->type) return; - parent = efl_provider_find(efl_parent_get(obj), EFL_ACCESS_OBJECT_MIXIN); + parent = efl_provider_find(efl_parent_get(obj), EFL_ACCESS_OBJECT_CLASS); switch (val) { @@ -631,7 +631,7 @@ _efl_access_object_efl_object_invalidate(Eo *obj, Efl_Access_Object_Data *pd) { efl_access_relation_set_free(pd); - efl_invalidate(efl_super(obj, EFL_ACCESS_OBJECT_MIXIN)); + efl_invalidate(efl_super(obj, EFL_ACCESS_OBJECT_CLASS)); } EOLIAN void @@ -641,7 +641,7 @@ _efl_access_object_efl_object_destructor(Eo *obj, Efl_Access_Object_Data *pd) eina_stringshare_del(pd->description); eina_stringshare_del(pd->translation_domain); - efl_destructor(efl_super(obj, EFL_ACCESS_OBJECT_MIXIN)); + efl_destructor(efl_super(obj, EFL_ACCESS_OBJECT_CLASS)); } void diff --git a/src/lib/elementary/efl_access_object.eo b/src/lib/elementary/efl_access_object.eo index ad82be2357..a75ce3c9da 100644 --- a/src/lib/elementary/efl_access_object.eo +++ b/src/lib/elementary/efl_access_object.eo @@ -239,7 +239,7 @@ struct Efl.Access.Relation objects: list<Efl.Object>; [[List with relation objects]] } -mixin Efl.Access.Object (Efl.Interface, Efl.Object) +class Efl.Access.Object (Efl.Object) { [[Accessibility accessible mixin]] eo_prefix: efl_access_object; diff --git a/src/lib/elementary/efl_access_object.h b/src/lib/elementary/efl_access_object.h index 72fb57734e..3930e3beb1 100644 --- a/src/lib/elementary/efl_access_object.h +++ b/src/lib/elementary/efl_access_object.h @@ -40,7 +40,7 @@ EAPI void efl_access_attributes_list_free(Eina_List *list); Efl_Access_Event_State_Changed_Data evinfo; \ evinfo.type = (tp); \ evinfo.new_value = (nvl); \ - efl_access_object_event_emit(EFL_ACCESS_OBJECT_MIXIN, obj, EFL_ACCESS_OBJECT_EVENT_STATE_CHANGED, (void*)&evinfo); \ + efl_access_object_event_emit(EFL_ACCESS_OBJECT_CLASS, obj, EFL_ACCESS_OBJECT_EVENT_STATE_CHANGED, (void*)&evinfo); \ } while(0); } /** @@ -49,38 +49,38 @@ EAPI void efl_access_attributes_list_free(Eina_List *list); #define efl_access_bounds_changed_signal_emit(obj, x, y, width, height) \ do { \ Efl_Access_Event_Geometry_Changed_Data evinfo = { x, y, width, height }; \ - efl_access_object_event_emit(EFL_ACCESS_OBJECT_MIXIN, obj, EFL_ACCESS_OBJECT_EVENT_BOUNDS_CHANGED, (void*)&evinfo); \ + efl_access_object_event_emit(EFL_ACCESS_OBJECT_CLASS, obj, EFL_ACCESS_OBJECT_EVENT_BOUNDS_CHANGED, (void*)&evinfo); \ } while(0); /** * Emits Accessible 'PropertyChanged' signal for 'Name' property. */ #define efl_access_i18n_name_changed_signal_emit(obj) \ - efl_access_object_event_emit(EFL_ACCESS_OBJECT_MIXIN, obj, EFL_ACCESS_OBJECT_EVENT_PROPERTY_CHANGED, "i18n_name"); + efl_access_object_event_emit(EFL_ACCESS_OBJECT_CLASS, obj, EFL_ACCESS_OBJECT_EVENT_PROPERTY_CHANGED, "i18n_name"); /** * Emits Accessible 'PropertyChanged' signal for 'Description' property. */ #define efl_access_description_changed_signal_emit(obj) \ - efl_access_object_event_emit(EFL_ACCESS_OBJECT_MIXIN, obj, EFL_ACCESS_OBJECT_EVENT_PROPERTY_CHANGED, "description"); + efl_access_object_event_emit(EFL_ACCESS_OBJECT_CLASS, obj, EFL_ACCESS_OBJECT_EVENT_PROPERTY_CHANGED, "description"); /** * Emits Accessible 'PropertyChanged' signal for 'Parent' property. */ #define efl_access_parent_changed_signal_emit(obj) \ - efl_access_object_event_emit(EFL_ACCESS_OBJECT_MIXIN, obj, EFL_ACCESS_OBJECT_EVENT_PROPERTY_CHANGED, "parent"); + efl_access_object_event_emit(EFL_ACCESS_OBJECT_CLASS, obj, EFL_ACCESS_OBJECT_EVENT_PROPERTY_CHANGED, "parent"); /** * Emits Accessible 'PropertyChanged' signal for 'Role' property. */ #define efl_access_role_changed_signal_emit(obj) \ - efl_access_object_event_emit(EFL_ACCESS_OBJECT_MIXIN, obj, EFL_ACCESS_OBJECT_EVENT_PROPERTY_CHANGED, "role"); + efl_access_object_event_emit(EFL_ACCESS_OBJECT_CLASS, obj, EFL_ACCESS_OBJECT_EVENT_PROPERTY_CHANGED, "role"); /** * Emits Accessible 'PropertyChanged' signal for 'Value' property. */ #define efl_access_value_changed_signal_emit(obj) \ - efl_access_object_event_emit(EFL_ACCESS_OBJECT_MIXIN, obj, EFL_ACCESS_OBJECT_EVENT_PROPERTY_CHANGED, "value"); + efl_access_object_event_emit(EFL_ACCESS_OBJECT_CLASS, obj, EFL_ACCESS_OBJECT_EVENT_PROPERTY_CHANGED, "value"); /** * Emits Accessible 'ChildrenChanged' signal with added child as argument. @@ -88,7 +88,7 @@ EAPI void efl_access_attributes_list_free(Eina_List *list); #define efl_access_children_changed_added_signal_emit(obj, child) \ do { \ Efl_Access_Event_Children_Changed_Data atspi_data = { EINA_TRUE, child }; \ - efl_access_object_event_emit(EFL_ACCESS_OBJECT_MIXIN, obj, EFL_ACCESS_OBJECT_EVENT_CHILDREN_CHANGED, &atspi_data); \ + efl_access_object_event_emit(EFL_ACCESS_OBJECT_CLASS, obj, EFL_ACCESS_OBJECT_EVENT_CHILDREN_CHANGED, &atspi_data); \ } while(0); /** @@ -97,32 +97,32 @@ EAPI void efl_access_attributes_list_free(Eina_List *list); #define efl_access_children_changed_del_signal_emit(obj, child) \ do { \ Efl_Access_Event_Children_Changed_Data atspi_data = { EINA_FALSE, child }; \ - efl_access_object_event_emit(EFL_ACCESS_OBJECT_MIXIN, obj, EFL_ACCESS_OBJECT_EVENT_CHILDREN_CHANGED, &atspi_data); \ + efl_access_object_event_emit(EFL_ACCESS_OBJECT_CLASS, obj, EFL_ACCESS_OBJECT_EVENT_CHILDREN_CHANGED, &atspi_data); \ } while(0); /** * Emits Accessible 'ActiveDescendantChanged' signal. */ #define efl_access_active_descendant_changed_signal_emit(obj, child) \ - efl_access_object_event_emit(EFL_ACCESS_OBJECT_MIXIN, obj, EFL_ACCESS_OBJECT_EVENT_ACTIVE_DESCENDANT_CHANGED, child); + efl_access_object_event_emit(EFL_ACCESS_OBJECT_CLASS, obj, EFL_ACCESS_OBJECT_EVENT_ACTIVE_DESCENDANT_CHANGED, child); /** * Emits Accessible 'VisibleDataChanged' signal. */ #define efl_access_visible_data_changed_signal_emit(obj) \ - efl_access_object_event_emit(EFL_ACCESS_OBJECT_MIXIN, obj, EFL_ACCESS_OBJECT_EVENT_VISIBLE_DATA_CHANGED, NULL); + efl_access_object_event_emit(EFL_ACCESS_OBJECT_CLASS, obj, EFL_ACCESS_OBJECT_EVENT_VISIBLE_DATA_CHANGED, NULL); /** * Emits Accessible 'AddAccessible' signal. */ #define efl_access_added(obj) \ - efl_access_object_event_emit(EFL_ACCESS_OBJECT_MIXIN, obj, EFL_ACCESS_OBJECT_EVENT_ADDED, NULL); + efl_access_object_event_emit(EFL_ACCESS_OBJECT_CLASS, obj, EFL_ACCESS_OBJECT_EVENT_ADDED, NULL); /** * Emits Accessible 'RemoveAccessible' signal. */ #define efl_access_removed(obj) \ - efl_access_object_event_emit(EFL_ACCESS_OBJECT_MIXIN, obj, EFL_ACCESS_OBJECT_EVENT_REMOVED, NULL); + efl_access_object_event_emit(EFL_ACCESS_OBJECT_CLASS, obj, EFL_ACCESS_OBJECT_EVENT_REMOVED, NULL); #endif diff --git a/src/lib/elementary/efl_access_window.h b/src/lib/elementary/efl_access_window.h index 38938d21ca..342fd111d3 100644 --- a/src/lib/elementary/efl_access_window.h +++ b/src/lib/elementary/efl_access_window.h @@ -14,43 +14,43 @@ * Emits 'Window:Activated' accessible signal. */ #define efl_access_window_activated_signal_emit(obj) \ - efl_access_object_event_emit(EFL_ACCESS_OBJECT_MIXIN, obj, EFL_ACCESS_WINDOW_EVENT_WINDOW_ACTIVATED, NULL); + efl_access_object_event_emit(EFL_ACCESS_OBJECT_CLASS, obj, EFL_ACCESS_WINDOW_EVENT_WINDOW_ACTIVATED, NULL); /** * Emits 'Window:Deactivated' accessible signal. */ #define efl_access_window_deactivated_signal_emit(obj) \ - efl_access_object_event_emit(EFL_ACCESS_OBJECT_MIXIN, obj, EFL_ACCESS_WINDOW_EVENT_WINDOW_DEACTIVATED, NULL); + efl_access_object_event_emit(EFL_ACCESS_OBJECT_CLASS, obj, EFL_ACCESS_WINDOW_EVENT_WINDOW_DEACTIVATED, NULL); /** * Emits 'Window:Created' accessible signal. */ #define efl_access_window_created_signal_emit(obj) \ - efl_access_object_event_emit(EFL_ACCESS_OBJECT_MIXIN, obj, EFL_ACCESS_WINDOW_EVENT_WINDOW_CREATED, NULL); + efl_access_object_event_emit(EFL_ACCESS_OBJECT_CLASS, obj, EFL_ACCESS_WINDOW_EVENT_WINDOW_CREATED, NULL); /** * Emits 'Window:Destroyed' accessible signal. */ #define efl_access_window_destroyed_signal_emit(obj) \ - efl_access_object_event_emit(EFL_ACCESS_OBJECT_MIXIN, obj, EFL_ACCESS_WINDOW_EVENT_WINDOW_DESTROYED, NULL); + efl_access_object_event_emit(EFL_ACCESS_OBJECT_CLASS, obj, EFL_ACCESS_WINDOW_EVENT_WINDOW_DESTROYED, NULL); /** * Emits 'Window:Maximized' accessible signal. */ #define efl_access_window_maximized_signal_emit(obj) \ - efl_access_object_event_emit(EFL_ACCESS_OBJECT_MIXIN, obj, EFL_ACCESS_WINDOW_EVENT_WINDOW_MAXIMIZED, NULL); + efl_access_object_event_emit(EFL_ACCESS_OBJECT_CLASS, obj, EFL_ACCESS_WINDOW_EVENT_WINDOW_MAXIMIZED, NULL); /** * Emits 'Window:Minimized' accessible signal. */ #define efl_access_window_minimized_signal_emit(obj) \ - efl_access_object_event_emit(EFL_ACCESS_OBJECT_MIXIN, obj, EFL_ACCESS_WINDOW_EVENT_WINDOW_MINIMIZED, NULL); + efl_access_object_event_emit(EFL_ACCESS_OBJECT_CLASS, obj, EFL_ACCESS_WINDOW_EVENT_WINDOW_MINIMIZED, NULL); /** * Emits 'Window:Restored' accessible signal. */ #define efl_access_window_restored_signal_emit(obj) \ - efl_access_object_event_emit(EFL_ACCESS_OBJECT_MIXIN, obj, EFL_ACCESS_WINDOW_EVENT_WINDOW_RESTORED, NULL); + efl_access_object_event_emit(EFL_ACCESS_OBJECT_CLASS, obj, EFL_ACCESS_WINDOW_EVENT_WINDOW_RESTORED, NULL); #endif #endif diff --git a/src/lib/elementary/efl_ui_check.eo b/src/lib/elementary/efl_ui_check.eo index ef0f76de79..0caf70bba7 100644 --- a/src/lib/elementary/efl_ui_check.eo +++ b/src/lib/elementary/efl_ui_check.eo @@ -1,4 +1,4 @@ -class Efl.Ui.Check (Efl.Ui.Nstate, Efl.Access.Widget.Action) +class Efl.Ui.Check (Efl.Ui.Nstate) { [[Check widget @@ -26,7 +26,5 @@ class Efl.Ui.Check (Efl.Ui.Nstate, Efl.Access.Widget.Action) Efl.Ui.Widget.theme_apply; Efl.Ui.Widget.widget_event; Efl.Ui.Nstate.value { set; } - Efl.Access.Object.state_set { get; } - Efl.Access.Widget.Action.elm_actions { get; } } } diff --git a/src/lib/elementary/efl_ui_list_view.eo b/src/lib/elementary/efl_ui_list_view.eo index 971a0187c8..7b8570d684 100644 --- a/src/lib/elementary/efl_ui_list_view.eo +++ b/src/lib/elementary/efl_ui_list_view.eo @@ -7,7 +7,7 @@ struct Efl.Ui.List_View_Item_Event index: int; } class Efl.Ui.List_View (Efl.Ui.Layout, Efl.Ui.Scrollable_Interactive, Efl.Ui.Scrollbar, - Efl.Access.Widget.Action, Efl.Access.Selection, Efl.Ui.Focus.Composition, Efl.Ui.Focus.Manager_Sub, + Efl.Ui.Focus.Composition, Efl.Ui.Focus.Manager_Sub, Efl.Ui.Clickable, Efl.Ui.Selectable, Efl.Ui.List_View_Model, Efl.Ui.Widget_Focus_Manager) { methods { @@ -86,17 +86,5 @@ class Efl.Ui.List_View (Efl.Ui.Layout, Efl.Ui.Scrollable_Interactive, Efl.Ui.Scr // Efl.Ui.Scrollable_Interactive.scroll; Efl.Layout.Signal.signal_callback_add; Efl.Layout.Signal.signal_callback_del; -// Elm.Interface.Atspi_Accessible.children { get; } -// Elm.Interface.Atspi_Widget.Action.elm_actions { get; } -// Efl.Access.Widget.Action.elm_actions { get; } - Efl.Access.Object.access_children { get; } - Efl.Access.Selection.selected_children_count { get; } - Efl.Access.Selection.selected_child { get; } - Efl.Access.Selection.selected_child_deselect; - Efl.Access.Selection.child_select; - Efl.Access.Selection.child_deselect; - Efl.Access.Selection.is_child_selected; - Efl.Access.Selection.all_children_select; - Efl.Access.Selection.access_selection_clear; } } diff --git a/src/lib/elementary/efl_ui_radio.eo b/src/lib/elementary/efl_ui_radio.eo index 44d3df9276..91814ac02f 100644 --- a/src/lib/elementary/efl_ui_radio.eo +++ b/src/lib/elementary/efl_ui_radio.eo @@ -1,4 +1,4 @@ -class Efl.Ui.Radio (Efl.Ui.Check, Efl.Access.Widget.Action, Efl.Content) +class Efl.Ui.Radio (Efl.Ui.Check, Efl.Content) { [[Elementary radio class]] legacy_prefix: elm_radio; @@ -64,8 +64,6 @@ class Efl.Ui.Radio (Efl.Ui.Check, Efl.Access.Widget.Action, Efl.Content) Efl.Ui.Widget.theme_apply; Efl.Ui.Widget.on_access_activate; Efl.Ui.Widget.widget_event; - Efl.Access.Object.state_set { get; } - Efl.Access.Widget.Action.elm_actions { get; } Efl.Ui.Nstate.value { set; get; } } } diff --git a/src/lib/elementary/efl_ui_spin_button.eo b/src/lib/elementary/efl_ui_spin_button.eo index 116fdd39e0..8b95cd7da2 100644 --- a/src/lib/elementary/efl_ui_spin_button.eo +++ b/src/lib/elementary/efl_ui_spin_button.eo @@ -1,5 +1,5 @@ -class Efl.Ui.Spin_Button (Efl.Ui.Spin, Efl.Ui.Focus.Composition, Efl.Ui.Direction, - Efl.Access.Widget.Action) +class Efl.Ui.Spin_Button (Efl.Ui.Spin, Efl.Ui.Focus.Composition, + Efl.Ui.Direction) { [[A Button Spin. @@ -69,11 +69,6 @@ class Efl.Ui.Spin_Button (Efl.Ui.Spin, Efl.Ui.Focus.Composition, Efl.Ui.Directio Efl.Ui.Focus.Object.on_focus_update; Efl.Ui.Range.range_value { set; } Efl.Ui.Direction.direction { get; set; } - Efl.Access.Object.i18n_name { get; } - Efl.Access.Value.value_and_text { get; set; } - Efl.Access.Value.range { get; } - Efl.Access.Value.increment { get; } - Efl.Access.Widget.Action.elm_actions { get; } } events { delay,changed: void; [[Called when spin delay is changed.]] diff --git a/src/lib/elementary/efl_ui_text.eo b/src/lib/elementary/efl_ui_text.eo index 70bb87861b..cda930520d 100644 --- a/src/lib/elementary/efl_ui_text.eo +++ b/src/lib/elementary/efl_ui_text.eo @@ -1,8 +1,7 @@ /* FIXME - Text object must stop using elm_general! */ import elm_general; -class Efl.Ui.Text (Efl.Ui.Layout, Efl.Ui.Clickable, - Efl.Access.Text, Efl.Access.Editable.Text, Efl.File, +class Efl.Ui.Text (Efl.Ui.Layout, Efl.Ui.Clickable, Efl.File, Efl.Ui.Selectable, Efl.Text_Interactive) { [[Efl UI text class]] @@ -338,30 +337,6 @@ class Efl.Ui.Text (Efl.Ui.Layout, Efl.Ui.Clickable, //Efl.Ui.Widget.widget_sub_object_del; //Elm.Interface_Scrollable.policy { set; } //Elm.Interface_Scrollable.bounce_allow { set; } - Efl.Access.Object.state_set { get; } - Efl.Access.Object.i18n_name { get; } - Efl.Access.Text.access_text { get; } - Efl.Access.Text.string { get; } - Efl.Access.Text.attribute { get; } - Efl.Access.Text.text_attributes { get; } - Efl.Access.Text.default_attributes { get; } - Efl.Access.Text.caret_offset { get; set; } - Efl.Access.Text.character { get; } - Efl.Access.Text.character_extents { get; } - Efl.Access.Text.character_count { get; } - Efl.Access.Text.offset_at_point { get; } - Efl.Access.Text.bounded_ranges { get; } - Efl.Access.Text.range_extents { get; } - Efl.Access.Text.access_selection { get; set; } - Efl.Access.Text.selections_count { get; } - Efl.Access.Text.selection_add; - Efl.Access.Text.selection_remove; - Efl.Access.Editable.Text.text_content { set; } - Efl.Access.Editable.Text.insert; - Efl.Access.Editable.Text.copy; - Efl.Access.Editable.Text.cut; - Efl.Access.Editable.Text.delete; - Efl.Access.Editable.Text.paste; Efl.File.file { get; set; } Efl.Text_Interactive.editable { set; } Efl.Part.part_get; diff --git a/src/lib/elementary/efl_ui_widget.c b/src/lib/elementary/efl_ui_widget.c index eec2bde180..718d69ce48 100644 --- a/src/lib/elementary/efl_ui_widget.c +++ b/src/lib/elementary/efl_ui_widget.c @@ -1576,7 +1576,7 @@ _efl_ui_widget_widget_sub_object_add(Eo *obj, Elm_Widget_Smart_Data *sd, Evas_Ob if (_elm_config->atspi_mode && !sd->on_create) { Efl_Access_Object *aparent; - aparent = efl_provider_find(efl_parent_get(sobj), EFL_ACCESS_OBJECT_MIXIN); + aparent = efl_provider_find(efl_parent_get(sobj), EFL_ACCESS_OBJECT_CLASS); if (aparent) efl_access_children_changed_added_signal_emit(aparent, sobj); } @@ -1654,7 +1654,7 @@ _efl_ui_widget_widget_sub_object_del(Eo *obj, Elm_Widget_Smart_Data *sd, Evas_Ob if (_elm_config->atspi_mode && !sd->on_destroy) { Efl_Access_Object *aparent; - aparent = efl_provider_find(efl_parent_get(sobj), EFL_ACCESS_OBJECT_MIXIN); + aparent = efl_provider_find(efl_parent_get(sobj), EFL_ACCESS_OBJECT_CLASS); if (aparent) efl_access_children_changed_del_signal_emit(aparent, sobj); } @@ -5342,8 +5342,6 @@ _efl_ui_widget_efl_object_constructor(Eo *obj, Elm_Widget_Smart_Data *sd EINA_UN efl_ui_widget_parent_set(obj, parent); sd->on_create = EINA_FALSE; - efl_access_object_role_set(obj, EFL_ACCESS_ROLE_UNKNOWN); - return obj; } @@ -5476,7 +5474,7 @@ _efl_ui_widget_efl_access_object_access_children_get(const Eo *obj EINA_UNUSED, EINA_LIST_FOREACH(pd->subobjs, l, widget) { if (!elm_object_widget_check(widget)) continue; - if (!efl_isa(widget, EFL_ACCESS_OBJECT_MIXIN)) continue; + if (!efl_isa(widget, EFL_ACCESS_OBJECT_CLASS)) continue; type = efl_access_object_access_type_get(widget); if (type == EFL_ACCESS_TYPE_DISABLED) continue; if (type == EFL_ACCESS_TYPE_SKIPPED) @@ -5624,7 +5622,7 @@ _efl_ui_widget_efl_object_provider_find(const Eo *obj, Elm_Widget_Smart_Data *pd if ((klass == EFL_CONFIG_INTERFACE) || (klass == EFL_CONFIG_GLOBAL_CLASS)) return _efl_config_obj; - if (klass == EFL_ACCESS_OBJECT_MIXIN) + if (klass == EFL_ACCESS_OBJECT_CLASS) { Efl_Access_Type type = efl_access_object_access_type_get(obj); if (type != EFL_ACCESS_TYPE_SKIPPED) @@ -6139,6 +6137,37 @@ _efl_ui_widget_part_bg_efl_gfx_image_scale_type_get(const Eo *obj, void *pd EINA /* Efl.Part Bg end */ +EOLIAN static Efl_Access_Object* +_efl_ui_widget_access_object_get(const Eo *obj, Elm_Widget_Smart_Data *wd) +{ + if (!wd->access_object) + wd->access_object = efl_ui_widget_access_object_create((Eo*)obj); + return wd->access_object; +} + +EOLIAN static Efl_Access_Object* +_efl_ui_widget_access_object_create(Eo *obj, Elm_Widget_Smart_Data *wd EINA_UNUSED) +{ + Efl_Access_Object *access = efl_add(EFL_ACCESS_OBJECT_CLASS, obj); + efl_access_object_role_set(access, EFL_ACCESS_ROLE_UNKNOWN); + return access; +} + +EOLIAN static Efl_Access_Object* +_elm_widget_item_access_object_get(const Eo *obj, Elm_Widget_Item_Data *wd) +{ + if (!wd->access_object) + wd->access_object = efl_ui_widget_access_object_create((Eo*)obj); + return wd->access_object; +} + +EOLIAN static Efl_Access_Object* +_elm_widget_item_access_object_create(Eo *obj, Elm_Widget_Item_Data *wd EINA_UNUSED) +{ + Efl_Access_Object *access = efl_add(EFL_ACCESS_OBJECT_CLASS, obj); + efl_access_object_role_set(access, EFL_ACCESS_ROLE_UNKNOWN); + return access; +} /* Internal EO APIs and hidden overrides */ diff --git a/src/lib/elementary/efl_ui_widget.eo b/src/lib/elementary/efl_ui_widget.eo index 08fdcde4e9..6462a494a5 100644 --- a/src/lib/elementary/efl_ui_widget.eo +++ b/src/lib/elementary/efl_ui_widget.eo @@ -13,8 +13,7 @@ struct Efl.Ui.Widget_Focus_State { logical : bool; [[$true if this is registered as logical currently]] } -abstract Efl.Ui.Widget (Efl.Canvas.Group, Efl.Access.Object, - Efl.Access.Component, Efl.Part, Efl.Ui.Focus.Object, +abstract Efl.Ui.Widget (Efl.Canvas.Group, Efl.Part, Efl.Ui.Focus.Object, Efl.Ui.Cursor, Efl.Ui.L10n, Efl.Ui.Selection, Efl.Ui.Dnd) { @@ -111,6 +110,18 @@ abstract Efl.Ui.Widget (Efl.Canvas.Group, Efl.Access.Object, return: bool; [[$true on success, $false otherwise]] legacy: null; } + @property access_object { + [[ Return accessibile object representation of widget ]] + get { + return: Efl.Access.Object; + } + } + access_object_create @protected { + [[ Virtual function returning new instance of widget accessible + representation. Expected to be overloaded in derived classes. ]] + return: Efl.Access.Object; + legacy: null; + } // FIXME: focus_allow? can_focus? focusable? @property focus_allow { [[The ability for a widget to be focused. @@ -574,11 +585,6 @@ abstract Efl.Ui.Widget (Efl.Canvas.Group, Efl.Access.Object, Efl.Canvas.Group.group_calculate; Efl.Canvas.Group.group_member_del; Efl.Canvas.Group.group_member_add; - Efl.Access.Object.i18n_name { get; } - Efl.Access.Object.state_set { get; } - Efl.Access.Object.access_children { get; } - Efl.Access.Object.attributes { get; } - Efl.Access.Component.focus_grab; Efl.Ui.Focus.Object.focus_manager { get; } Efl.Ui.Focus.Object.focus_parent { get; } Efl.Ui.Focus.Object.focus_geometry { get; } diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c index 02ac728dd2..c3a1afb0be 100644 --- a/src/lib/elementary/efl_ui_win.c +++ b/src/lib/elementary/efl_ui_win.c @@ -2370,7 +2370,7 @@ _efl_ui_win_show(Eo *obj, Efl_Ui_Win_Data *sd) { Eo *root; efl_access_window_created_signal_emit(obj); - root = efl_access_object_access_root_get(EFL_ACCESS_OBJECT_MIXIN); + root = efl_access_object_access_root_get(EFL_ACCESS_OBJECT_CLASS); if (root) efl_access_children_changed_added_signal_emit(root, obj); } @@ -2439,7 +2439,7 @@ _efl_ui_win_hide(Eo *obj, Efl_Ui_Win_Data *sd) if (_elm_config->atspi_mode) { Eo *root; - root = efl_access_object_access_root_get(EFL_ACCESS_OBJECT_MIXIN); + root = efl_access_object_access_root_get(EFL_ACCESS_OBJECT_CLASS); efl_access_window_destroyed_signal_emit(obj); if (root) efl_access_children_changed_del_signal_emit(root, obj); @@ -7307,7 +7307,7 @@ _efl_ui_win_efl_object_provider_find(const Eo *obj, return (Eo *)obj; // attach all kinds of windows directly to ATSPI application root object - if (klass == EFL_ACCESS_OBJECT_MIXIN) return efl_access_object_access_root_get(EFL_ACCESS_OBJECT_MIXIN); + if (klass == EFL_ACCESS_OBJECT_CLASS) return efl_access_object_access_root_get(EFL_ACCESS_OBJECT_CLASS); if (klass == EFL_UI_FOCUS_PARENT_PROVIDER_INTERFACE) return pd->provider; diff --git a/src/lib/elementary/efl_ui_win.eo b/src/lib/elementary/efl_ui_win.eo index 000b4e9ebc..52bd9d2573 100644 --- a/src/lib/elementary/efl_ui_win.eo +++ b/src/lib/elementary/efl_ui_win.eo @@ -154,8 +154,7 @@ enum Efl.Ui.Win_Move_Resize_Mode right = (1 << 4) [[Start resizing window to the right]] } -class Efl.Ui.Win (Efl.Ui.Widget, Efl.Canvas.Scene, Efl.Access.Window, - Efl.Access.Component, Efl.Access.Widget.Action, +class Efl.Ui.Win (Efl.Ui.Widget, Efl.Canvas.Scene, Efl.Content, Efl.Input.State, Efl.Input.Interface, Efl.Screen, Efl.Text, Efl.Config, Efl.Ui.Widget_Focus_Manager, Efl.Ui.Focus.Manager_Window_Root) @@ -788,10 +787,6 @@ class Efl.Ui.Win (Efl.Ui.Widget, Efl.Canvas.Scene, Efl.Access.Window, Efl.Ui.Focus.Object.on_focus_update; Efl.Ui.Widget.widget_event; Efl.Ui.Widget_Focus_Manager.focus_manager_create; - Efl.Access.Object.state_set { get; } - Efl.Access.Object.i18n_name { get; } - Efl.Access.Component.extents { get; } - Efl.Access.Widget.Action.elm_actions { get; } Efl.Input.State.modifier_enabled { get; } Efl.Input.State.lock_enabled { get; } Efl.Screen.screen_dpi { get; } diff --git a/src/lib/elementary/elm_atspi_app_object.c b/src/lib/elementary/elm_atspi_app_object.c index 77cfe7f93c..87546a2773 100644 --- a/src/lib/elementary/elm_atspi_app_object.c +++ b/src/lib/elementary/elm_atspi_app_object.c @@ -34,7 +34,7 @@ _elm_atspi_app_object_efl_access_object_access_children_get(const Eo *obj EINA_U EINA_LIST_FOREACH(_elm_win_list, l, win) { Efl_Access_Type type; - if (!efl_isa(win, EFL_ACCESS_OBJECT_MIXIN)) + if (!efl_isa(win, EFL_ACCESS_OBJECT_CLASS)) continue; type = efl_access_object_access_type_get(win); if (type == EFL_ACCESS_TYPE_REGULAR) diff --git a/src/lib/elementary/elm_atspi_bridge.c b/src/lib/elementary/elm_atspi_bridge.c index cca6176dee..833d5be87f 100644 --- a/src/lib/elementary/elm_atspi_bridge.c +++ b/src/lib/elementary/elm_atspi_bridge.c @@ -487,7 +487,7 @@ _accessible_get_role(const Eldbus_Service_Interface *iface, const Eldbus_Message AtspiRole atspi_role = ATSPI_ROLE_INVALID; Efl_Access_Role role; - ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_MIXIN, msg); + ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_CLASS, msg); role = efl_access_object_role_get(obj); @@ -506,7 +506,7 @@ _accessible_get_role_name(const Eldbus_Service_Interface *iface, const Eldbus_Me Eo *bridge = eldbus_service_object_data_get(iface, ELM_ATSPI_BRIDGE_CLASS_NAME); Eo *obj = _bridge_object_from_path(bridge, obj_path); - ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_MIXIN, msg); + ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_CLASS, msg); role_name = efl_access_object_role_name_get(obj); @@ -524,7 +524,7 @@ _accessible_get_localized_role_name(const Eldbus_Service_Interface *iface, const Eo *bridge = eldbus_service_object_data_get(iface, ELM_ATSPI_BRIDGE_CLASS_NAME); Eo *obj = _bridge_object_from_path(bridge, obj_path); - ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_MIXIN, msg); + ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_CLASS, msg); l_role_name = efl_access_object_localized_role_name_get(obj); EINA_SAFETY_ON_NULL_RETURN_VAL(l_role_name, NULL); @@ -547,7 +547,7 @@ _accessible_get_children(const Eldbus_Service_Interface *iface, const Eldbus_Mes Eldbus_Message_Iter *iter, *iter_array; Eo *children; - ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_MIXIN, msg); + ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_CLASS, msg); children_list = efl_access_object_access_children_get(obj); @@ -582,13 +582,13 @@ _accessible_get_application(const Eldbus_Service_Interface *iface, const Eldbus_ Eo *bridge = eldbus_service_object_data_get(iface, ELM_ATSPI_BRIDGE_CLASS_NAME); Eo *root, *obj = _bridge_object_from_path(bridge, obj_path); - ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_MIXIN, msg); + ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_CLASS, msg); ret = eldbus_message_method_return_new(msg); EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL); Eldbus_Message_Iter *iter = eldbus_message_iter_get(ret); - root = efl_access_object_access_root_get(EFL_ACCESS_OBJECT_MIXIN); + root = efl_access_object_access_root_get(EFL_ACCESS_OBJECT_CLASS); _bridge_iter_object_reference_append(bridge, iter, root); return ret; @@ -606,7 +606,7 @@ _accessible_attributes_get(const Eldbus_Service_Interface *iface, const Eldbus_M Eo *bridge = eldbus_service_object_data_get(iface, ELM_ATSPI_BRIDGE_CLASS_NAME); Eo *obj = _bridge_object_from_path(bridge, obj_path); - ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_MIXIN, msg); + ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_CLASS, msg); ret = eldbus_message_method_return_new(msg); if (!ret) goto error; @@ -648,7 +648,7 @@ _accessible_interfaces_get(const Eldbus_Service_Interface *iface, const Eldbus_M Eo *bridge = eldbus_service_object_data_get(iface, ELM_ATSPI_BRIDGE_CLASS_NAME); Eo *obj = _bridge_object_from_path(bridge, obj_path); - ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_MIXIN, msg); + ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_CLASS, msg); ret = eldbus_message_method_return_new(msg); EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL); @@ -718,7 +718,7 @@ _accessible_get_state(const Eldbus_Service_Interface *iface, const Eldbus_Messag Eo *bridge = eldbus_service_object_data_get(iface, ELM_ATSPI_BRIDGE_CLASS_NAME); Eo *obj = _bridge_object_from_path(bridge, obj_path); - ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_MIXIN, msg); + ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_CLASS, msg); ret = eldbus_message_method_return_new(msg); EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL); @@ -754,7 +754,7 @@ _accessible_get_index_in_parent(const Eldbus_Service_Interface *iface EINA_UNUSE Eldbus_Message *ret; int idx = -1; - ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_MIXIN, msg); + ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_CLASS, msg); ret = eldbus_message_method_return_new(msg); EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL); @@ -778,7 +778,7 @@ _accessible_child_at_index(const Eldbus_Service_Interface *iface EINA_UNUSED, co Eldbus_Message *ret; Eldbus_Message_Iter *iter; - ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_MIXIN, msg); + ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_CLASS, msg); if (!eldbus_message_arguments_get(msg, "i", &idx)) return eldbus_message_error_new(msg, "org.freedesktop.DBus.Error.InvalidArgs", "Invalid index type."); @@ -809,7 +809,7 @@ _accessible_get_relation_set(const Eldbus_Service_Interface *iface EINA_UNUSED, Eina_List *l; Eina_Iterator *it; - ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_MIXIN, msg); + ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_CLASS, msg); ret = eldbus_message_method_return_new(msg); EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL); @@ -1220,7 +1220,7 @@ _image_extents_get(const Eldbus_Service_Interface *iface, const Eldbus_Message * Eo *obj = _bridge_object_from_path(bridge, obj_path); Eina_Rect r; - ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_MIXIN, msg); + ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_CLASS, msg); if (!eldbus_message_arguments_get(msg, "u", &type)) return eldbus_message_error_new(msg, "org.freedesktop.DBus.Error.InvalidArgs", "Invalid index type."); @@ -1246,7 +1246,7 @@ _image_position_get(const Eldbus_Service_Interface *iface, const Eldbus_Message int x = -1, y = -1; Eina_Bool screen_coords; - ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_MIXIN, msg); + ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_CLASS, msg); if (!eldbus_message_arguments_get(msg, "u", &type)) return eldbus_message_error_new(msg, "org.freedesktop.DBus.Error.InvalidArgs", "Invalid index type."); @@ -1274,7 +1274,7 @@ _image_size_get(const Eldbus_Service_Interface *iface, const Eldbus_Message *msg Eo *obj = _bridge_object_from_path(bridge, obj_path); int w = -1, h = -1; - ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_MIXIN, msg); + ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_CLASS, msg); ret = eldbus_message_method_return_new(msg); EINA_SAFETY_ON_NULL_RETURN_VAL(ret, NULL); @@ -2028,7 +2028,7 @@ _bridge_object_from_path(Eo *bridge, const char *path) tmp = path + len; /* Skip over the prefix */ if (!strcmp(ELM_ACCESS_OBJECT_PATH_ROOT, tmp)) { - root = efl_access_object_access_root_get(EFL_ACCESS_OBJECT_MIXIN); + root = efl_access_object_access_root_get(EFL_ACCESS_OBJECT_CLASS); return root; } @@ -2042,7 +2042,7 @@ _bridge_object_from_path(Eo *bridge, const char *path) return NULL; } - ret = efl_isa(eo, EFL_ACCESS_OBJECT_MIXIN) ? eo : NULL; + ret = efl_isa(eo, EFL_ACCESS_OBJECT_CLASS) ? eo : NULL; return ret; } @@ -2055,7 +2055,7 @@ _path_from_object(const Eo *eo) if (!eo) return ATSPI_DBUS_PATH_NULL; - root = efl_access_object_access_root_get(EFL_ACCESS_OBJECT_MIXIN); + root = efl_access_object_access_root_get(EFL_ACCESS_OBJECT_CLASS); if (eo == root) snprintf(path, sizeof(path), "%s%s", ELM_ACCESS_OBJECT_PATH_PREFIX, ELM_ACCESS_OBJECT_PATH_ROOT); @@ -2073,7 +2073,7 @@ _accessible_property_get(const Eldbus_Service_Interface *interface, const char * Eo *bridge = eldbus_service_object_data_get(interface, ELM_ATSPI_BRIDGE_CLASS_NAME); Eo *ret_obj = NULL, *obj = _bridge_object_from_path(bridge, obj_path); - ELM_ATSPI_PROPERTY_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_MIXIN, request_msg, error); + ELM_ATSPI_PROPERTY_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_CLASS, request_msg, error); if (!strcmp(property, "Name")) { @@ -2093,7 +2093,7 @@ _accessible_property_get(const Eldbus_Service_Interface *interface, const char * } else if (!strcmp(property, "Parent")) { - ret_obj = efl_provider_find(efl_parent_get(obj), EFL_ACCESS_OBJECT_MIXIN); + ret_obj = efl_provider_find(efl_parent_get(obj), EFL_ACCESS_OBJECT_CLASS); Efl_Access_Role role = EFL_ACCESS_ROLE_INVALID; role = efl_access_object_role_get(obj); if ((!ret_obj) && (EFL_ACCESS_ROLE_APPLICATION == role)) @@ -2233,7 +2233,7 @@ _image_properties_get(const Eldbus_Service_Interface *interface, const char *pro Eo *bridge = eldbus_service_object_data_get(interface, ELM_ATSPI_BRIDGE_CLASS_NAME); Eo *obj = _bridge_object_from_path(bridge, obj_path); - ELM_ATSPI_PROPERTY_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_MIXIN, request_msg, error); + ELM_ATSPI_PROPERTY_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_CLASS, request_msg, error); if (!strcmp(property, "ImageDescription")) { @@ -2820,7 +2820,7 @@ _collection_sort_order_reverse_canonical(struct collection_match_rule *rule, Ein /* Get the current nodes index in it's parent and the parent object. */ indexinparent = efl_access_object_index_in_parent_get(obj); - parent = efl_provider_find(efl_parent_get(obj), EFL_ACCESS_OBJECT_MIXIN); + parent = efl_provider_find(efl_parent_get(obj), EFL_ACCESS_OBJECT_CLASS); if ((indexinparent > 0) && ((max == 0) || (count < max))) { @@ -2876,7 +2876,7 @@ _collection_inorder(Eo *collection, struct collection_match_rule *rule, Eina_Lis while ((max == 0 || count < max) && obj && obj != collection) { Eo *parent; - parent = efl_provider_find(efl_parent_get(obj), EFL_ACCESS_OBJECT_MIXIN); + parent = efl_provider_find(efl_parent_get(obj), EFL_ACCESS_OBJECT_CLASS); idx = efl_access_object_index_in_parent_get(obj); count = _collection_sort_order_canonical(rule, list, count, max, parent, idx + 1, EINA_TRUE, NULL, EINA_TRUE, traverse); @@ -2954,7 +2954,7 @@ _collection_get_matches_from_handle(Eo *collection, Eo *current, struct collecti break; case ATSPI_Collection_TREE_RESTRICT_CHILDREN: idx = efl_access_object_index_in_parent_get(current); - parent = efl_provider_find(efl_parent_get(current), EFL_ACCESS_OBJECT_MIXIN); + parent = efl_provider_find(efl_parent_get(current), EFL_ACCESS_OBJECT_CLASS); _collection_query(rule, sortby, &result, 0, max, parent, idx, EINA_FALSE, NULL, EINA_TRUE, traverse); break; case ATSPI_Collection_TREE_RESTRICT_SIBLING: @@ -2982,7 +2982,7 @@ _collection_get_matches_from(const Eldbus_Service_Interface *iface EINA_UNUSED, AtspiCollectionSortOrder sortby; Eina_List *result = NULL; - ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_MIXIN, msg); + ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_CLASS, msg); iter = eldbus_message_iter_get(msg); EINA_SAFETY_ON_NULL_RETURN_VAL(iter, NULL); @@ -2994,7 +2994,7 @@ _collection_get_matches_from(const Eldbus_Service_Interface *iface EINA_UNUSED, current = _bridge_object_from_path(bridge, obj_path); - ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(current, EFL_ACCESS_OBJECT_MIXIN, msg); + ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(current, EFL_ACCESS_OBJECT_CLASS, msg); if (!_collection_iter_match_rule_get(rule_iter, &rule)) return eldbus_message_error_new(msg, "org.freedesktop.DBus.Error.Failed", "Invalid match rule parameters."); @@ -3015,7 +3015,7 @@ _collection_get_matches_to_handle(Eo *obj, Eo *current, struct collection_match_ Eo *collection = obj; if (limit) - collection = efl_provider_find(efl_parent_get(obj), EFL_ACCESS_OBJECT_MIXIN); + collection = efl_provider_find(efl_parent_get(obj), EFL_ACCESS_OBJECT_CLASS); switch (tree) { @@ -3054,7 +3054,7 @@ _collection_get_matches_to(const Eldbus_Service_Interface *iface EINA_UNUSED, co Eina_List *result = NULL; Eina_Bool limit; - ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_MIXIN, msg); + ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_CLASS, msg); iter = eldbus_message_iter_get(msg); EINA_SAFETY_ON_NULL_RETURN_VAL(iter, NULL); @@ -3066,7 +3066,7 @@ _collection_get_matches_to(const Eldbus_Service_Interface *iface EINA_UNUSED, co current = _bridge_object_from_path(bridge, obj_path); - ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(current, EFL_ACCESS_OBJECT_MIXIN, msg); + ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(current, EFL_ACCESS_OBJECT_CLASS, msg); if (!_collection_iter_match_rule_get(rule_iter, &rule)) return eldbus_message_error_new(msg, "org.freedesktop.DBus.Error.Failed", "Invalid match rule parameters."); @@ -3094,7 +3094,7 @@ _collection_get_matches(const Eldbus_Service_Interface *iface, const Eldbus_Mess AtspiCollectionSortOrder sortby; Eina_List *result = NULL; - ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_MIXIN, msg); + ELM_ATSPI_OBJ_CHECK_OR_RETURN_DBUS_ERROR(obj, EFL_ACCESS_OBJECT_CLASS, msg); iter = eldbus_message_iter_get(msg); EINA_SAFETY_ON_NULL_RETURN_VAL(iter, NULL); @@ -3168,7 +3168,7 @@ _iter_interfaces_append(Eldbus_Message_Iter *iter, const Eo *obj) iter_array = eldbus_message_iter_container_new(iter, 'a', "s"); if (!iter_array) return; - if (efl_isa(obj, EFL_ACCESS_OBJECT_MIXIN)) + if (efl_isa(obj, EFL_ACCESS_OBJECT_CLASS)) { eldbus_message_iter_basic_append(iter_array, 's', ATSPI_DBUS_INTERFACE_ACCESSIBLE); eldbus_message_iter_basic_append(iter_array, 's', ATSPI_DBUS_INTERFACE_COLLECTION); @@ -3181,7 +3181,7 @@ _iter_interfaces_append(Eldbus_Message_Iter *iter, const Eo *obj) eldbus_message_iter_basic_append(iter_array, 's', ATSPI_DBUS_INTERFACE_COMPONENT); if (efl_isa(obj, EFL_ACCESS_EDITABLE_TEXT_INTERFACE)) eldbus_message_iter_basic_append(iter_array, 's', ATSPI_DBUS_INTERFACE_EDITABLE_TEXT); - if (efl_isa(obj, EFL_ACCESS_OBJECT_MIXIN)) + if (efl_isa(obj, EFL_ACCESS_OBJECT_CLASS)) eldbus_message_iter_basic_append(iter_array, 's', ATSPI_DBUS_INTERFACE_IMAGE); if (efl_isa(obj, EFL_ACCESS_SELECTION_INTERFACE)) eldbus_message_iter_basic_append(iter_array, 's', ATSPI_DBUS_INTERFACE_SELECTION); @@ -3203,7 +3203,7 @@ _cache_item_reference_append_cb(Eo *bridge, Eo *data, Eldbus_Message_Iter *iter_ Efl_Access_State_Set states; Efl_Access_Role role; Eo *root; - root = efl_access_object_access_root_get(EFL_ACCESS_OBJECT_MIXIN); + root = efl_access_object_access_root_get(EFL_ACCESS_OBJECT_CLASS); role = efl_access_object_role_get(data); @@ -3217,7 +3217,7 @@ _cache_item_reference_append_cb(Eo *bridge, Eo *data, Eldbus_Message_Iter *iter_ _bridge_iter_object_reference_append(bridge, iter_struct, root); Eo *parent = NULL; - parent = efl_provider_find(efl_parent_get(data), EFL_ACCESS_OBJECT_MIXIN); + parent = efl_provider_find(efl_parent_get(data), EFL_ACCESS_OBJECT_CLASS); /* Marshall parent */ if ((!parent) && (EFL_ACCESS_ROLE_APPLICATION == role)) _object_desktop_reference_append(iter_struct); @@ -3300,7 +3300,7 @@ _cache_get_items(const Eldbus_Service_Interface *iface, const Eldbus_Message *ms iter_array = eldbus_message_iter_container_new(iter, 'a', CACHE_ITEM_SIGNATURE); EINA_SAFETY_ON_NULL_GOTO(iter_array, fail); - root = efl_access_object_access_root_get(EFL_ACCESS_OBJECT_MIXIN); + root = efl_access_object_access_root_get(EFL_ACCESS_OBJECT_CLASS); to_process = eina_list_append(NULL, root); while (to_process) @@ -3705,7 +3705,7 @@ _elm_atspi_bridge_app_register(Eo *bridge) "Embed"); Eldbus_Message_Iter *iter = eldbus_message_iter_get(message); - root = efl_access_object_access_root_get(EFL_ACCESS_OBJECT_MIXIN); + root = efl_access_object_access_root_get(EFL_ACCESS_OBJECT_CLASS); _bridge_iter_object_reference_append(bridge, iter, root); eldbus_connection_send(pd->a11y_bus, message, _on_elm_atspi_bridge_app_register, NULL, -1); @@ -3718,7 +3718,7 @@ _elm_atspi_bridge_app_unregister(Eo *bridge) Eo *root; ELM_ATSPI_BRIDGE_DATA_GET_OR_RETURN_VAL(bridge, pd, EINA_FALSE); - root = efl_access_object_access_root_get(EFL_ACCESS_OBJECT_MIXIN); + root = efl_access_object_access_root_get(EFL_ACCESS_OBJECT_CLASS); Eldbus_Message *message = eldbus_message_method_call_new(ATSPI_DBUS_NAME_REGISTRY, ATSPI_DBUS_PATH_ROOT, @@ -4118,7 +4118,7 @@ static void _bridge_signal_send(Eo *bridge, Eo *obj, const char *infc, const Eld ELM_ATSPI_BRIDGE_DATA_GET_OR_RETURN(bridge, pd); path = _path_from_object(obj); - root = efl_access_object_access_root_get(EFL_ACCESS_OBJECT_MIXIN); + root = efl_access_object_access_root_get(EFL_ACCESS_OBJECT_CLASS); msg = eldbus_message_signal_new(path, infc, signal->name); if (!msg) return; @@ -4368,7 +4368,7 @@ _a11y_connection_shutdown(Eo *bridge) if (pd->event_hash) eina_hash_free(pd->event_hash); pd->event_hash = NULL; - efl_access_object_event_handler_del(EFL_ACCESS_OBJECT_MIXIN, pd->event_hdlr); + efl_access_object_event_handler_del(EFL_ACCESS_OBJECT_CLASS, pd->event_hdlr); pd->event_hdlr = NULL; efl_event_callback_legacy_call(bridge, ELM_ATSPI_BRIDGE_EVENT_DISCONNECTED, NULL); @@ -4460,7 +4460,7 @@ _a11y_bus_initialize(Eo *obj, const char *socket_addr) _elm_atspi_bridge_app_register(obj); // register accessible object event listener - pd->event_hdlr = efl_access_object_event_handler_add(EFL_ACCESS_OBJECT_MIXIN, _bridge_accessible_event_dispatch, obj); + pd->event_hdlr = efl_access_object_event_handler_add(EFL_ACCESS_OBJECT_CLASS, _bridge_accessible_event_dispatch, obj); } static void @@ -4538,7 +4538,7 @@ static void _bridge_object_register(Eo *bridge, Eo *obj) { ELM_ATSPI_BRIDGE_DATA_GET_OR_RETURN(bridge, pd); - if (!efl_isa(obj, EFL_ACCESS_OBJECT_MIXIN)) + if (!efl_isa(obj, EFL_ACCESS_OBJECT_CLASS)) { WRN("Unable to register class w/o Efl_Access_Object!"); return; diff --git a/src/lib/elementary/elm_ctxpopup.eo b/src/lib/elementary/elm_ctxpopup.eo index 35956c68f2..bbe87d7bd4 100644 --- a/src/lib/elementary/elm_ctxpopup.eo +++ b/src/lib/elementary/elm_ctxpopup.eo @@ -8,7 +8,7 @@ enum Elm.Ctxpopup.Direction unknown [[Ctxpopup does not determine it's direction yet.]] } -class Elm.Ctxpopup (Efl.Ui.Layout, Efl.Ui.Focus.Layer, Efl.Access.Widget.Action, Efl.Ui.Legacy) +class Elm.Ctxpopup (Efl.Ui.Layout, Efl.Ui.Focus.Layer, Efl.Ui.Legacy) { [[Elementary context popup class]] legacy_prefix: elm_ctxpopup; @@ -238,8 +238,6 @@ class Elm.Ctxpopup (Efl.Ui.Layout, Efl.Ui.Focus.Layer, Efl.Access.Widget.Action, Efl.Ui.Widget.theme_apply; Efl.Ui.Widget.widget_event; Efl.Ui.Widget.focused_item { get; } - Efl.Access.Widget.Action.elm_actions { get; } - Efl.Access.Object.state_set { get; } Efl.Part.part_get; } events { diff --git a/src/lib/elementary/elm_entry.c b/src/lib/elementary/elm_entry.c index dac8e916f6..1bcd007dcc 100644 --- a/src/lib/elementary/elm_entry.c +++ b/src/lib/elementary/elm_entry.c @@ -2225,14 +2225,14 @@ _entry_changed_user_signal_cb(void *data, atspi_info.content = edje_info->change.insert.content; atspi_info.pos = edje_info->change.insert.pos; atspi_info.len = edje_info->change.insert.plain_length; - efl_access_object_event_emit(EFL_ACCESS_OBJECT_MIXIN, data, EFL_ACCESS_TEXT_EVENT_ACCESS_TEXT_INSERTED, &atspi_info); + efl_access_object_event_emit(EFL_ACCESS_OBJECT_CLASS, data, EFL_ACCESS_TEXT_EVENT_ACCESS_TEXT_INSERTED, &atspi_info); } else if (edje_info && !edje_info->insert) { atspi_info.content = edje_info->change.del.content; atspi_info.pos = MIN(edje_info->change.del.start, edje_info->change.del.end); atspi_info.len = MAX(edje_info->change.del.start, edje_info->change.del.end) - atspi_info.pos; - efl_access_object_event_emit(EFL_ACCESS_OBJECT_MIXIN, data, EFL_ACCESS_TEXT_EVENT_ACCESS_TEXT_REMOVED, &atspi_info); + efl_access_object_event_emit(EFL_ACCESS_OBJECT_CLASS, data, EFL_ACCESS_TEXT_EVENT_ACCESS_TEXT_REMOVED, &atspi_info); } } } @@ -2257,7 +2257,7 @@ _entry_preedit_changed_signal_cb(void *data, atspi_info.content = text; atspi_info.pos = edje_info->change.insert.pos; atspi_info.len = edje_info->change.insert.plain_length; - efl_access_object_event_emit(EFL_ACCESS_OBJECT_MIXIN, + efl_access_object_event_emit(EFL_ACCESS_OBJECT_CLASS, data, EFL_ACCESS_TEXT_EVENT_ACCESS_TEXT_INSERTED, &atspi_info); @@ -2349,7 +2349,7 @@ _entry_selection_changed_signal_cb(void *data, _selection_store(ELM_SEL_TYPE_PRIMARY, data); _update_selection_handler(data); if (_elm_config->atspi_mode) - efl_access_object_event_emit(EFL_ACCESS_OBJECT_MIXIN, data, EFL_ACCESS_TEXT_EVENT_ACCESS_TEXT_SELECTION_CHANGED, NULL); + efl_access_object_event_emit(EFL_ACCESS_OBJECT_CLASS, data, EFL_ACCESS_TEXT_EVENT_ACCESS_TEXT_SELECTION_CHANGED, NULL); } static void @@ -2460,7 +2460,7 @@ _entry_cursor_changed_signal_cb(void *data, efl_event_callback_legacy_call(data, ELM_ENTRY_EVENT_CURSOR_CHANGED, NULL); if (_elm_config->atspi_mode) - efl_access_object_event_emit(EFL_ACCESS_OBJECT_MIXIN, data, EFL_ACCESS_TEXT_EVENT_ACCESS_TEXT_CARET_MOVED, NULL); + efl_access_object_event_emit(EFL_ACCESS_OBJECT_CLASS, data, EFL_ACCESS_TEXT_EVENT_ACCESS_TEXT_CARET_MOVED, NULL); } static void @@ -2472,7 +2472,7 @@ _entry_cursor_changed_manual_signal_cb(void *data, efl_event_callback_legacy_call (data, ELM_ENTRY_EVENT_CURSOR_CHANGED_MANUAL, NULL); if (_elm_config->atspi_mode) - efl_access_object_event_emit(EFL_ACCESS_OBJECT_MIXIN, data, EFL_ACCESS_TEXT_EVENT_ACCESS_TEXT_CARET_MOVED, NULL); + efl_access_object_event_emit(EFL_ACCESS_OBJECT_CLASS, data, EFL_ACCESS_TEXT_EVENT_ACCESS_TEXT_CARET_MOVED, NULL); } static void diff --git a/src/lib/elementary/elm_genlist.eo b/src/lib/elementary/elm_genlist.eo index 9747b4765f..f73814f9f8 100644 --- a/src/lib/elementary/elm_genlist.eo +++ b/src/lib/elementary/elm_genlist.eo @@ -1,7 +1,6 @@ import elm_general; class Elm.Genlist (Efl.Ui.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable, - Efl.Access.Widget.Action, Efl.Access.Selection, Efl.Ui.Selectable, Efl.Ui.Legacy) { [[Elementary genlist class]] @@ -542,17 +541,6 @@ class Elm.Genlist (Efl.Ui.Layout, Elm.Interface_Scrollable, Efl.Ui.Clickable, Elm.Interface_Scrollable.item_loop_enabled { get; set; } Elm.Interface_Scrollable.bounce_allow { get; set; } Elm.Interface_Scrollable.policy { get; set; } - Efl.Access.Object.access_children { get; } - Efl.Access.Object.state_set { get; } - Efl.Access.Widget.Action.elm_actions { get; } - Efl.Access.Selection.selected_children_count { get; } - Efl.Access.Selection.selected_child { get; } - Efl.Access.Selection.selected_child_deselect; - Efl.Access.Selection.child_select; - Efl.Access.Selection.child_deselect; - Efl.Access.Selection.is_child_selected; - Efl.Access.Selection.all_children_select; - Efl.Access.Selection.access_selection_clear; Efl.Ui.Widget.focus_state_apply; Efl.Ui.Focus.Manager.setup_on_first_touch; Efl.Ui.Focus.Manager.manager_focus { get; } diff --git a/src/lib/elementary/elm_hover.eo b/src/lib/elementary/elm_hover.eo index 5f6f633c77..93fb3159de 100644 --- a/src/lib/elementary/elm_hover.eo +++ b/src/lib/elementary/elm_hover.eo @@ -8,7 +8,7 @@ enum Elm.Hover.Axis } class Elm.Hover (Efl.Ui.Layout, Efl.Ui.Focus.Layer, Efl.Ui.Clickable, - Efl.Access.Widget.Action, Efl.Ui.Legacy) + Efl.Ui.Legacy) { [[Elementary hover class]] legacy_prefix: elm_hover; @@ -69,8 +69,6 @@ class Elm.Hover (Efl.Ui.Layout, Efl.Ui.Focus.Layer, Efl.Ui.Clickable, Efl.Ui.Widget.widget_sub_object_add; Efl.Ui.Widget.widget_parent { get; set; } Efl.Ui.Widget.widget_sub_object_del; - Efl.Access.Widget.Action.elm_actions { get; } - Efl.Access.Object.state_set { get; } Efl.Part.part_get; } events { diff --git a/src/lib/elementary/elm_menu.c b/src/lib/elementary/elm_menu.c index 53cc85f2c9..9ec49c77d6 100644 --- a/src/lib/elementary/elm_menu.c +++ b/src/lib/elementary/elm_menu.c @@ -498,7 +498,7 @@ _menu_item_activate_cb(void *data, if (eo_item2 != EO_OBJ(item)) elm_menu_item_selected_set(eo_item2, 0); } - efl_access_object_event_emit(EFL_ACCESS_OBJECT_MIXIN, EO_OBJ(item->parent), EFL_ACCESS_SELECTION_EVENT_SELECTION_CHANGED, NULL); + efl_access_object_event_emit(EFL_ACCESS_OBJECT_CLASS, EO_OBJ(item->parent), EFL_ACCESS_SELECTION_EVENT_SELECTION_CHANGED, NULL); } else { @@ -513,7 +513,7 @@ _menu_item_activate_cb(void *data, elm_menu_item_selected_set(eo_item2, 0); } } - efl_access_object_event_emit(EFL_ACCESS_OBJECT_MIXIN, WIDGET(item), EFL_ACCESS_SELECTION_EVENT_SELECTION_CHANGED, NULL); + efl_access_object_event_emit(EFL_ACCESS_OBJECT_CLASS, WIDGET(item), EFL_ACCESS_SELECTION_EVENT_SELECTION_CHANGED, NULL); if (sd->menu_bar && was_open) _menu_item_select_cb(item, NULL, NULL, NULL); } diff --git a/src/lib/elementary/elm_multibuttonentry.eo b/src/lib/elementary/elm_multibuttonentry.eo index 70d5547e02..e824c71179 100644 --- a/src/lib/elementary/elm_multibuttonentry.eo +++ b/src/lib/elementary/elm_multibuttonentry.eo @@ -182,7 +182,6 @@ class Elm.Multibuttonentry (Efl.Ui.Layout, Efl.Ui.Clickable, Efl.Ui.Legacy) Efl.Ui.Widget.on_access_update; Efl.Ui.L10n.translation_update; Efl.Ui.Widget.widget_event; - Efl.Access.Object.access_children { get; } Efl.Part.part_get; } events { diff --git a/src/lib/elementary/elm_multibuttonentry_item.eo b/src/lib/elementary/elm_multibuttonentry_item.eo index a3dbe7b16c..81e8f3e48f 100644 --- a/src/lib/elementary/elm_multibuttonentry_item.eo +++ b/src/lib/elementary/elm_multibuttonentry_item.eo @@ -1,5 +1,4 @@ class Elm.Multibuttonentry_Item(Elm.Widget.Item, - Efl.Access.Widget.Action, Efl.Ui.Legacy) { [[Elementary multibuttonentry class]] @@ -31,8 +30,5 @@ class Elm.Multibuttonentry_Item(Elm.Widget.Item, Elm.Widget.Item.signal_emit; Elm.Widget.Item.part_text { get; set; } Elm.Widget.Item.disable; - Efl.Access.Object.i18n_name { get; } - Efl.Access.Object.state_set { get; } - Efl.Access.Widget.Action.elm_actions { get; } } } diff --git a/src/lib/elementary/elm_spinner.eo b/src/lib/elementary/elm_spinner.eo index 326354f641..ba6f15a2f8 100644 --- a/src/lib/elementary/elm_spinner.eo +++ b/src/lib/elementary/elm_spinner.eo @@ -1,5 +1,5 @@ class Elm.Spinner (Efl.Ui.Layout, Efl.Ui.Range, Efl.Ui.Focus.Composition, - Efl.Access.Value, Efl.Access.Widget.Action, Efl.Ui.Legacy) + Efl.Ui.Legacy) { [[Elementary spinner class]] legacy_prefix: elm_spinner; @@ -177,11 +177,6 @@ class Elm.Spinner (Efl.Ui.Layout, Efl.Ui.Range, Efl.Ui.Focus.Composition, Efl.Ui.Range.range_min_max { get; set; } Efl.Ui.Range.range_step { get; set; } Efl.Ui.Range.range_value { get; set; } - Efl.Access.Object.i18n_name { get; } - Efl.Access.Value.value_and_text { get; set; } - Efl.Access.Value.range { get; } - Efl.Access.Value.increment { get; } - Efl.Access.Widget.Action.elm_actions { get; } } events { /* FIXME: Colorselector puts Colorselector_Data here! */ diff --git a/src/lib/elementary/elm_toolbar.eo b/src/lib/elementary/elm_toolbar.eo index 1c70d47dc8..1e12261176 100644 --- a/src/lib/elementary/elm_toolbar.eo +++ b/src/lib/elementary/elm_toolbar.eo @@ -24,7 +24,6 @@ enum Elm.Toolbar_Shrink_Mode } class Elm.Toolbar (Efl.Ui.Widget, Efl.Ui.Focus.Composition, Elm.Interface_Scrollable, Efl.Ui.Direction, - Efl.Access.Widget.Action, Efl.Access.Selection, Efl.Access.Object, Efl.Ui.Clickable, Efl.Ui.Selectable, Efl.Ui.Legacy) { [[Elementary toolbar class]] @@ -359,17 +358,6 @@ class Elm.Toolbar (Efl.Ui.Widget, Efl.Ui.Focus.Composition, Elm.Interface_Scroll Efl.Ui.Widget.focused_item { get; } Efl.Ui.Direction.direction { get; set; [[Only supports $vertical and $horizontal. Default is $horizontal.]] } Efl.Ui.Widget.focus_state_apply; - Efl.Access.Widget.Action.elm_actions { get; } - Efl.Access.Object.access_children { get; } - Efl.Access.Object.state_set { get; } - Efl.Access.Selection.selected_children_count { get; } - Efl.Access.Selection.selected_child { get; } - Efl.Access.Selection.selected_child_deselect; - Efl.Access.Selection.child_select; - Efl.Access.Selection.child_deselect; - Efl.Access.Selection.is_child_selected; - Efl.Access.Selection.all_children_select; - Efl.Access.Selection.access_selection_clear; Efl.Ui.Focus.Composition.prepare; } events { diff --git a/src/lib/elementary/elm_toolbar_item.eo b/src/lib/elementary/elm_toolbar_item.eo index 8154c53615..bf8cbfa215 100644 --- a/src/lib/elementary/elm_toolbar_item.eo +++ b/src/lib/elementary/elm_toolbar_item.eo @@ -323,7 +323,5 @@ class Elm.Toolbar_Item(Elm.Widget.Item, Efl.Ui.Focus.Object, Efl.Ui.Legacy) Efl.Ui.Focus.Object.focus_geometry { get; } Efl.Ui.Focus.Object.focus { set; } Efl.Ui.Focus.Object.focus_parent { get; } - Efl.Access.Object.i18n_name { get; } - Efl.Access.Object.state_set { get; } } } diff --git a/src/lib/elementary/elm_widget.h b/src/lib/elementary/elm_widget.h index 99229851f8..5a10efce45 100644 --- a/src/lib/elementary/elm_widget.h +++ b/src/lib/elementary/elm_widget.h @@ -382,6 +382,8 @@ typedef struct _Elm_Widget_Smart_Data Evas_Object *prev, *next, *up, *down, *right, *left; Elm_Object_Item *item_prev, *item_next, *item_up, *item_down, *item_right, *item_left; } legacy_focus; + + Eo *access_object; Eina_Bool scroll_x_locked : 1; Eina_Bool scroll_y_locked : 1; @@ -569,6 +571,7 @@ struct _Elm_Widget_Item_Data Eina_List *signals; Eina_Hash *labels; Evas_Object *track_obj; + Eo *access_object; Eina_Bool disabled : 1; Eina_Bool on_deletion : 1; diff --git a/src/lib/elementary/elm_widget_item.eo b/src/lib/elementary/elm_widget_item.eo index e409481008..50bcaac81d 100644 --- a/src/lib/elementary/elm_widget_item.eo +++ b/src/lib/elementary/elm_widget_item.eo @@ -4,8 +4,7 @@ import efl_ui; type Elm_Tooltip_Item_Content_Cb: __undefined_type; [[Elementary tooltip item content callback type]] type Elm_Object_Item_Signal_Cb: __undefined_type; [[Elementary object item signal callback type]] -class Elm.Widget.Item(Efl.Object, Efl.Access.Object, - Efl.Access.Component) +class Elm.Widget.Item(Efl.Object) { [[Elementary widget item class]] eo_prefix: elm_wdg_item; @@ -534,14 +533,22 @@ class Elm.Widget.Item(Efl.Object, Efl.Access.Object, dir: Efl.Ui.Focus.Direction; [[Focus direction]] } } + @property access_object { + [[ Return accessibile object representation of widget ]] + get { + return: Efl.Access.Object; + } + } + access_object_create @protected { + [[ Virtual function returning new instance of widget accessible + representation. Expected to be overloaded in derived classes. ]] + return: Efl.Access.Object; + legacy: null; + } } implements { Efl.Object.constructor; Efl.Object.destructor; Efl.Object.invalidate; - Efl.Access.Object.state_set { get; } - Efl.Access.Object.attributes { get; } - Efl.Access.Component.extents { get; set; } - Efl.Access.Component.focus_grab; } } |