forked from enlightenment/efl
[elementary][atspi] change accessible description to char* from const char*
Summary: The accessible name is char*, this could confuse API user. If we provide user callback to get description, an user would return allocated string. The usage of elm_interface_atspi_description_get/set should be same with elm_interface_atspi_name_get/set Reviewers: lukasz.stanislawski, cedric, raster Reviewed By: raster Subscribers: stanluk, jpeg Differential Revision: https://phab.enlightenment.org/D4378
This commit is contained in:
parent
7917fa4ebf
commit
e648f1e85e
|
@ -4808,14 +4808,14 @@ _efl_ui_text_elm_interface_atspi_accessible_state_set_get(Eo *obj, Efl_Ui_Text_D
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
EOLIAN static char*
|
EOLIAN static const char*
|
||||||
_efl_ui_text_elm_interface_atspi_accessible_name_get(Eo *obj, Efl_Ui_Text_Data *pd)
|
_efl_ui_text_elm_interface_atspi_accessible_name_get(Eo *obj, Efl_Ui_Text_Data *pd)
|
||||||
{
|
{
|
||||||
char *name;
|
const char *name;
|
||||||
name = elm_interface_atspi_accessible_name_get(efl_super(obj, EFL_UI_TEXT_CLASS));
|
name = elm_interface_atspi_accessible_name_get(efl_super(obj, EFL_UI_TEXT_CLASS));
|
||||||
if (name && strncmp("", name, 1)) return name;
|
if (name && strncmp("", name, 1)) return name;
|
||||||
const char *ret = edje_object_part_text_get(pd->entry_edje, "elm.guide");
|
const char *ret = edje_object_part_text_get(pd->entry_edje, "elm.guide");
|
||||||
return ret ? strdup(ret) : NULL;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
EOLIAN static Efl_Canvas_Text_Cursor *
|
EOLIAN static Efl_Canvas_Text_Cursor *
|
||||||
|
|
|
@ -6205,14 +6205,14 @@ _efl_ui_win_elm_interface_atspi_accessible_state_set_get(Eo *obj, Efl_Ui_Win_Dat
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
EOLIAN static char*
|
EOLIAN static const char*
|
||||||
_efl_ui_win_elm_interface_atspi_accessible_name_get(Eo *obj, Efl_Ui_Win_Data *sd EINA_UNUSED)
|
_efl_ui_win_elm_interface_atspi_accessible_name_get(Eo *obj, Efl_Ui_Win_Data *sd EINA_UNUSED)
|
||||||
{
|
{
|
||||||
char *ret;
|
const char *ret;
|
||||||
ret = elm_interface_atspi_accessible_name_get(efl_super(obj, EFL_UI_WIN_CLASS));
|
ret = elm_interface_atspi_accessible_name_get(efl_super(obj, EFL_UI_WIN_CLASS));
|
||||||
if (ret) return ret;
|
if (ret) return ret;
|
||||||
const char *name = elm_win_title_get(obj);
|
const char *name = elm_win_title_get(obj);
|
||||||
return name ? strdup(name) : NULL;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
EOLIAN static Eina_Bool
|
EOLIAN static Eina_Bool
|
||||||
|
|
|
@ -2047,15 +2047,15 @@ _elm_multibuttonentry_elm_interface_atspi_accessible_children_get(Eo *obj, Elm_M
|
||||||
return eina_list_merge(eina_list_clone(sd->items), ret);
|
return eina_list_merge(eina_list_clone(sd->items), ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
EOLIAN static char*
|
EOLIAN static const char*
|
||||||
_elm_multibuttonentry_item_elm_interface_atspi_accessible_name_get(Eo *obj, Elm_Multibuttonentry_Item_Data *item)
|
_elm_multibuttonentry_item_elm_interface_atspi_accessible_name_get(Eo *obj, Elm_Multibuttonentry_Item_Data *item)
|
||||||
{
|
{
|
||||||
char *ret;
|
const char *ret;
|
||||||
ret = elm_interface_atspi_accessible_name_get(efl_super(obj, ELM_MULTIBUTTONENTRY_ITEM_CLASS));
|
ret = elm_interface_atspi_accessible_name_get(efl_super(obj, ELM_MULTIBUTTONENTRY_ITEM_CLASS));
|
||||||
if (ret) return ret;
|
if (ret) return ret;
|
||||||
|
|
||||||
const char *txt = elm_object_part_text_get(VIEW(item), "elm.btn.text");
|
const char *txt = elm_object_part_text_get(VIEW(item), "elm.btn.text");
|
||||||
return txt ? strdup(txt) : NULL;
|
return txt;
|
||||||
}
|
}
|
||||||
|
|
||||||
static Eina_Bool
|
static Eina_Bool
|
||||||
|
|
|
@ -44,12 +44,12 @@ _elm_atspi_app_object_elm_interface_atspi_accessible_children_get(Eo *obj EINA_U
|
||||||
return accs;
|
return accs;
|
||||||
}
|
}
|
||||||
|
|
||||||
EOLIAN static char*
|
EOLIAN static const char*
|
||||||
_elm_atspi_app_object_elm_interface_atspi_accessible_name_get(Eo *obj EINA_UNUSED, Elm_Atspi_App_Object_Data *_pd EINA_UNUSED)
|
_elm_atspi_app_object_elm_interface_atspi_accessible_name_get(Eo *obj EINA_UNUSED, Elm_Atspi_App_Object_Data *_pd EINA_UNUSED)
|
||||||
{
|
{
|
||||||
const char *ret;
|
const char *ret;
|
||||||
ret = elm_app_name_get();
|
ret = elm_app_name_get();
|
||||||
return ret ? strdup(ret) : NULL;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
EOLIAN static const char*
|
EOLIAN static const char*
|
||||||
|
|
|
@ -2075,12 +2075,10 @@ _accessible_property_get(const Eldbus_Service_Interface *interface, const char *
|
||||||
|
|
||||||
if (!strcmp(property, "Name"))
|
if (!strcmp(property, "Name"))
|
||||||
{
|
{
|
||||||
char *ret2;
|
ret = elm_interface_atspi_accessible_name_get(obj);
|
||||||
ret2 = elm_interface_atspi_accessible_name_get(obj);
|
if (!ret)
|
||||||
if (!ret2)
|
ret = "";
|
||||||
ret2 = strdup("");
|
eldbus_message_iter_basic_append(iter, 's', ret);
|
||||||
eldbus_message_iter_basic_append(iter, 's', ret2);
|
|
||||||
free(ret2);
|
|
||||||
return EINA_TRUE;
|
return EINA_TRUE;
|
||||||
}
|
}
|
||||||
else if (!strcmp(property, "Description"))
|
else if (!strcmp(property, "Description"))
|
||||||
|
@ -3191,13 +3189,12 @@ _cache_item_reference_append_cb(Eo *bridge, Eo *data, Eldbus_Message_Iter *iter_
|
||||||
_iter_interfaces_append(iter_struct, data);
|
_iter_interfaces_append(iter_struct, data);
|
||||||
|
|
||||||
/* Marshall name */
|
/* Marshall name */
|
||||||
char *name = NULL;
|
const char *name = NULL;
|
||||||
name = elm_interface_atspi_accessible_name_get(data);
|
name = elm_interface_atspi_accessible_name_get(data);
|
||||||
if (!name)
|
if (!name)
|
||||||
name = strdup("");
|
name = "";
|
||||||
|
|
||||||
eldbus_message_iter_basic_append(iter_struct, 's', name);
|
eldbus_message_iter_basic_append(iter_struct, 's', name);
|
||||||
free(name);
|
|
||||||
|
|
||||||
/* Marshall role */
|
/* Marshall role */
|
||||||
eldbus_message_iter_basic_append(iter_struct, 'u', role);
|
eldbus_message_iter_basic_append(iter_struct, 'u', role);
|
||||||
|
|
|
@ -5983,14 +5983,14 @@ _elm_entry_elm_interface_atspi_accessible_state_set_get(Eo *obj, Elm_Entry_Data
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
EOLIAN static char*
|
EOLIAN static const char*
|
||||||
_elm_entry_elm_interface_atspi_accessible_name_get(Eo *obj, Elm_Entry_Data *sd)
|
_elm_entry_elm_interface_atspi_accessible_name_get(Eo *obj, Elm_Entry_Data *sd)
|
||||||
{
|
{
|
||||||
char *name;
|
const char *name;
|
||||||
name = elm_interface_atspi_accessible_name_get(efl_super(obj, ELM_ENTRY_CLASS));
|
name = elm_interface_atspi_accessible_name_get(efl_super(obj, ELM_ENTRY_CLASS));
|
||||||
if (name && strncmp("", name, 1)) return name;
|
if (name && strncmp("", name, 1)) return name;
|
||||||
const char *ret = edje_object_part_text_get(sd->entry_edje, "elm.guide");
|
const char *ret = edje_object_part_text_get(sd->entry_edje, "elm.guide");
|
||||||
return ret ? strdup(ret) : NULL;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Efl.Part begin */
|
/* Efl.Part begin */
|
||||||
|
|
|
@ -5773,11 +5773,12 @@ _elm_gengrid_item_elm_interface_atspi_accessible_state_set_get(Eo *eo_it, Elm_Ge
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
EOLIAN char*
|
EOLIAN const char*
|
||||||
_elm_gengrid_item_elm_interface_atspi_accessible_name_get(Eo *eo_it, Elm_Gen_Item *it)
|
_elm_gengrid_item_elm_interface_atspi_accessible_name_get(Eo *eo_it, Elm_Gen_Item *it)
|
||||||
{
|
{
|
||||||
char *ret;
|
const char *ret;
|
||||||
Eina_Strbuf *buf;
|
Eina_Strbuf *buf;
|
||||||
|
char *accessible_name;
|
||||||
|
|
||||||
ret = elm_interface_atspi_accessible_name_get(efl_super(eo_it, ELM_GENGRID_ITEM_CLASS));
|
ret = elm_interface_atspi_accessible_name_get(efl_super(eo_it, ELM_GENGRID_ITEM_CLASS));
|
||||||
if (ret) return ret;
|
if (ret) return ret;
|
||||||
|
@ -5811,9 +5812,13 @@ _elm_gengrid_item_elm_interface_atspi_accessible_name_get(Eo *eo_it, Elm_Gen_Ite
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = eina_strbuf_string_steal(buf);
|
accessible_name = eina_strbuf_string_steal(buf);
|
||||||
eina_strbuf_free(buf);
|
eina_strbuf_free(buf);
|
||||||
return ret;
|
|
||||||
|
eina_stringshare_del(it->base->accessible_name);
|
||||||
|
it->base->accessible_name = eina_stringshare_add(accessible_name);
|
||||||
|
free(accessible_name);
|
||||||
|
return it->base->accessible_name;
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI Elm_Object_Item *
|
EAPI Elm_Object_Item *
|
||||||
|
|
|
@ -8221,11 +8221,12 @@ _elm_genlist_item_elm_interface_atspi_accessible_state_set_get(Eo *eo_it, Elm_Ge
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
EOLIAN char*
|
EOLIAN const char*
|
||||||
_elm_genlist_item_elm_interface_atspi_accessible_name_get(Eo *eo_it, Elm_Gen_Item *it)
|
_elm_genlist_item_elm_interface_atspi_accessible_name_get(Eo *eo_it, Elm_Gen_Item *it)
|
||||||
{
|
{
|
||||||
char *ret;
|
const char *ret;
|
||||||
Eina_Strbuf *buf;
|
Eina_Strbuf *buf;
|
||||||
|
char *accessible_name;
|
||||||
|
|
||||||
ret = elm_interface_atspi_accessible_name_get(efl_super(eo_it, ELM_GENLIST_ITEM_CLASS));
|
ret = elm_interface_atspi_accessible_name_get(efl_super(eo_it, ELM_GENLIST_ITEM_CLASS));
|
||||||
if (ret) return ret;
|
if (ret) return ret;
|
||||||
|
@ -8257,9 +8258,13 @@ _elm_genlist_item_elm_interface_atspi_accessible_name_get(Eo *eo_it, Elm_Gen_Ite
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = eina_strbuf_string_steal(buf);
|
accessible_name = eina_strbuf_string_steal(buf);
|
||||||
eina_strbuf_free(buf);
|
eina_strbuf_free(buf);
|
||||||
return ret;
|
|
||||||
|
eina_stringshare_del(it->base->accessible_name);
|
||||||
|
it->base->accessible_name = eina_stringshare_add(accessible_name);
|
||||||
|
free(accessible_name);
|
||||||
|
return it->base->accessible_name;
|
||||||
}
|
}
|
||||||
|
|
||||||
EOLIAN static void
|
EOLIAN static void
|
||||||
|
|
|
@ -1741,14 +1741,14 @@ _elm_index_elm_interface_atspi_accessible_children_get(Eo *obj, Elm_Index_Data *
|
||||||
return eina_list_merge(eina_list_clone(data->items), ret);
|
return eina_list_merge(eina_list_clone(data->items), ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
EOLIAN static char*
|
EOLIAN static const char*
|
||||||
_elm_index_item_elm_interface_atspi_accessible_name_get(Eo *eo_it, Elm_Index_Item_Data *data)
|
_elm_index_item_elm_interface_atspi_accessible_name_get(Eo *eo_it, Elm_Index_Item_Data *data)
|
||||||
{
|
{
|
||||||
char *name;
|
const char *name;
|
||||||
name = elm_interface_atspi_accessible_name_get(efl_super(eo_it, ELM_INDEX_ITEM_CLASS));
|
name = elm_interface_atspi_accessible_name_get(efl_super(eo_it, ELM_INDEX_ITEM_CLASS));
|
||||||
if (name) return name;
|
if (name) return name;
|
||||||
|
|
||||||
return data->letter ? strdup(data->letter) : NULL;
|
return data->letter;
|
||||||
}
|
}
|
||||||
|
|
||||||
EOLIAN static const Elm_Atspi_Action*
|
EOLIAN static const Elm_Atspi_Action*
|
||||||
|
|
|
@ -224,26 +224,18 @@ _elm_interface_atspi_accessible_role_name_get(Eo *obj EINA_UNUSED, Elm_Interface
|
||||||
return role > ELM_ATSPI_ROLE_LAST_DEFINED ? "" : Atspi_Name[role];
|
return role > ELM_ATSPI_ROLE_LAST_DEFINED ? "" : Atspi_Name[role];
|
||||||
}
|
}
|
||||||
|
|
||||||
EOLIAN char *
|
EOLIAN const char *
|
||||||
_elm_interface_atspi_accessible_name_get(Eo *obj EINA_UNUSED, Elm_Interface_Atspi_Accessible_Data *pd)
|
_elm_interface_atspi_accessible_name_get(Eo *obj EINA_UNUSED, Elm_Interface_Atspi_Accessible_Data *pd)
|
||||||
{
|
{
|
||||||
if (pd->name)
|
|
||||||
{
|
|
||||||
#ifdef ENABLE_NLS
|
#ifdef ENABLE_NLS
|
||||||
if (pd->translation_domain)
|
if (pd->translation_domain)
|
||||||
return strdup(dgettext(pd->translation_domain, pd->name));
|
return dgettext(pd->translation_domain, pd->name);
|
||||||
else
|
|
||||||
return strdup(pd->name);
|
|
||||||
#else
|
|
||||||
return strdup(pd->name);
|
|
||||||
#endif
|
#endif
|
||||||
}
|
return pd->name;
|
||||||
|
|
||||||
return NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
EOLIAN static void
|
EOLIAN static void
|
||||||
_elm_interface_atspi_accessible_name_set(Eo *obj EINA_UNUSED, Elm_Interface_Atspi_Accessible_Data *pd, char *val)
|
_elm_interface_atspi_accessible_name_set(Eo *obj EINA_UNUSED, Elm_Interface_Atspi_Accessible_Data *pd, const char *val)
|
||||||
{
|
{
|
||||||
eina_stringshare_replace(&pd->name, val);
|
eina_stringshare_replace(&pd->name, val);
|
||||||
}
|
}
|
||||||
|
|
|
@ -256,7 +256,7 @@ mixin Elm.Interface.Atspi_Accessible ()
|
||||||
set {
|
set {
|
||||||
}
|
}
|
||||||
values {
|
values {
|
||||||
name: ptr(char); [[Object name]]
|
name: string; [[Object name]]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@property relation_set @protected {
|
@property relation_set @protected {
|
||||||
|
|
|
@ -2144,13 +2144,13 @@ _elm_list_item_elm_interface_atspi_accessible_state_set_get(Eo *eo_it, Elm_List_
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
EOLIAN static char*
|
EOLIAN static const char*
|
||||||
_elm_list_item_elm_interface_atspi_accessible_name_get(Eo *eo_it, Elm_List_Item_Data *data)
|
_elm_list_item_elm_interface_atspi_accessible_name_get(Eo *eo_it, Elm_List_Item_Data *data)
|
||||||
{
|
{
|
||||||
char *ret;
|
const char *ret;
|
||||||
ret = elm_interface_atspi_accessible_name_get(efl_super(eo_it, ELM_LIST_ITEM_CLASS));
|
ret = elm_interface_atspi_accessible_name_get(efl_super(eo_it, ELM_LIST_ITEM_CLASS));
|
||||||
if (ret) return ret;
|
if (ret) return ret;
|
||||||
return data->label ? strdup(data->label) : NULL;
|
return data->label;
|
||||||
}
|
}
|
||||||
|
|
||||||
static char *
|
static char *
|
||||||
|
|
|
@ -1304,13 +1304,13 @@ _elm_menu_item_elm_interface_atspi_accessible_role_get(Eo *obj EINA_UNUSED, Elm_
|
||||||
return sd->submenu.items ? ELM_ATSPI_ROLE_MENU : ELM_ATSPI_ROLE_MENU_ITEM;
|
return sd->submenu.items ? ELM_ATSPI_ROLE_MENU : ELM_ATSPI_ROLE_MENU_ITEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
EOLIAN static char*
|
EOLIAN static const char*
|
||||||
_elm_menu_item_elm_interface_atspi_accessible_name_get(Eo *obj, Elm_Menu_Item_Data *sd)
|
_elm_menu_item_elm_interface_atspi_accessible_name_get(Eo *obj, Elm_Menu_Item_Data *sd)
|
||||||
{
|
{
|
||||||
char *ret;
|
const char *ret;
|
||||||
ret = elm_interface_atspi_accessible_name_get(efl_super(obj, ELM_MENU_ITEM_CLASS));
|
ret = elm_interface_atspi_accessible_name_get(efl_super(obj, ELM_MENU_ITEM_CLASS));
|
||||||
if (ret) return ret;
|
if (ret) return ret;
|
||||||
return sd->label ? strdup(sd->label) : NULL;
|
return sd->label;
|
||||||
}
|
}
|
||||||
|
|
||||||
EOLIAN static Elm_Atspi_State_Set
|
EOLIAN static Elm_Atspi_State_Set
|
||||||
|
|
|
@ -1736,14 +1736,14 @@ _elm_spinner_elm_interface_atspi_value_increment_get(Eo *obj EINA_UNUSED, Elm_Sp
|
||||||
return sd->step;
|
return sd->step;
|
||||||
}
|
}
|
||||||
|
|
||||||
EOLIAN static char*
|
EOLIAN static const char*
|
||||||
_elm_spinner_elm_interface_atspi_accessible_name_get(Eo *obj, Elm_Spinner_Data *sd EINA_UNUSED)
|
_elm_spinner_elm_interface_atspi_accessible_name_get(Eo *obj, Elm_Spinner_Data *sd EINA_UNUSED)
|
||||||
{
|
{
|
||||||
char *name;
|
const char *name;
|
||||||
name = elm_interface_atspi_accessible_name_get(efl_super(obj, ELM_SPINNER_CLASS));
|
name = elm_interface_atspi_accessible_name_get(efl_super(obj, ELM_SPINNER_CLASS));
|
||||||
if (name) return name;
|
if (name) return name;
|
||||||
const char *ret = elm_layout_text_get(obj, "elm.text");
|
const char *ret = elm_layout_text_get(obj, "elm.text");
|
||||||
return ret ? strdup(ret) : NULL;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
// A11Y Accessibility - END
|
// A11Y Accessibility - END
|
||||||
|
|
|
@ -3966,13 +3966,13 @@ _elm_toolbar_item_bring_in(Eo *eo_item EINA_UNUSED, Elm_Toolbar_Item_Data *item,
|
||||||
(WIDGET(item), x, y, w, h);
|
(WIDGET(item), x, y, w, h);
|
||||||
}
|
}
|
||||||
|
|
||||||
EOLIAN static char*
|
EOLIAN static const char*
|
||||||
_elm_toolbar_item_elm_interface_atspi_accessible_name_get(Eo *eo_item, Elm_Toolbar_Item_Data *item)
|
_elm_toolbar_item_elm_interface_atspi_accessible_name_get(Eo *eo_item, Elm_Toolbar_Item_Data *item)
|
||||||
{
|
{
|
||||||
char *ret;
|
const char *ret;
|
||||||
ret = elm_interface_atspi_accessible_name_get(efl_super(eo_item, ELM_TOOLBAR_ITEM_CLASS));
|
ret = elm_interface_atspi_accessible_name_get(efl_super(eo_item, ELM_TOOLBAR_ITEM_CLASS));
|
||||||
if (ret) return ret;
|
if (ret) return ret;
|
||||||
return item->label ? strdup(item->label) : NULL;
|
return item->label;
|
||||||
}
|
}
|
||||||
|
|
||||||
EOLIAN static Elm_Atspi_State_Set
|
EOLIAN static Elm_Atspi_State_Set
|
||||||
|
|
|
@ -482,6 +482,7 @@ _elm_widget_efl_canvas_group_group_del(Eo *obj, Elm_Widget_Smart_Data *sd)
|
||||||
_if_focused_revert(obj, EINA_TRUE);
|
_if_focused_revert(obj, EINA_TRUE);
|
||||||
elm_widget_focus_custom_chain_unset(obj);
|
elm_widget_focus_custom_chain_unset(obj);
|
||||||
eina_stringshare_del(sd->access_info);
|
eina_stringshare_del(sd->access_info);
|
||||||
|
eina_stringshare_del(sd->accessible_name);
|
||||||
evas_object_smart_data_set(obj, NULL);
|
evas_object_smart_data_set(obj, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4576,6 +4577,7 @@ _elm_widget_item_efl_object_destructor(Eo *eo_item, Elm_Widget_Item_Data *item)
|
||||||
evas_object_del(item->view);
|
evas_object_del(item->view);
|
||||||
|
|
||||||
eina_stringshare_del(item->access_info);
|
eina_stringshare_del(item->access_info);
|
||||||
|
eina_stringshare_del(item->accessible_name);
|
||||||
|
|
||||||
while (item->signals)
|
while (item->signals)
|
||||||
_elm_widget_item_signal_callback_list_get(item, item->signals);
|
_elm_widget_item_signal_callback_list_get(item, item->signals);
|
||||||
|
@ -5939,11 +5941,11 @@ _elm_widget_elm_interface_atspi_component_focus_grab(Eo *obj, Elm_Widget_Smart_D
|
||||||
return EINA_FALSE;
|
return EINA_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
EOLIAN static char*
|
EOLIAN static const char*
|
||||||
_elm_widget_elm_interface_atspi_accessible_name_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *_pd EINA_UNUSED)
|
_elm_widget_elm_interface_atspi_accessible_name_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *_pd)
|
||||||
{
|
{
|
||||||
const char *ret;
|
const char *ret, *name;
|
||||||
char *name;
|
char *accessible_name;
|
||||||
name = elm_interface_atspi_accessible_name_get(efl_super(obj, ELM_WIDGET_CLASS));
|
name = elm_interface_atspi_accessible_name_get(efl_super(obj, ELM_WIDGET_CLASS));
|
||||||
|
|
||||||
if (name) return name;
|
if (name) return name;
|
||||||
|
@ -5951,7 +5953,11 @@ _elm_widget_elm_interface_atspi_accessible_name_get(Eo *obj EINA_UNUSED, Elm_Wid
|
||||||
ret = elm_object_text_get(obj);
|
ret = elm_object_text_get(obj);
|
||||||
if (!ret) return NULL;
|
if (!ret) return NULL;
|
||||||
|
|
||||||
return _elm_util_mkup_to_text(ret);
|
accessible_name = _elm_util_mkup_to_text(ret);
|
||||||
|
eina_stringshare_del(_pd->accessible_name);
|
||||||
|
_pd->accessible_name = eina_stringshare_add(accessible_name);
|
||||||
|
free(accessible_name);
|
||||||
|
return _pd->accessible_name;
|
||||||
}
|
}
|
||||||
|
|
||||||
EOLIAN static Eina_List*
|
EOLIAN static Eina_List*
|
||||||
|
|
|
@ -410,6 +410,7 @@ typedef struct _Elm_Widget_Smart_Data
|
||||||
const char *style;
|
const char *style;
|
||||||
const char *focus_highlight_style; /**< custom focus style for a widget */
|
const char *focus_highlight_style; /**< custom focus style for a widget */
|
||||||
const char *access_info;
|
const char *access_info;
|
||||||
|
const char *accessible_name;
|
||||||
unsigned int focus_order;
|
unsigned int focus_order;
|
||||||
Eina_Bool focus_order_on_calc;
|
Eina_Bool focus_order_on_calc;
|
||||||
|
|
||||||
|
@ -603,6 +604,7 @@ struct _Elm_Widget_Item_Data
|
||||||
|
|
||||||
Evas_Object *access_obj;
|
Evas_Object *access_obj;
|
||||||
const char *access_info;
|
const char *access_info;
|
||||||
|
const char *accessible_name;
|
||||||
Eina_List *access_order;
|
Eina_List *access_order;
|
||||||
Eina_Inlist *translate_strings;
|
Eina_Inlist *translate_strings;
|
||||||
Eina_List *signals;
|
Eina_List *signals;
|
||||||
|
|
|
@ -51,7 +51,7 @@ START_TEST (elm_atspi_name_get)
|
||||||
elm_init(0, NULL);
|
elm_init(0, NULL);
|
||||||
generate_app();
|
generate_app();
|
||||||
|
|
||||||
char *name;
|
const char *name;
|
||||||
|
|
||||||
name = elm_interface_atspi_accessible_name_get(g_btn);
|
name = elm_interface_atspi_accessible_name_get(g_btn);
|
||||||
|
|
||||||
|
@ -59,8 +59,6 @@ START_TEST (elm_atspi_name_get)
|
||||||
ck_assert(0);
|
ck_assert(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
free(name);
|
|
||||||
|
|
||||||
// Set name with additional text tags
|
// Set name with additional text tags
|
||||||
elm_object_text_set(g_btn, "Some<br>text");
|
elm_object_text_set(g_btn, "Some<br>text");
|
||||||
|
|
||||||
|
@ -70,7 +68,6 @@ START_TEST (elm_atspi_name_get)
|
||||||
ck_assert(name != NULL);
|
ck_assert(name != NULL);
|
||||||
ck_assert_str_eq(name, "Some\ntext");
|
ck_assert_str_eq(name, "Some\ntext");
|
||||||
|
|
||||||
free(name);
|
|
||||||
elm_shutdown();
|
elm_shutdown();
|
||||||
}
|
}
|
||||||
END_TEST
|
END_TEST
|
||||||
|
@ -80,7 +77,7 @@ START_TEST (elm_atspi_name_set)
|
||||||
elm_init(0, NULL);
|
elm_init(0, NULL);
|
||||||
generate_app();
|
generate_app();
|
||||||
|
|
||||||
char *name;
|
const char *name;
|
||||||
|
|
||||||
elm_object_text_set(g_btn, "Other text");
|
elm_object_text_set(g_btn, "Other text");
|
||||||
elm_interface_atspi_accessible_name_set(g_btn, "Test name");
|
elm_interface_atspi_accessible_name_set(g_btn, "Test name");
|
||||||
|
@ -90,16 +87,12 @@ START_TEST (elm_atspi_name_set)
|
||||||
ck_assert(name != NULL);
|
ck_assert(name != NULL);
|
||||||
ck_assert_str_eq(name, "Test name");
|
ck_assert_str_eq(name, "Test name");
|
||||||
|
|
||||||
free(name);
|
|
||||||
|
|
||||||
elm_interface_atspi_accessible_name_set(g_btn, NULL);
|
elm_interface_atspi_accessible_name_set(g_btn, NULL);
|
||||||
name = elm_interface_atspi_accessible_name_get(g_btn);
|
name = elm_interface_atspi_accessible_name_get(g_btn);
|
||||||
|
|
||||||
ck_assert(name != NULL);
|
ck_assert(name != NULL);
|
||||||
ck_assert_str_eq(name, "Other text");
|
ck_assert_str_eq(name, "Other text");
|
||||||
|
|
||||||
free(name);
|
|
||||||
|
|
||||||
elm_shutdown();
|
elm_shutdown();
|
||||||
}
|
}
|
||||||
END_TEST
|
END_TEST
|
||||||
|
|
Loading…
Reference in New Issue