From e89db4393da405a7bc225da231eed9393e70a4c3 Mon Sep 17 00:00:00 2001 From: Lukasz Stanislawski Date: Mon, 13 Jul 2015 19:37:54 +0200 Subject: [PATCH] elm_widget_item: add at-spi name setter @tizen_feature Conflicts: src/lib/elm_widget.c src/lib/elm_widget_item.eo Change-Id: I193294c5d45e4fac27640787365b5ec9edf7ecc1 --- src/lib/elm_widget.c | 23 +++++++++++++++++++++++ src/lib/elm_widget.h | 1 + src/lib/elm_widget_item.eo | 4 ++++ 3 files changed, 28 insertions(+) diff --git a/src/lib/elm_widget.c b/src/lib/elm_widget.c index ee696a0..af4104c 100644 --- a/src/lib/elm_widget.c +++ b/src/lib/elm_widget.c @@ -4483,6 +4483,9 @@ _elm_widget_item_eo_base_destructor(Eo *eo_item, Elm_Widget_Item_Data *item) elm_interface_atspi_accessible_relationships_clear() ); + if (item->name) + eina_stringshare_del(item->name); + if (_elm_config->atspi_mode && item->widget) elm_interface_atspi_accessible_children_changed_del_signal_emit(item->widget, eo_item); @@ -5902,6 +5905,26 @@ _elm_widget_elm_interface_atspi_accessible_name_get(Eo *obj EINA_UNUSED, Elm_Wid return _elm_util_mkup_to_text(ret); } +//TIZEN_ONLY(20150713) : add atspi name setter to widget_item +EOLIAN void +_elm_widget_item_elm_interface_atspi_accessible_name_set(Eo *obj EINA_UNUSED, Elm_Widget_Item_Data* _pd EINA_UNUSED, char *name) +{ + if (_pd->name) + eina_stringshare_del(_pd->name); + + _pd->name = eina_stringshare_add(name); +} + +EOLIAN char* +_elm_widget_item_elm_interface_atspi_accessible_name_get(Eo *obj EINA_UNUSED, Elm_Widget_Item_Data *_pd EINA_UNUSED) +{ + if (_pd->name) + return strdup(_pd->name); + + return NULL; +} +/// + //TIZEN_ONLY(20160329): widget: sort accessible children spatially (d940068e1f7cc5cfc6208245a1fb0e92f1a813d4) static int _sort_vertically(const void *data1, const void *data2) { diff --git a/src/lib/elm_widget.h b/src/lib/elm_widget.h index 1245b17..d74cae6 100644 --- a/src/lib/elm_widget.h +++ b/src/lib/elm_widget.h @@ -639,6 +639,7 @@ struct _Elm_Widget_Item_Data //TIZEN_ONLY(20150709) add relations atpi Elm_Atspi_Relation_Set atspi_custom_relations; /**< Developer-defined accessiblity relations */ /////////////////////////////////// + const char *name; Eina_Bool disabled : 1; Eina_Bool on_deletion : 1; diff --git a/src/lib/elm_widget_item.eo b/src/lib/elm_widget_item.eo index 8dd77cf..bd1f99d 100644 --- a/src/lib/elm_widget_item.eo +++ b/src/lib/elm_widget_item.eo @@ -529,6 +529,10 @@ class Elm.Widget_Item(Eo.Base, Elm_Interface_Atspi_Accessible, implements { Eo.Base.constructor; Eo.Base.destructor; + //TIZEN_ONLY(20150713) : add widget_item name setter + Elm_Interface_Atspi_Accessible.name.get; + Elm_Interface_Atspi_Accessible.name.set; + /// Elm_Interface_Atspi_Accessible.state_set.get; Elm_Interface_Atspi_Accessible.parent.get; //TIZEN_ONLY(20150709) : atspi relations api -- 2.7.4