From f10fb3e115872332a2d54e399ef1a1e108e26379 Mon Sep 17 00:00:00 2001 From: Shinwoo Kim Date: Sun, 23 Dec 2012 14:50:56 +0000 Subject: [PATCH] [access] export some APIs,and remove unnecessary lines. + elm_access_object_register(); + elm_access_object_unregister(); + elm_access_text_set(); + elm_access_text_get(); + elm_access_cb_set(); These APIs are to use edje part, evas object as an accessible object. and do not create access object, because access object would be created at run time. This is different with internal API _elm_access_object_register(); SVN revision: 81659 --- .../elementary/src/lib/elc_multibuttonentry.c | 4 +- legacy/elementary/src/lib/elm_access.c | 100 +++++++++++++++--- legacy/elementary/src/lib/elm_access.h | 71 ++++++++++++- legacy/elementary/src/lib/elm_bubble.c | 4 +- legacy/elementary/src/lib/elm_button.c | 8 +- legacy/elementary/src/lib/elm_calendar.c | 4 +- legacy/elementary/src/lib/elm_check.c | 8 +- legacy/elementary/src/lib/elm_clock.c | 8 +- legacy/elementary/src/lib/elm_colorselector.c | 4 +- legacy/elementary/src/lib/elm_datetime.c | 4 +- legacy/elementary/src/lib/elm_diskselector.c | 4 +- legacy/elementary/src/lib/elm_entry.c | 8 +- legacy/elementary/src/lib/elm_gengrid.c | 8 +- legacy/elementary/src/lib/elm_genlist.c | 8 +- legacy/elementary/src/lib/elm_index.c | 4 +- legacy/elementary/src/lib/elm_label.c | 4 +- legacy/elementary/src/lib/elm_list.c | 8 +- legacy/elementary/src/lib/elm_panel.c | 4 +- legacy/elementary/src/lib/elm_progressbar.c | 8 +- legacy/elementary/src/lib/elm_radio.c | 8 +- .../elementary/src/lib/elm_segment_control.c | 8 +- legacy/elementary/src/lib/elm_slider.c | 10 +- legacy/elementary/src/lib/elm_spinner.c | 8 +- legacy/elementary/src/lib/elm_toolbar.c | 8 +- legacy/elementary/src/lib/elm_widget.h | 15 +-- 25 files changed, 191 insertions(+), 137 deletions(-) diff --git a/legacy/elementary/src/lib/elc_multibuttonentry.c b/legacy/elementary/src/lib/elc_multibuttonentry.c index a635b5d34b..508afe9c05 100644 --- a/legacy/elementary/src/lib/elc_multibuttonentry.c +++ b/legacy/elementary/src/lib/elc_multibuttonentry.c @@ -1470,9 +1470,7 @@ _elm_multibuttonentry_smart_text_get(Eo *obj, void *_pd, va_list *list) } static char * -_access_info_cb(void *data __UNUSED__, - Evas_Object *obj, - Elm_Widget_Item *item __UNUSED__) +_access_info_cb(void *data __UNUSED__, Evas_Object *obj) { char *ret; Eina_Strbuf *buf; diff --git a/legacy/elementary/src/lib/elm_access.c b/legacy/elementary/src/lib/elm_access.c index 1b23224069..d8659ff467 100644 --- a/legacy/elementary/src/lib/elm_access.c +++ b/legacy/elementary/src/lib/elm_access.c @@ -111,12 +111,12 @@ _access_obj_over_timeout_cb(void *data) { if (ac->on_highlight) ac->on_highlight(ac->on_highlight_data); _elm_access_object_hilight(data); - _elm_access_read(ac, ELM_ACCESS_CANCEL, data, NULL); - _elm_access_read(ac, ELM_ACCESS_TYPE, data, NULL); - _elm_access_read(ac, ELM_ACCESS_INFO, data, NULL); - _elm_access_read(ac, ELM_ACCESS_STATE, data, NULL); - _elm_access_read(ac, ELM_ACCESS_EXTERNAL_INFO, data, NULL); - _elm_access_read(ac, ELM_ACCESS_DONE, data, NULL); + _elm_access_read(ac, ELM_ACCESS_CANCEL, data); + _elm_access_read(ac, ELM_ACCESS_TYPE, data); + _elm_access_read(ac, ELM_ACCESS_INFO, data); + _elm_access_read(ac, ELM_ACCESS_STATE, data); + _elm_access_read(ac, ELM_ACCESS_CONTEXT_INFO, data); + _elm_access_read(ac, ELM_ACCESS_DONE, data); } ac->delay_timer = NULL; return EINA_FALSE; @@ -331,7 +331,7 @@ _elm_access_highlight_cycle(Evas_Object *obj, Elm_Focus_Direction dir) } EAPI char * -_elm_access_text_get(const Elm_Access_Info *ac, int type, Evas_Object *obj, Elm_Widget_Item *item) +_elm_access_text_get(const Elm_Access_Info *ac, int type, Evas_Object *obj) { Elm_Access_Item *ai; Eina_List *l; @@ -341,7 +341,7 @@ _elm_access_text_get(const Elm_Access_Info *ac, int type, Evas_Object *obj, Elm_ { if (ai->type == type) { - if (ai->func) return ai->func((void *)(ai->data), obj, item); + if (ai->func) return ai->func((void *)(ai->data), obj); else if (ai->data) return strdup(ai->data); return NULL; } @@ -350,9 +350,9 @@ _elm_access_text_get(const Elm_Access_Info *ac, int type, Evas_Object *obj, Elm_ } EAPI void -_elm_access_read(Elm_Access_Info *ac, int type, Evas_Object *obj, Elm_Widget_Item *item) +_elm_access_read(Elm_Access_Info *ac, int type, Evas_Object *obj) { - char *txt = _elm_access_text_get(ac, type, obj, item); + char *txt = _elm_access_text_get(ac, type, obj); _access_init(); if (mapi) @@ -406,7 +406,7 @@ _elm_access_object_get(const Evas_Object *obj) EAPI void _elm_access_object_hilight(Evas_Object *obj) { - Evas_Object *o; + Evas_Object *o, *parent_obj; Evas_Coord x, y, w, h; o = evas_object_name_find(evas_object_evas_get(obj), "_elm_access_disp"); @@ -433,7 +433,13 @@ _elm_access_object_hilight(Evas_Object *obj) } } evas_object_data_set(o, "_elm_access_target", obj); - elm_widget_theme_object_set(obj, o, "access", "base", "default"); + + parent_obj = obj; + if (!elm_widget_is(obj)) + parent_obj = evas_object_data_get(obj, "_elm_access_parent"); + + elm_widget_theme_object_set(parent_obj, o, "access", "base", "default"); + evas_object_event_callback_add(obj, EVAS_CALLBACK_DEL, _access_obj_hilight_del_cb, NULL); evas_object_event_callback_add(obj, EVAS_CALLBACK_HIDE, @@ -500,8 +506,7 @@ _content_move(void *data, Evas *e __UNUSED__, Evas_Object *obj, } static char * -_part_access_info_cb(void *data, Evas_Object *obj, - Elm_Widget_Item *item __UNUSED__) +_part_access_info_cb(void *data, Evas_Object *obj) { Evas_Object *eobj = data; if (!eobj) return NULL; @@ -783,11 +788,74 @@ static const Eo_Class_Description class_desc = { NULL }; +EAPI void +elm_access_text_set(Evas_Object *obj, int type, const char *text) +{ + _elm_access_text_set(_elm_access_object_get(obj), type, text); +} + +EAPI char * +elm_access_text_get(Evas_Object *obj, int type) +{ + return _elm_access_text_get(_elm_access_object_get(obj), type, obj); +} + +EAPI void +elm_access_cb_set(Evas_Object *obj, int type, + Elm_Access_Content_Cb func, const void *data) +{ + _elm_access_callback_set(_elm_access_object_get(obj), type, func, data); +} + + +EAPI void +elm_access_object_register(Evas_Object *parent, Evas_Object *target) +{ + Elm_Access_Info *ai; + + if (!parent || !target) return; + + evas_object_event_callback_add(target, EVAS_CALLBACK_MOUSE_IN, + _access_obj_mouse_in_cb, target); + evas_object_event_callback_add(target, EVAS_CALLBACK_MOUSE_OUT, + _access_obj_mouse_out_cb, target); + evas_object_event_callback_add(target, EVAS_CALLBACK_DEL, + _access_obj_del_cb, target); + ai = calloc(1, sizeof(Elm_Access_Info)); + evas_object_data_set(target, "_elm_access", ai); + + //TODO: evas_object_data_del(); parent should take care of children. + evas_object_data_set(target, "_elm_access_parent", parent); +} + +EAPI void +elm_access_object_unregister(Evas_Object *obj) +{ + Elm_Access_Info *ac; + + evas_object_event_callback_del_full(obj, EVAS_CALLBACK_MOUSE_IN, + _access_obj_mouse_in_cb, obj); + evas_object_event_callback_del_full(obj, EVAS_CALLBACK_MOUSE_OUT, + _access_obj_mouse_out_cb, obj); + evas_object_event_callback_del_full(obj, EVAS_CALLBACK_DEL, + _access_obj_del_cb, obj); + + ac = evas_object_data_get(obj, "_elm_access"); + evas_object_data_del(obj, "_elm_access"); + if (ac) + { + _elm_access_clear(ac); + free(ac); + } + + evas_object_data_del(obj, "_elm_access_parent"); +} + EAPI void elm_access_external_info_set(Evas_Object *obj, const char *text) { _elm_access_text_set - (_elm_access_object_get(obj), ELM_ACCESS_EXTERNAL_INFO, text); + (_elm_access_object_get(obj), ELM_ACCESS_CONTEXT_INFO, text); } EAPI char * @@ -796,7 +864,7 @@ elm_access_external_info_get(const Evas_Object *obj) Elm_Access_Info *ac; ac = _elm_access_object_get(obj); - return _elm_access_text_get(ac, ELM_ACCESS_EXTERNAL_INFO, obj, NULL); + return _elm_access_text_get(ac, ELM_ACCESS_CONTEXT_INFO, (Evas_Object *)obj); } EO_DEFINE_CLASS(elm_obj_access_class_get, &class_desc, ELM_OBJ_WIDGET_CLASS, NULL); diff --git a/legacy/elementary/src/lib/elm_access.h b/legacy/elementary/src/lib/elm_access.h index 97a0860216..e710055cc2 100644 --- a/legacy/elementary/src/lib/elm_access.h +++ b/legacy/elementary/src/lib/elm_access.h @@ -10,6 +10,73 @@ const Eo_Class *elm_obj_access_class_get(void) EINA_CONST; -EAPI void elm_access_external_info_set(Evas_Object *obj, const char *text); +#define ELM_ACCESS_TYPE 0 /* when reading out widget or item + * this is read first */ +#define ELM_ACCESS_INFO 1 /* next read is info - this is + * normally label */ +#define ELM_ACCESS_STATE 2 /* if there is a state (eg checkbox) + * then read state out */ +#define ELM_ACCESS_CONTEXT_INFO 3 /* to give contextual information */ -EAPI char * elm_access_external_info_get(const Evas_Object *obj); +typedef char *(*Elm_Access_Content_Cb)(void *data, Evas_Object *obj); + +/** + * @brief Register evas object as an accessible object. + * @since 1.8 + * + * @param parent accessibility parent object. this should be one of widget. + * @param target evas object to register as an accessible object. + * + * @ingroup Access + */ +EAPI void elm_access_object_register(Evas_Object *parent, Evas_Object *target); + +/** + * @brief Unregister accessible object. + * @since 1.8 + * + * @param obj accessible object. + * + * @ingroup Access + */ +EAPI void elm_access_object_unregister(Evas_Object *target); + +/** + * @brief Set text to give information for specific type. + * @since 1.8 + * + * @param obj accessible object. + * @param type + * @param text + + * @ingroup Access + */ +EAPI void elm_access_text_set(Evas_Object *obj, int type, const char *text); + +/** + * @brief Set text to give information for specific type. + * @since 1.8 + * + * @param obj accessible object. + * @param type + + * @ingroup Access + */ +EAPI char * elm_access_text_get(Evas_Object *obj, int type); + +/** + * @brief Set callback to give information for specific type. + * @since 1.8 + * + * @param obj accessible object. + * @param type + * @param func + * @param data + * + * @ingroup Access + */ +EAPI void elm_access_cb_set(Evas_Object *obj, int type, Elm_Access_Content_Cb func, const void *data); + +//TODO: remvoe below - use elm_access_text_set(); or elm_access_cb_set(); +EINA_DEPRECATED EAPI void elm_access_external_info_set(Evas_Object *obj, const char *text); +EINA_DEPRECATED EAPI char * elm_access_external_info_get(const Evas_Object *obj); diff --git a/legacy/elementary/src/lib/elm_bubble.c b/legacy/elementary/src/lib/elm_bubble.c index 18ee459a64..e8e5d5c17b 100644 --- a/legacy/elementary/src/lib/elm_bubble.c +++ b/legacy/elementary/src/lib/elm_bubble.c @@ -150,9 +150,7 @@ _elm_bubble_smart_text_set(Eo *obj, void *_pd EINA_UNUSED, va_list *list) } static char * -_access_info_cb(void *data __UNUSED__, - Evas_Object *obj, - Elm_Widget_Item *item __UNUSED__) +_access_info_cb(void *data __UNUSED__, Evas_Object *obj) { char *ret; Eina_Strbuf *buf; diff --git a/legacy/elementary/src/lib/elm_button.c b/legacy/elementary/src/lib/elm_button.c index acd3c87842..040c0409e4 100644 --- a/legacy/elementary/src/lib/elm_button.c +++ b/legacy/elementary/src/lib/elm_button.c @@ -264,9 +264,7 @@ _on_unpressed_signal(void *data, } static char * -_access_info_cb(void *data __UNUSED__, - Evas_Object *obj, - Elm_Widget_Item *item __UNUSED__) +_access_info_cb(void *data __UNUSED__, Evas_Object *obj) { const char *txt = elm_widget_access_info_get(obj); @@ -277,9 +275,7 @@ _access_info_cb(void *data __UNUSED__, } static char * -_access_state_cb(void *data __UNUSED__, - Evas_Object *obj, - Elm_Widget_Item *item __UNUSED__) +_access_state_cb(void *data __UNUSED__, Evas_Object *obj) { if (elm_widget_disabled_get(obj)) return strdup(E_("State: Disabled")); diff --git a/legacy/elementary/src/lib/elm_calendar.c b/legacy/elementary/src/lib/elm_calendar.c index fba2138b57..44a8ac048a 100644 --- a/legacy/elementary/src/lib/elm_calendar.c +++ b/legacy/elementary/src/lib/elm_calendar.c @@ -198,9 +198,7 @@ _set_month_year(Elm_Calendar_Smart_Data *sd) } static char * -_access_info_cb(void *data __UNUSED__, - Evas_Object *obj, - Elm_Widget_Item *item __UNUSED__) +_access_info_cb(void *data __UNUSED__, Evas_Object *obj) { char *ret; Eina_Strbuf *buf; diff --git a/legacy/elementary/src/lib/elm_check.c b/legacy/elementary/src/lib/elm_check.c index 74099b4112..e88325f702 100644 --- a/legacy/elementary/src/lib/elm_check.c +++ b/legacy/elementary/src/lib/elm_check.c @@ -193,9 +193,7 @@ _elm_check_smart_theme(Eo *obj, void *_pd EINA_UNUSED, va_list *list) } static char * -_access_info_cb(void *data __UNUSED__, - Evas_Object *obj, - Elm_Widget_Item *item __UNUSED__) +_access_info_cb(void *data __UNUSED__, Evas_Object *obj) { const char *txt = elm_widget_access_info_get(obj); @@ -206,9 +204,7 @@ _access_info_cb(void *data __UNUSED__, } static char * -_access_state_cb(void *data, - Evas_Object *obj, - Elm_Widget_Item *item __UNUSED__) +_access_state_cb(void *data, Evas_Object *obj) { Elm_Check_Smart_Data *sd = eo_data_get(data, MY_CLASS); const char *on_text, *off_text; diff --git a/legacy/elementary/src/lib/elm_clock.c b/legacy/elementary/src/lib/elm_clock.c index cc22d78229..a4529aa81a 100644 --- a/legacy/elementary/src/lib/elm_clock.c +++ b/legacy/elementary/src/lib/elm_clock.c @@ -607,9 +607,7 @@ _ticker(void *data) } static char * -_access_info_cb(void *data __UNUSED__, - Evas_Object *obj, - Elm_Widget_Item *item __UNUSED__) +_access_info_cb(void *data __UNUSED__, Evas_Object *obj) { int hrs; char *ret; @@ -641,9 +639,7 @@ _access_info_cb(void *data __UNUSED__, } static char * -_access_state_cb(void *data __UNUSED__, - Evas_Object *obj, - Elm_Widget_Item *item __UNUSED__) +_access_state_cb(void *data __UNUSED__, Evas_Object *obj) { ELM_CLOCK_DATA_GET(obj, sd); if (sd->edit) diff --git a/legacy/elementary/src/lib/elm_colorselector.c b/legacy/elementary/src/lib/elm_colorselector.c index d285b1a77b..3a4b94c7ef 100644 --- a/legacy/elementary/src/lib/elm_colorselector.c +++ b/legacy/elementary/src/lib/elm_colorselector.c @@ -1308,9 +1308,7 @@ _on_color_released(void *data, } static char * -_access_info_cb(void *data, - Evas_Object *obj __UNUSED__, - Elm_Widget_Item *item __UNUSED__) +_access_info_cb(void *data, Evas_Object *obj __UNUSED__) { char *ret; Eina_Strbuf *buf; diff --git a/legacy/elementary/src/lib/elm_datetime.c b/legacy/elementary/src/lib/elm_datetime.c index e55ded80a0..bc0a52fd83 100644 --- a/legacy/elementary/src/lib/elm_datetime.c +++ b/legacy/elementary/src/lib/elm_datetime.c @@ -737,9 +737,7 @@ _field_list_init(Evas_Object *obj) } static char * -_access_info_cb(void *data, - Evas_Object *obj __UNUSED__, - Elm_Widget_Item *item __UNUSED__) +_access_info_cb(void *data, Evas_Object *obj __UNUSED__) { char *ret; Eina_Strbuf *buf; diff --git a/legacy/elementary/src/lib/elm_diskselector.c b/legacy/elementary/src/lib/elm_diskselector.c index 32df6a9f4b..aa597ba533 100644 --- a/legacy/elementary/src/lib/elm_diskselector.c +++ b/legacy/elementary/src/lib/elm_diskselector.c @@ -548,9 +548,7 @@ _item_click_cb(void *data, } static char * -_access_info_cb(void *data, - Evas_Object *obj __UNUSED__, - Elm_Widget_Item *item __UNUSED__) +_access_info_cb(void *data, Evas_Object *obj __UNUSED__) { Elm_Diskselector_Item *it = (Elm_Diskselector_Item *)data; const char *txt = NULL; diff --git a/legacy/elementary/src/lib/elm_entry.c b/legacy/elementary/src/lib/elm_entry.c index e4acd795fd..47ebf05fac 100644 --- a/legacy/elementary/src/lib/elm_entry.c +++ b/legacy/elementary/src/lib/elm_entry.c @@ -2634,9 +2634,7 @@ proceed: } static char * -_access_info_cb(void *data __UNUSED__, - Evas_Object *obj, - Elm_Widget_Item *item __UNUSED__) +_access_info_cb(void *data __UNUSED__, Evas_Object *obj) { const char *txt; @@ -2653,9 +2651,7 @@ _access_info_cb(void *data __UNUSED__, } static char * -_access_state_cb(void *data __UNUSED__, - Evas_Object *obj, - Elm_Widget_Item *item __UNUSED__) +_access_state_cb(void *data __UNUSED__, Evas_Object *obj) { Eina_Strbuf *buf; char *txt; diff --git a/legacy/elementary/src/lib/elm_gengrid.c b/legacy/elementary/src/lib/elm_gengrid.c index 4600048f86..236cb7e17d 100644 --- a/legacy/elementary/src/lib/elm_gengrid.c +++ b/legacy/elementary/src/lib/elm_gengrid.c @@ -570,9 +570,7 @@ _item_unrealize_cb(Elm_Gen_Item *it) } static char * -_access_info_cb(void *data, - Evas_Object *obj __UNUSED__, - Elm_Widget_Item *item __UNUSED__) +_access_info_cb(void *data, Evas_Object *obj __UNUSED__) { Elm_Gen_Item *it = (Elm_Gen_Item *)data; ELM_GENGRID_ITEM_CHECK_OR_RETURN(it, NULL); @@ -597,9 +595,7 @@ _access_info_cb(void *data, } static char * -_access_state_cb(void *data, - Evas_Object *obj __UNUSED__, - Elm_Widget_Item *item __UNUSED__) +_access_state_cb(void *data, Evas_Object *obj __UNUSED__) { Elm_Gen_Item *it = (Elm_Gen_Item *)data; ELM_GENGRID_ITEM_CHECK_OR_RETURN(it, NULL); diff --git a/legacy/elementary/src/lib/elm_genlist.c b/legacy/elementary/src/lib/elm_genlist.c index ceb2e3b5ac..f7c7cf108b 100644 --- a/legacy/elementary/src/lib/elm_genlist.c +++ b/legacy/elementary/src/lib/elm_genlist.c @@ -1239,9 +1239,7 @@ _item_content_realize(Elm_Gen_Item *it, } static char * -_access_info_cb(void *data, - Evas_Object *obj __UNUSED__, - Elm_Widget_Item *item __UNUSED__) +_access_info_cb(void *data, Evas_Object *obj __UNUSED__) { Elm_Gen_Item *it = (Elm_Gen_Item *)data; ELM_GENLIST_ITEM_CHECK_OR_RETURN(it, NULL); @@ -1266,9 +1264,7 @@ _access_info_cb(void *data, } static char * -_access_state_cb(void *data, - Evas_Object *obj __UNUSED__, - Elm_Widget_Item *item __UNUSED__) +_access_state_cb(void *data, Evas_Object *obj __UNUSED__) { Elm_Gen_Item *it = (Elm_Gen_Item *)data; ELM_GENLIST_ITEM_CHECK_OR_RETURN(it, NULL); diff --git a/legacy/elementary/src/lib/elm_index.c b/legacy/elementary/src/lib/elm_index.c index 355c258a6b..eac8aa4be3 100644 --- a/legacy/elementary/src/lib/elm_index.c +++ b/legacy/elementary/src/lib/elm_index.c @@ -72,9 +72,7 @@ _index_box_clear(Evas_Object *obj, } static char * -_access_info_cb(void *data, - Evas_Object *obj __UNUSED__, - Elm_Widget_Item *item __UNUSED__) +_access_info_cb(void *data, Evas_Object *obj __UNUSED__) { const char *txt = NULL; diff --git a/legacy/elementary/src/lib/elm_label.c b/legacy/elementary/src/lib/elm_label.c index 81af86e523..5d9ad7d7f1 100644 --- a/legacy/elementary/src/lib/elm_label.c +++ b/legacy/elementary/src/lib/elm_label.c @@ -322,9 +322,7 @@ _elm_label_smart_translate(Eo *obj, void *_pd EINA_UNUSED, va_list *list) } static char * -_access_info_cb(void *data __UNUSED__, - Evas_Object *obj, - Elm_Widget_Item *item __UNUSED__) +_access_info_cb(void *data __UNUSED__, Evas_Object *obj) { const char *txt = elm_widget_access_info_get(obj); diff --git a/legacy/elementary/src/lib/elm_list.c b/legacy/elementary/src/lib/elm_list.c index a80bc18427..4e82c892c8 100644 --- a/legacy/elementary/src/lib/elm_list.c +++ b/legacy/elementary/src/lib/elm_list.c @@ -1347,9 +1347,7 @@ _item_del_pre_hook(Elm_Object_Item *it) } static char * -_access_info_cb(void *data, - Evas_Object *obj __UNUSED__, - Elm_Widget_Item *item __UNUSED__) +_access_info_cb(void *data, Evas_Object *obj __UNUSED__) { Elm_List_Item *it = (Elm_List_Item *)data; const char *txt = NULL; @@ -1362,9 +1360,7 @@ _access_info_cb(void *data, } static char * -_access_state_cb(void *data, - Evas_Object *obj __UNUSED__, - Elm_Widget_Item *item __UNUSED__) +_access_state_cb(void *data, Evas_Object *obj __UNUSED__) { Elm_List_Item *it = (Elm_List_Item *)data; if (!it) return NULL; diff --git a/legacy/elementary/src/lib/elm_panel.c b/legacy/elementary/src/lib/elm_panel.c index ee2c1906e0..c0c6866222 100644 --- a/legacy/elementary/src/lib/elm_panel.c +++ b/legacy/elementary/src/lib/elm_panel.c @@ -35,9 +35,7 @@ _elm_panel_smart_sizing_eval(Eo *obj, void *_pd, va_list *list EINA_UNUSED) } static char * -_access_state_cb(void *data, - Evas_Object *obj __UNUSED__, - Elm_Widget_Item *item __UNUSED__) +_access_state_cb(void *data, Evas_Object *obj __UNUSED__) { ELM_PANEL_DATA_GET(data, sd); diff --git a/legacy/elementary/src/lib/elm_progressbar.c b/legacy/elementary/src/lib/elm_progressbar.c index 80bca8570f..9c1bbb01cf 100644 --- a/legacy/elementary/src/lib/elm_progressbar.c +++ b/legacy/elementary/src/lib/elm_progressbar.c @@ -198,9 +198,7 @@ _elm_progressbar_smart_theme(Eo *obj, void *_pd, va_list *list) } static char * -_access_info_cb(void *data __UNUSED__, - Evas_Object *obj, - Elm_Widget_Item *item __UNUSED__) +_access_info_cb(void *data __UNUSED__, Evas_Object *obj) { const char *txt = elm_widget_access_info_get(obj); @@ -211,9 +209,7 @@ _access_info_cb(void *data __UNUSED__, } static char * -_access_state_cb(void *data __UNUSED__, - Evas_Object *obj, - Elm_Widget_Item *item __UNUSED__) +_access_state_cb(void *data __UNUSED__, Evas_Object *obj) { char *ret; Eina_Strbuf *buf; diff --git a/legacy/elementary/src/lib/elm_radio.c b/legacy/elementary/src/lib/elm_radio.c index 4c3930426d..0cc011d070 100644 --- a/legacy/elementary/src/lib/elm_radio.c +++ b/legacy/elementary/src/lib/elm_radio.c @@ -239,9 +239,7 @@ _radio_on_cb(void *data, } static char * -_access_info_cb(void *data __UNUSED__, - Evas_Object *obj, - Elm_Widget_Item *item __UNUSED__) +_access_info_cb(void *data __UNUSED__, Evas_Object *obj) { const char *txt = elm_widget_access_info_get(obj); @@ -252,9 +250,7 @@ _access_info_cb(void *data __UNUSED__, } static char * -_access_state_cb(void *data __UNUSED__, - Evas_Object *obj, - Elm_Widget_Item *item __UNUSED__) +_access_state_cb(void *data __UNUSED__, Evas_Object *obj) { ELM_RADIO_DATA_GET(obj, sd); diff --git a/legacy/elementary/src/lib/elm_segment_control.c b/legacy/elementary/src/lib/elm_segment_control.c index 7e05500780..879309cf3a 100644 --- a/legacy/elementary/src/lib/elm_segment_control.c +++ b/legacy/elementary/src/lib/elm_segment_control.c @@ -494,9 +494,7 @@ _item_del_pre_hook(Elm_Object_Item *it) } static char * -_access_info_cb(void *data, - Evas_Object *obj __UNUSED__, - Elm_Widget_Item *item __UNUSED__) +_access_info_cb(void *data, Evas_Object *obj __UNUSED__) { const char *txt = NULL; Elm_Segment_Item *it = (Elm_Segment_Item *)data; @@ -509,9 +507,7 @@ _access_info_cb(void *data, } static char * -_access_state_cb(void *data, - Evas_Object *obj __UNUSED__, - Elm_Widget_Item *item __UNUSED__) +_access_state_cb(void *data, Evas_Object *obj __UNUSED__) { Elm_Segment_Item *it = (Elm_Segment_Item *)data; ELM_SEGMENT_CONTROL_ITEM_CHECK_OR_RETURN(it, NULL); diff --git a/legacy/elementary/src/lib/elm_slider.c b/legacy/elementary/src/lib/elm_slider.c index fa63ad2eb0..a3f38c78e8 100644 --- a/legacy/elementary/src/lib/elm_slider.c +++ b/legacy/elementary/src/lib/elm_slider.c @@ -711,9 +711,7 @@ _elm_slider_smart_calculate(Eo *obj, void *_pd, va_list *list EINA_UNUSED) } static char * -_access_info_cb(void *data __UNUSED__, - Evas_Object *obj, - Elm_Widget_Item *item __UNUSED__) +_access_info_cb(void *data __UNUSED__, Evas_Object *obj) { const char *txt = elm_widget_access_info_get(obj); @@ -724,14 +722,12 @@ _access_info_cb(void *data __UNUSED__, } static char * -_access_state_cb(void *data __UNUSED__, - Evas_Object *obj, - Elm_Widget_Item *item __UNUSED__) +_access_state_cb(void *data __UNUSED__, Evas_Object *obj) { char *ret; Eina_Strbuf *buf = eina_strbuf_new(); const char *txt = elm_layout_text_get(obj, "elm.units"); - + if (txt) eina_strbuf_append(buf, txt); if (elm_widget_disabled_get(obj)) diff --git a/legacy/elementary/src/lib/elm_spinner.c b/legacy/elementary/src/lib/elm_spinner.c index c6b2e63f97..073d0a31a2 100644 --- a/legacy/elementary/src/lib/elm_spinner.c +++ b/legacy/elementary/src/lib/elm_spinner.c @@ -496,9 +496,7 @@ _elm_spinner_smart_on_focus(Eo *obj, void *_pd EINA_UNUSED, va_list *list) } static char * -_access_info_cb(void *data, - Evas_Object *obj, - Elm_Widget_Item *item __UNUSED__) +_access_info_cb(void *data, Evas_Object *obj) { Evas_Object *spinner; const char *txt = elm_widget_access_info_get(obj); @@ -511,9 +509,7 @@ _access_info_cb(void *data, } static char * -_access_state_cb(void *data, - Evas_Object *obj __UNUSED__, - Elm_Widget_Item *item __UNUSED__) +_access_state_cb(void *data, Evas_Object *obj __UNUSED__) { if (elm_widget_disabled_get(data)) return strdup(E_("State: Disabled")); diff --git a/legacy/elementary/src/lib/elm_toolbar.c b/legacy/elementary/src/lib/elm_toolbar.c index f30748cec8..8ee45c893f 100644 --- a/legacy/elementary/src/lib/elm_toolbar.c +++ b/legacy/elementary/src/lib/elm_toolbar.c @@ -1625,9 +1625,7 @@ _layout(Evas_Object *o, } static char * -_access_info_cb(void *data, - Evas_Object *obj __UNUSED__, - Elm_Widget_Item *item __UNUSED__) +_access_info_cb(void *data, Evas_Object *obj __UNUSED__) { Elm_Toolbar_Item *it = (Elm_Toolbar_Item *)data; const char *txt = ((Elm_Widget_Item *)it)->access_info; @@ -1639,9 +1637,7 @@ _access_info_cb(void *data, } static char * -_access_state_cb(void *data, - Evas_Object *obj __UNUSED__, - Elm_Widget_Item *item __UNUSED__) +_access_state_cb(void *data, Evas_Object *obj __UNUSED__) { Elm_Toolbar_Item *it = (Elm_Toolbar_Item *)data; diff --git a/legacy/elementary/src/lib/elm_widget.h b/legacy/elementary/src/lib/elm_widget.h index 4e5a39b19b..42eec800fa 100644 --- a/legacy/elementary/src/lib/elm_widget.h +++ b/legacy/elementary/src/lib/elm_widget.h @@ -456,20 +456,9 @@ typedef void (*Elm_Widget_Signal_Emit_Cb)(void *data, const cha typedef void (*Elm_Widget_Disable_Cb)(void *data); typedef Eina_Bool (*Elm_Widget_Del_Pre_Cb)(void *data); -#define ELM_ACCESS_TYPE 0 /* when reading out widget or item - * this is read first */ -#define ELM_ACCESS_INFO 1 /* next read is info - this is - * normally label */ -#define ELM_ACCESS_STATE 2 /* if there is a state (eg checkbox) - * then read state out */ -#define ELM_ACCESS_CONTENT 3 /* read ful content - eg all of the - * label, not a shortened version */ -#define ELM_ACCESS_EXTERNAL_INFO 4 /* information set by application side */ - #define ELM_ACCESS_DONE -1 /* sentence done - send done event here */ #define ELM_ACCESS_CANCEL -2 /* stop reading immediately */ -typedef char *(*Elm_Access_Content_Cb)(void *data, Evas_Object *obj, Elm_Widget_Item *item); typedef void (*Elm_Access_On_Highlight_Cb)(void *data); typedef void (*Elm_Access_Activate_Cb)(void *data, Evas_Object *part_obj, Elm_Widget_Item *item); @@ -501,8 +490,8 @@ struct _Elm_Access_Info EAPI void _elm_access_clear(Elm_Access_Info *ac); EAPI void _elm_access_text_set(Elm_Access_Info *ac, int type, const char *text); EAPI void _elm_access_callback_set(Elm_Access_Info *ac, int type, Elm_Access_Content_Cb func, const void *data); -EAPI char *_elm_access_text_get(const Elm_Access_Info *ac, int type, Evas_Object *obj, Elm_Widget_Item *item); /* this is ok it actually returns a strduped string - it's meant to! */ -EAPI void _elm_access_read(Elm_Access_Info *ac, int type, Evas_Object *obj, Elm_Widget_Item *item); +EAPI char *_elm_access_text_get(const Elm_Access_Info *ac, int type, Evas_Object *obj); /* this is ok it actually returns a strduped string - it's meant to! */ +EAPI void _elm_access_read(Elm_Access_Info *ac, int type, Evas_Object *obj); EAPI void _elm_access_say(const char *txt); EAPI Elm_Access_Info *_elm_access_object_get(const Evas_Object *obj); EAPI void _elm_access_object_hilight(Evas_Object *obj);