and now add a "clicked" say... when u click.
SVN revision: 62587
This commit is contained in:
parent
6c1869043c
commit
a3592b4da6
|
@ -1059,6 +1059,16 @@ extern "C" {
|
|||
*/
|
||||
EAPI const char *elm_object_item_text_part_get(const Elm_Object_Item *it, const char *part);
|
||||
|
||||
/**
|
||||
* Set the text to read out when in accessibility mode
|
||||
*
|
||||
* @param obj The object which is described
|
||||
* @param txt The text that describes the widget to people with poor or no vision
|
||||
*
|
||||
* @ingroup General
|
||||
*/
|
||||
EAPI void elm_object_access_info_set(Evas_Object *obj, const char *txt);
|
||||
|
||||
#define elm_object_item_text_get(it) elm_object_item_text_part_get((it), NULL)
|
||||
|
||||
/**
|
||||
|
|
|
@ -217,6 +217,24 @@ _elm_access_read(Elm_Access_Info *ac, int type, Evas_Object *obj, Elm_Widget_Ite
|
|||
if (txt) free(txt);
|
||||
}
|
||||
|
||||
EAPI void
|
||||
_elm_access_say(const char *txt)
|
||||
{
|
||||
_access_init();
|
||||
if (mapi)
|
||||
{
|
||||
if (mapi->out_done_callback_set)
|
||||
mapi->out_done_callback_set(_access_read_done, NULL);
|
||||
if (mapi->out_cancel) mapi->out_cancel();
|
||||
if (txt)
|
||||
{
|
||||
if (mapi->out_read) mapi->out_read(txt);
|
||||
if (mapi->out_read) mapi->out_read(".\n");
|
||||
}
|
||||
if (mapi->out_read_done) mapi->out_read_done();
|
||||
}
|
||||
}
|
||||
|
||||
EAPI Elm_Access_Info *
|
||||
_elm_access_object_get(Evas_Object *obj)
|
||||
{
|
||||
|
|
|
@ -212,6 +212,7 @@ _activate(Evas_Object *obj)
|
|||
wd->timer = NULL;
|
||||
}
|
||||
wd->repeating = EINA_FALSE;
|
||||
_elm_access_say(E_("Clicked"));
|
||||
evas_object_smart_callback_call(obj, SIG_CLICKED, NULL);
|
||||
}
|
||||
|
||||
|
@ -319,7 +320,8 @@ _elm_button_label_get(const Evas_Object *obj, const char *item)
|
|||
static char *
|
||||
_access_info_cb(const void *data __UNUSED__, Evas_Object *obj, Elm_Widget_Item *item __UNUSED__)
|
||||
{
|
||||
char *txt = (char *)_elm_button_label_get(obj, NULL);
|
||||
char *txt = (char *)elm_widget_access_info_get(obj);
|
||||
if (!txt) txt = (char *)_elm_button_label_get(obj, NULL);
|
||||
if (txt) return strdup(txt);
|
||||
return txt;
|
||||
}
|
||||
|
|
|
@ -2074,3 +2074,9 @@ elm_object_item_text_part_get(const Elm_Object_Item *it, const char *part)
|
|||
{
|
||||
return elm_widget_item_text_part_get(it, part);
|
||||
}
|
||||
|
||||
EAPI void
|
||||
elm_object_access_info_set(Evas_Object *obj, const char *txt)
|
||||
{
|
||||
elm_widget_access_info_set(obj, txt);
|
||||
}
|
||||
|
|
|
@ -89,6 +89,7 @@ struct _Smart_Data
|
|||
double scale;
|
||||
Elm_Theme *theme;
|
||||
const char *style;
|
||||
const char *access_info;
|
||||
unsigned int focus_order;
|
||||
Eina_Bool focus_order_on_calc;
|
||||
|
||||
|
@ -2238,6 +2239,23 @@ elm_widget_content_part_unset(Evas_Object *obj, const char *part)
|
|||
return sd->on_content_unset_func(obj, part);
|
||||
}
|
||||
|
||||
EAPI void
|
||||
elm_widget_access_info_set(Evas_Object *obj, const char *txt)
|
||||
{
|
||||
API_ENTRY return;
|
||||
if (sd->access_info) eina_stringshare_del(sd->access_info);
|
||||
if (!txt) sd->access_info = NULL;
|
||||
else sd->access_info = eina_stringshare_add(txt);
|
||||
}
|
||||
|
||||
EAPI const char *
|
||||
elm_widget_access_info_get(Evas_Object *obj)
|
||||
{
|
||||
API_ENTRY return NULL;
|
||||
return sd->access_info;
|
||||
}
|
||||
|
||||
|
||||
EAPI Elm_Theme *
|
||||
elm_widget_theme_get(const Evas_Object *obj)
|
||||
{
|
||||
|
@ -3189,6 +3207,7 @@ _smart_del(Evas_Object *obj)
|
|||
if (sd->type) eina_stringshare_del(sd->type);
|
||||
if (sd->theme) elm_theme_free(sd->theme);
|
||||
_if_focused_revert(obj, EINA_TRUE);
|
||||
if (sd->access_info) eina_stringshare_del(sd->access_info);
|
||||
free(sd);
|
||||
}
|
||||
|
||||
|
|
|
@ -229,6 +229,7 @@ EAPI void _elm_access_text_set(Elm_Access_Info *ac, int type, const
|
|||
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(Elm_Access_Info *ac, int type, Evas_Object *obj, Elm_Widget_Item *item);
|
||||
EAPI void _elm_access_read(Elm_Access_Info *ac, int type, Evas_Object *obj, Elm_Widget_Item *item);
|
||||
EAPI void _elm_access_say(const char *txt);
|
||||
EAPI Elm_Access_Info *_elm_access_object_get(Evas_Object *obj);
|
||||
EAPI void _elm_access_object_register(Evas_Object *obj, Evas_Object *hoverobj);
|
||||
|
||||
|
@ -403,6 +404,8 @@ EAPI const char *elm_widget_text_part_get(const Evas_Object *obj, const cha
|
|||
EAPI void elm_widget_content_part_set(Evas_Object *obj, const char *part, Evas_Object *content);
|
||||
EAPI Evas_Object *elm_widget_content_part_get(const Evas_Object *obj, const char *part);
|
||||
EAPI Evas_Object *elm_widget_content_part_unset(Evas_Object *obj, const char *part);
|
||||
EAPI void elm_widget_access_info_set(Evas_Object *obj, const char *txt);
|
||||
EAPI const char *elm_widget_access_info_get(Evas_Object *obj);
|
||||
EAPI Elm_Widget_Item *_elm_widget_item_new(Evas_Object *parent, size_t alloc_size);
|
||||
EAPI void _elm_widget_item_del(Elm_Widget_Item *item);
|
||||
EAPI void _elm_widget_item_pre_notify_del(Elm_Widget_Item *item);
|
||||
|
|
Loading…
Reference in New Issue