opensource change the code, so change tizen only code based on opensource.
ewd->wl.registry = wl_display_get_registry(ewd->wl.display);
wl_registry_add_listener(ewd->wl.registry, &_registry_listener, ewd);
- cb = wl_display_sync(ewd->wl.display);
- wl_callback_add_listener(cb, &_sync_listener, ewd);
+ _ecore_wl2_display_sync_add(ewd);
if (sync)
{
#endif
#define EFL_ACCESS_COMPONENT_PROTECTED
+#define EFL_ACCESS_COMPONENT_BETA
#define EFL_ACCESS_PROTECTED
#include <Elementary.h>
return: Efl.Object; [[Top component object at given coordinate]]
}
//TIZEN_ONLY(20171108): bring HIGHLIGHT related changes
- highlight_grab @protected {
+ highlight_grab @protected @beta {
[[ Highlights accessible widget.
returns true if highlight grab has successed, false otherwise.
//
return: bool;
}
- highlight_clear @protected {
+ highlight_clear @protected @beta {
[[ Clears highlight of accessible widget.
returns true if clear has successed, false otherwise.
}
//
//TIZEN_ONLY(20161114): make atspi proxy work for more than two sockets created in one process
- @property socket_offset @protected {
+ @property socket_offset @protected @beta {
set {
[[Sets position of socket offset.]]
}
static char *
_label_access_info_cb(void *data, Evas_Object *obj EINA_UNUSED)
{
- ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN_VAL(data, sd, NULL);
+ EFL_UI_MULTIBUTTONENTRY_DATA_GET_OR_RETURN_VAL(data, sd, NULL);
return strdup((char *)sd->label_str);
}
static void
_atspi_multibuttonentry_label_register(Evas_Object *obj, Eina_Bool is_atspi)
{
- ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(obj, sd);
+ EFL_UI_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(obj, sd);
Evas_Object *label_obj;
label_obj = (Evas_Object *)edje_object_part_object_get(sd->label, "elm.text");
if (label_obj)
Eina_List *l;
Elm_Object_Item *it;
- ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(obj, sd);
+ EFL_UI_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(obj, sd);
/* label */
_atspi_multibuttonentry_label_register(obj, is_atspi);
//register/unregister access objects accordingly.
// TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
EOLIAN static void
-_elm_multibuttonentry_elm_widget_screen_reader(Eo *obj, Elm_Multibuttonentry_Data *sd EINA_UNUSED, Eina_Bool is_screen_reader)
+_efl_ui_multibuttonentry_elm_widget_screen_reader(Eo *obj, Efl_Ui_Multibuttonentry_Data *sd EINA_UNUSED, Eina_Bool is_screen_reader)
{
_atspi_obj_process(obj, is_screen_reader);
//TIZEN_ONLY(20161213): apply screen_reader_changed callback
}
EOLIAN static Eina_List*
-_elm_multibuttonentry_efl_access_children_get(Eo *obj EINA_UNUSED, Elm_Multibuttonentry_Data *sd)
+_efl_ui_multibuttonentry_efl_access_children_get(Eo *obj, Efl_Ui_Multibuttonentry_Data *sd)
{
Eina_List *ret = NULL;
//TIZEN_ONLY(20160527) : Improve MBE atspi support
#define EFL_GFX_SIZE_HINT_PROTECTED
#define EFL_CANVAS_OBJECT_BETA
#define EFL_CANVAS_OBJECT_PROTECTED
+#define EFL_UI_TRANSLATABLE_PROTECTED
#define EFL_UI_WIN_INLINED_PROTECTED
+#define EFL_UI_FOCUS_OBJECT_PROTECTED
#define EFL_UI_WIN_BETA
+#define EFL_CANVAS_BETA
#include <Elementary.h>
#include <Elementary_Cursor.h>
#include "elm_part_helper.h"
#include "efl_ui_win_part.eo.h"
+#include "elm_plug.eo.h"
#define MY_CLASS EFL_UI_WIN_CLASS
#define MY_CLASS_NAME "Efl.Ui.Win"
static const Elm_Win_Trap *trap = NULL;
+static int _paused_windows = 0;
+
#define TRAP(sd, name, ...) \
do \
{ \
Evas_Object *img_obj, *frame_obj;
Eo /* wref */ *bg, *content;
Evas_Object *obj; /* The object itself */
+ Evas_Object *indicator;
#ifdef HAVE_ELEMENTARY_X
struct
{
{SIG_WIDGET_UNFOCUSED, ""}, /**< handled by elm_widget */
// TIZEN_ONLY(20150707): elm_conform for wayland, and signal if parts are changed
{SIG_CONFORMANT_CHANGED, ""},
-//
{SIG_AUX_HINT_ALLOWED, ""},
{SIG_AUX_MESSAGE_RECEIVED, ""},
{SIG_EFFECT_STARTED, ""},
{SIG_EFFECT_DONE, ""},
{SIG_LAUNCH_DONE, ""},
- //TIZEN_ONLY(20161028): add smart signal 'atspi,screen,reader,changed'
+//
+//TIZEN_ONLY(20161028): add smart signal 'atspi,screen,reader,changed'
{SIG_ATSPI_SCREEN_READER_CHANGED, ""},
- //
+//
+// TIZEN_ONLY(20150707): elm_conform for wayland, and signal if parts are changed
{SIG_VISIBILITY_CHANGED, ""},
+//
{NULL, NULL}
};
static Eina_Bool _elm_win_auto_throttled = EINA_FALSE;
+/*TIZEN_ONLY(20171113):Use ecore_job instead of ecore_timer
+static Ecore_Timer *_elm_win_state_eval_timer = NULL;
+*/
static Ecore_Job *_elm_win_state_eval_job = NULL;
+//
static void _elm_win_legacy_init(Efl_Ui_Win_Data *sd);
static void
}
}
-static void
+static Eina_Bool
_elm_win_state_eval(void *data EINA_UNUSED)
{
Eina_List *l;
int _elm_win_count_withdrawn = 0;
Eina_Bool throttle = EINA_FALSE;
+/*TIZEN_ONLY(20171113):Use ecore_job instead of ecore_timer
+ _elm_win_state_eval_timer = NULL;
+*/
_elm_win_state_eval_job = NULL;
+//
EINA_LIST_FOREACH(_elm_win_list, l, obj)
{
}
}
_win_noblank_eval();
+ return EINA_FALSE;
}
static Eina_Bool
static void
_elm_win_state_eval_queue(void)
{
+/*TIZEN_ONLY(20171113):Use ecore_job instead of ecore_timer
+ if (_elm_win_state_eval_timer) ecore_timer_del(_elm_win_state_eval_timer);
+ _elm_win_state_eval_timer = ecore_timer_add(0.5, _elm_win_state_eval, NULL);
+*/
if (_elm_win_state_eval_job) ecore_job_del(_elm_win_state_eval_job);
_elm_win_state_eval_job = ecore_job_add(_elm_win_state_eval, NULL);
+//
}
// example shot spec (wait 0.1 sec then save as my-window.png):
Eina_Bool ch_wm_rotation = EINA_FALSE;
// TIZEN_ONLY(20150707): elm_conform for wayland, and signal if parts are changed
Eina_Bool ch_conformant = EINA_FALSE;
-//
Eina_Bool ch_visibility = EINA_FALSE;
Eina_Bool ch_aux_hint = EINA_FALSE;
Eina_List *aux_hints = NULL;
+//
const char *profile;
if (do_eval)
{
+/*TIZEN_ONLY(20171113):Use ecore_job instead of ecore_timer
+ if (_elm_win_state_eval_timer)
+ {
+ ecore_timer_del(_elm_win_state_eval_timer);
+ _elm_win_state_eval_timer = NULL;
+ }
+*/
if (_elm_win_state_eval_job)
{
ecore_job_del(_elm_win_state_eval_job);
_elm_win_state_eval_job = NULL;
}
+//
_elm_win_state_eval(NULL);
}
if (sd->shot.info) _shot_handle(sd);
}
}
+// TIZEN_ONLY(20171109):allow changing window type after initializing
static void
_elm_win_wlwin_type_update(Efl_Ui_Win_Data *sd)
{
case ELM_WIN_COMBO:
case ELM_WIN_MENU:
case ELM_WIN_POPUP_MENU:
- wtype = ECORE_WL2_WINDOW_TYPE_MENU;
+ wtype = ECORE_WL2_WI// TIZEN_ONLY(20150722):NDOW_TYPE_MENU;
break;
case ELM_WIN_DND:
wtype = ECORE_WL2_WINDOW_TYPE_DND;
}
ecore_wl2_window_type_set(sd->wl.win, wtype);
}
+//
// TIZEN_ONLY(20150722): added signal for aux_hint(auxiliary hint)
struct _Elm_Win_Aux_Message
_elm_win_list = eina_list_remove_list(_elm_win_list, _elm_win_list);
}
}
+/*TIZEN_ONLY(20171113):Use ecore_job instead of ecore_timer
+ ELM_SAFE_FREE(_elm_win_state_eval_timer, ecore_timer_del);
+*/
ELM_SAFE_FREE(_elm_win_state_eval_job, ecore_job_del);
+//
}
void
}
//
+//TIZEN_ONLY(20170621) handle atspi proxy connection at runtime
+void
+_elm_win_atspi(Eina_Bool is_atspi)
+{
+ const Eina_List *l;
+ Evas_Object *obj;
+ Efl_Access_State_Set ss;
+
+ EINA_LIST_FOREACH(_elm_win_list, l, obj)
+ {
+ if (!is_atspi)
+ {
+ _access_socket_proxy_unref(obj);
+ }
+ else
+ {
+ _access_socket_proxy_listen(obj);
+ ss = efl_access_state_set_get(obj);
+ if (STATE_TYPE_GET(ss, EFL_ACCESS_STATE_ACTIVE))
+ {
+ efl_access_window_activated_signal_emit(obj);
+ efl_access_state_changed_signal_emit(obj, EFL_ACCESS_STATE_ACTIVE, EINA_TRUE);
+ }
+ else
+ {
+ Efl_Access_Role role;
+ role = efl_access_role_get(obj);
+ if (role == EFL_ACCESS_ROLE_INPUT_METHOD_WINDOW)
+ {
+ efl_access_window_activated_signal_emit(obj);
+ efl_access_state_changed_signal_emit(obj, EFL_ACCESS_STATE_ACTIVE, EINA_TRUE);
+ }
+ }
+ }
+ elm_widget_atspi(obj, is_atspi);
+ }
+}
+//
+//
+//
+
void
_elm_win_translate(void)
{
evas_event_callback_add(sd->evas, EVAS_CALLBACK_RENDER_FLUSH_PRE, _elm_win_frame_pre_render, sd);
#endif
- // TIZEN_ONLY (20151017) do not prohibit fake win's auto-render
+// TIZEN_ONLY (20151017) do not prohibit fake win's auto-render
if (type != ELM_WIN_FAKE)
{
//Prohibiting auto-rendering, until elm_win is shown.
}
}
}
- //
+ //
#ifdef ELM_DEBUG
Evas_Modifier_Mask mask = evas_key_modifier_mask_get(sd->evas, "Control");
Eina_Bool ret = EINA_FALSE, prev_alpha;
const char *s;
- int_ret = _elm_theme_object_set(obj, sd->legacy.edje, "win", "base",
- elm_widget_style_get(obj));
+ int_ret = elm_widget_theme_object_set(obj, sd->legacy.edje, "win", "base",
+ elm_widget_style_get(obj));
if (!int_ret) return EFL_UI_THEME_APPLY_FAILED;
edje_object_mirrored_set(sd->legacy.edje, efl_ui_mirrored_get(obj));
floating = !!floating;
if (floating == sd->floating) return;
sd->floating = floating;
+//TIZEN_ONLY(20171114): implement elm_win_floating_mode_set on wayland
#if HAVE_ELEMENTARY_WL2
_elm_win_wlwindow_get(sd);
if (sd->wl.win)
ecore_wl2_window_floating_mode_set(sd->wl.win, floating);
}
#endif
+//
#ifdef HAVE_ELEMENTARY_X
_internal_elm_win_xwindow_get(sd);
if (sd->x.xwin)
default: break;
}
- Evas_Object *obj = efl_add(klass, parent,
- efl_canvas_object_legacy_ctor(efl_added),
- efl_ui_win_name_set(efl_added, name),
- efl_ui_win_type_set(efl_added, type));
+ Evas_Object *obj = elm_legacy_add(klass, parent,
+ efl_ui_win_name_set(efl_added, name),
+ efl_ui_win_type_set(efl_added, type));
+
//TIZEN_ONLY(20160628): Add Performance log for cold booting
#ifdef ENABLE_TTRACE
traceEnd(TTRACE_TAG_EFL);
#define EFL_ACCESS_WIDGET_ACTION_PROTECTED
#define ELM_WIDGET_PROTECTED
#define ELM_WIDGET_ITEM_PROTECTED
+#define EFL_ACCESS_COMPONENT_PROTECTED
#define EFL_UI_TRANSLATABLE_PROTECTED
#include <Elementary.h>
#define ELM_WIDGET_PROTECTED
#define ELM_WIDGET_ITEM_PROTECTED
#define EFL_UI_TRANSLATABLE_PROTECTED
+#define EFL_ACCESS_COMPONENT_PROTECTED
#include <Elementary.h>
#include "elm_priv.h"
EINA_LIST_FOREACH(wd->cursors, l, cur)
elm_cursor_theme(cur);
- ret &= elm_obj_widget_theme_apply(obj);
+ ret &= efl_ui_widget_theme_apply(obj);
}
return ret;
#include <stdint.h>
#include <Elementary.h>
#include "elm_priv.h"
+//TIZEN_ONLY(20171222): include eo info header for class check
+#include "elm_widget_index.h"
+//
/*
* Accessibility Bus info not defined in atspi-constants.h
*/
- #define A11Y_DBUS_NAME "org.a11y.Bus"
- #define A11Y_DBUS_PATH "/org/a11y/bus"
+#define A11Y_DBUS_NAME "org.a11y.Bus"
+#define A11Y_DBUS_PATH "/org/a11y/bus"
#define A11Y_DBUS_INTERFACE "org.a11y.Bus"
#define A11Y_DBUS_STATUS_INTERFACE "org.a11y.Status"
// TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
//
};
+//TIZEN_ONLY(20170925) atspi: send detail value for window activated signal
+enum
+{
+ EFL_ACCESS_WINDOW_ACTIVATE_INFO_DEFAULT_LABEL_ENABLED = 0,
+ EFL_ACCESS_WINDOW_ACTIVATE_INFO_DEFAULT_LABEL_DISABLED = 1 << 0,
+ EFL_ACCESS_WINDOW_ACTIVATE_INFO_KEYBOARD = 1 << 1,
+};
+//
+
enum _Atspi_Object_Child_Event_Type
{
ATSPI_OBJECT_CHILD_ADDED = 0,
static Eina_Bool
_cache_item_reference_append_cb(Eo *bridge, Eo *data, Eldbus_Message_Iter *iter_array)
{
- if (!efl_ref_get(data) || efl_destructed_is(data))
- return EINA_TRUE;
+ if (!efl_ref_count(data) || efl_destructed_is(data))
+ return EINA_TRUE;
Eldbus_Message_Iter *iter_struct, *iter_sub_array;
Efl_Access_State_Set states;
//eina_list_free(children_list);
//
- /* Marshall interfaces */
- _iter_interfaces_append(iter_struct, data);
+ /* Marshall interfaces */
+ _iter_interfaces_append(iter_struct, data);
- /* Marshall name */
- const char *name = NULL;
- name = efl_access_name_get(data);
- if (!name)
- name = "";
+ /* Marshall name */
+ const char *name = NULL;
+ name = efl_access_name_get(data);
+ if (!name)
+ name = "";
- eldbus_message_iter_basic_append(iter_struct, 's', name);
+ eldbus_message_iter_basic_append(iter_struct, 's', name);
- /* Marshall role */
- eldbus_message_iter_basic_append(iter_struct, 'u', role);
+ /* Marshall role */
+ eldbus_message_iter_basic_append(iter_struct, 'u', role);
- /* Marshall description */
- const char* description = NULL;
- description = efl_access_description_get(data);
- if (!description)
- description = "";
- eldbus_message_iter_basic_append(iter_struct, 's', description);
+ /* Marshall description */
+ const char* description = NULL;
+ description = efl_access_description_get(data);
+ if (!description)
+ description = "";
+ eldbus_message_iter_basic_append(iter_struct, 's', description);
- /* Marshall state set */
- iter_sub_array = eldbus_message_iter_container_new(iter_struct, 'a', "u");
- EINA_SAFETY_ON_NULL_GOTO(iter_sub_array, fail);
+ /* Marshall state set */
+ iter_sub_array = eldbus_message_iter_container_new(iter_struct, 'a', "u");
+ EINA_SAFETY_ON_NULL_GOTO(iter_sub_array, fail);
- states = efl_access_state_set_get(data);
+ states = efl_access_state_set_get(data);
- unsigned int s1 = states & 0xFFFFFFFF;
- unsigned int s2 = (states >> 32) & 0xFFFFFFFF;
- eldbus_message_iter_basic_append(iter_sub_array, 'u', s1);
- eldbus_message_iter_basic_append(iter_sub_array, 'u', s2);
+ unsigned int s1 = states & 0xFFFFFFFF;
+ unsigned int s2 = (states >> 32) & 0xFFFFFFFF;
+ eldbus_message_iter_basic_append(iter_sub_array, 'u', s1);
+ eldbus_message_iter_basic_append(iter_sub_array, 'u', s2);
- eldbus_message_iter_container_close(iter_struct, iter_sub_array);
- eldbus_message_iter_container_close(iter_array, iter_struct);
+ eldbus_message_iter_container_close(iter_struct, iter_sub_array);
+ eldbus_message_iter_container_close(iter_array, iter_struct);
- return EINA_TRUE;
+ return EINA_TRUE;
fail:
- if (iter_struct) eldbus_message_iter_del(iter_struct);
- return EINA_TRUE;
+ if (iter_struct) eldbus_message_iter_del(iter_struct);
+ return EINA_TRUE;
}
static Eldbus_Message *
#define CALL(fncname, ...) table->fncname(table, __VA_ARGS__)
static unsigned char _accept_object_check_role(accessibility_navigation_pointer_table *table, void *obj)
{
- AtspiRole role = CALL(object_get_role, obj);
- switch (role)
- {
- case ATSPI_ROLE_APPLICATION:
- case ATSPI_ROLE_FILLER:
- case ATSPI_ROLE_SCROLL_PANE:
- case ATSPI_ROLE_SPLIT_PANE:
- case ATSPI_ROLE_WINDOW:
- case ATSPI_ROLE_IMAGE:
- case ATSPI_ROLE_LIST:
- case ATSPI_ROLE_ICON:
- case ATSPI_ROLE_TOOL_BAR:
- case ATSPI_ROLE_REDUNDANT_OBJECT:
- case ATSPI_ROLE_COLOR_CHOOSER:
- case ATSPI_ROLE_TREE_TABLE:
- case ATSPI_ROLE_PAGE_TAB_LIST:
- case ATSPI_ROLE_PAGE_TAB:
- case ATSPI_ROLE_SPIN_BUTTON:
- case ATSPI_ROLE_INPUT_METHOD_WINDOW:
- case ATSPI_ROLE_EMBEDDED:
- case ATSPI_ROLE_INVALID:
- case ATSPI_ROLE_NOTIFICATION:
- return 0;
- default:
- break;
- }
- return 1;
+ return _elm_widget_atspi_role_acceptable_check(obj);
}
static unsigned char _state_set_is_set(uint64_t state_set, AtspiStateType state)
if (!pd->connected)
{
Eo *root, *pr;
+ //TIZEN_ONLY(20170910) atspi: emit signal after atspi bridge is connected
pd->connected = EINA_TRUE;
efl_event_callback_legacy_call(data, ELM_ATSPI_BRIDGE_EVENT_CONNECTED, NULL);
+ _elm_win_atspi(EINA_TRUE);
+ //
// buid cache
root = elm_obj_atspi_bridge_root_get(data);
_bridge_cache_build(data, root);
// initialize pending proxy
- Eo *pr;
EINA_LIST_FREE(pd->socket_queue, pr)
_socket_ifc_create(pd->a11y_bus, pr);
EINA_LIST_FREE(pd->plug_queue, pr)
}
//
+static unsigned int
+_window_activated_detail_value_add(Eo *obj)
+{
+ unsigned int ret = EFL_ACCESS_WINDOW_ACTIVATE_INFO_DEFAULT_LABEL_ENABLED;
+ Eina_List *l, *attr_list = NULL;
+ Efl_Access_Attribute *attr = NULL;
+
+ attr_list = efl_access_attributes_get(obj);
+ EINA_LIST_FOREACH(attr_list, l, attr)
+ {
+ if (!strcmp(attr->key, "default_label") && !strcmp(attr->value, "disabled"))
+ {
+ ret |= EFL_ACCESS_WINDOW_ACTIVATE_INFO_DEFAULT_LABEL_DISABLED;
+ break;
+ }
+ }
+ if (attr_list)
+ efl_access_attributes_list_free(attr_list);
+
+ Efl_Access_Role role = EFL_ACCESS_ROLE_INVALID;
+ role = efl_access_role_get(obj);
+ if (role == EFL_ACCESS_ROLE_INPUT_METHOD_WINDOW)
+ ret |= EFL_ACCESS_WINDOW_ACTIVATE_INFO_KEYBOARD;
+
+ return ret;
+}
+
static void
_window_signal_send(void *data, const Efl_Event *event)
{
efl_event_callback_stop(event->object);
return;
}
+ //TIZEN_ONLY(20170925) atspi: send detail value for window activated signal
+ unsigned int det1 = 0;
+ if (event->desc == EFL_ACCESS_WINDOW_EVENT_WINDOW_ACTIVATED)
+ det1 = _window_activated_detail_value_add(event->object);
+ //
_bridge_signal_send(data, event->object, ATSPI_DBUS_INTERFACE_EVENT_WINDOW,
- &_window_obj_signals[type], "", 0, 0, "i", 0);
+ &_window_obj_signals[type], "", det1, 0, "i", 0);
}
static void
{
if (STATE_TYPE_GET(ss, EFL_ACCESS_STATE_ACTIVE))
{
- efl_access_window_activated_signal_emit(obj);
// TIZEN_ONLY(20160802): do not handle events if the window is not activated
pd->window_activated = EINA_TRUE;
//
}
else
{
- efl_access_window_deactivated_signal_emit(obj);
// TIZEN_ONLY(20160802): do not handle events if the window is not activated
pd->window_activated = EINA_FALSE;
//
if (is_enabled)
_a11y_connection_init(data);
else
- DBG("AT-SPI2 stack not enabled.");
+ {
+ _elm_win_atspi(is_enabled);
+ DBG("AT-SPI2 stack not enabled.");
+ }
}
//
if (_a11y_socket_address)
eina_stringshare_del(_a11y_socket_address);
_a11y_socket_address = NULL;
- //
_efl_access_shutdown();
}
ERR("Unable to get " A11Y_DBUS_ENABLED_PROPERTY " property value");
return;
}
+
+ _elm_win_atspi(val);
+
if (val)
_a11y_connection_init(bridge);
else
- _a11y_connection_shutdown(bridge);
+ {
+ _elm_win_atspi(EINA_FALSE);
+ _a11y_connection_shutdown(bridge);
+ }
}
//
}
// In order to avoid situation when ewk a11y may be accessed from different
// a11y node we check if reparenting occured and reset wrapper parent
if (parent != elm_widget_parent_get(wrapper)) {
- elm_obj_widget_sub_object_add(parent, wrapper);
+ elm_widget_sub_object_add(parent, wrapper);
}
}
elm_atspi_ewk_wrapper_connection_init(wrapper);
#include <Elementary.h>
#include "elm_widget.h"
#include "elm_priv.h"
+//TIZEN_ONLY(20171222): include headerfile for eo info
+#include "elm_widget_ctxpopup.h"
+//
static Eina_List *_socket_list;
return eina_list_clone(_socket_list);
}
+EOLIAN static void
+_elm_atspi_proxy_elm_widget_atspi(Eo *obj, Elm_Atspi_Proxy_Data *_pd, Eina_Bool is_atspi)
+{
+ EINA_SAFETY_ON_NULL_RETURN(obj);
+ if (is_atspi && _pd->type == ELM_ATSPI_PROXY_TYPE_PLUG)
+ {
+ elm_atspi_bridge_utils_proxy_connect(obj);
+ }
+}
+
#include "elm_atspi_proxy.eo.c"
#define EFL_ACCESS_SELECTION_PROTECTED
#define EFL_ACCESS_WIDGET_ACTION_PROTECTED
#define ELM_WIDGET_ITEM_PROTECTED
+#define EFL_ACCESS_BRIDGE_PROTECTED
#define EFL_UI_FOCUS_COMPOSITION_PROTECTED
#include <Elementary.h>
_elm_hover_elm_widget_theme_apply(Eo *obj, Elm_Hover_Data *sd)
{
Efl_Ui_Theme_Apply int_ret = EFL_UI_THEME_APPLY_FAILED;
- int_ret = elm_obj_widget_theme_apply(efl_super(obj, MY_CLASS));
int_ret = efl_ui_widget_theme_apply(efl_super(obj, MY_CLASS));
if (!int_ret) return EFL_UI_THEME_APPLY_FAILED;
{
if (!eina_stringshare_replace(&sd->text_style_user, style)) return;
- elm_obj_widget_theme_apply(obj);
+ efl_ui_widget_theme_apply(obj);
}
EOLIAN static void
sd->text_style_user = NULL;
}
- elm_obj_widget_theme_apply(obj);
+ efl_ui_widget_theme_apply(obj);
}
EOLIAN static const char *
}
// TIZEN_ONLY(20171114): Add accessibility highlight for toolbar items f919df709e670600fcea71c3001a5ce5221b61e0
-
EOLIAN static Eina_Bool
_elm_toolbar_item_efl_access_component_highlight_grab(Eo *eo_it, Elm_Toolbar_Item_Data *it)
{
Eina_Inlist *translate_strings;
Eina_List *focus_chain;
Eina_List *event_cb;
- const char *description; /**< Accessibility description */
- //TIZEN_ONLY(20150731) : add i18n support for name and description
- const char *atspi_translation_domain;
- ///
-
/* this is a hook to be set on-the-fly on widgets. this is code
* handling the request of showing a specific region from an inner
* widget (mainly issued by entries, on cursor moving) */
Eina_List *signals;
Eina_Hash *labels;
Evas_Object *track_obj;
- const char *description; /**< Accessibility description */
- //TIZEN_ONLY(20150731) : add i18n support for name and description
- const char *atspi_translation_domain;
- ///
Eina_Bool disabled : 1;
Eina_Bool on_deletion : 1;
EAPI Eina_Bool elm_widget_access(Evas_Object *obj, Eina_Bool is_access);
//TIZEN_ONLY(20160822): When atspi mode is dynamically switched on/off,
//register/unregister access objects accordingly.
-EAPI Eina_Bool elm_widget_screen_reader(Evas_Object *obj, Eina_Bool is_screen_reader);
+// TIZEN_ONLY(20170516): connect to at-spi dbus based on org.a11y.Status.IsEnabled property
+EAPI Eina_Bool elm_widget_screen_reader(Evas_Object *obj, Eina_Bool is_access);
+EAPI Eina_Bool elm_widget_atspi(Evas_Object *obj, Eina_Bool is_atspi);
+//TIZEN_ONLY(20170621) handle atspi proxy connection at runtime
+EAPI Eo *elm_widget_atspi_plug_type_proxy_get(Evas_Object *obj);
+//
+//
//
EAPI Efl_Ui_Theme_Apply elm_widget_theme(Evas_Object *obj);
EAPI void elm_widget_theme_specific(Evas_Object *obj, Elm_Theme *th, Eina_Bool force);
const char* _elm_widget_accessible_plain_name_get(Evas_Object *obj, const char* name);
const char* _elm_widget_item_accessible_plain_name_get(Elm_Object_Item *item, const char* name);
+//TIZEN_ONLY(20170905): find valid child of list item
+Eina_Bool _elm_widget_atspi_role_acceptable_check(Eo *obj);
+//
+
Efl_Canvas_Object * _efl_ui_widget_bg_get(Elm_Widget *obj);
#define ELM_WIDGET_DATA_GET_OR_RETURN(o, ptr, ...) \