DbgPrint("AO(%p) is removed from local access chain\n", ao);
}
+static void update_focus_chain(struct info *handle, Evas_Object *ao)
+{
+ const Eina_List *list;
+
+ list = elm_object_focus_custom_chain_get(handle->parent);
+ if (!eina_list_data_find(list, ao)) {
+ DbgPrint("Append again to the focus chain\n");
+ elm_object_focus_custom_chain_append(handle->parent, ao, NULL);
+ }
+}
+
PUBLIC int script_update_text(void *h, Evas *e, const char *id, const char *part, const char *text)
{
struct obj_info *obj_info;
elm_access_info_set(ao, ELM_ACCESS_INFO, utf8);
free(utf8);
+
+ update_focus_chain(handle, ao);
} else {
ErrPrint("Unable to get text part[%s]\n", part);
}
if (text && strlen(text)) {
elm_access_info_set(ao, ELM_ACCESS_INFO, text);
DbgPrint("Access info is updated: %s [%s], %p\n", part, text, ao);
+ update_focus_chain(handle, ao);
} else {
/*!
* \note
ErrPrint("Action error\n");
}
} else if (!strcasecmp(operation, "reset,focus")) {
+ DbgPrint("Reset Focus\n");
elm_object_focus_custom_chain_set(edje, NULL);
}