{
EVAS_SMART_DATA_ALLOC(obj, Elm_Widget_Smart_Data);
ELM_WIDGET_CLASS(_elm_access_parent_sc)->base.add(obj);
-
- elm_widget_can_focus_set(obj, _elm_config->access_mode);
}
static Eina_Bool
}
static void
-_elm_access_smart_access(Evas_Object *obj, Eina_Bool is_access)
-{
- elm_widget_can_focus_set(obj, is_access);
-}
-
-static void
_elm_access_smart_set_user(Elm_Widget_Smart_Class *sc)
{
sc->base.add = _elm_access_smart_add;
sc->focus_direction = NULL;
sc->on_focus = _elm_access_smart_on_focus;
sc->activate = _elm_access_smart_activate;
- sc->access = _elm_access_smart_access;
return;
}
}
void
-_elm_access_all_read_stop()
+_elm_access_all_read_stop(void)
{
_access_init();
if (mapi)
evas_object_size_hint_min_set(port_indicator, -1, 0);
evas_object_size_hint_max_set(port_indicator, -1, 0);
+ /* access - would use tree_highlight_allow_set(); */
+ elm_widget_tree_unfocusable_set(port_indicator, EINA_TRUE);
+
return port_indicator;
}
evas_object_size_hint_min_set(land_indicator, -1, 0);
evas_object_size_hint_max_set(land_indicator, -1, 0);
+
+ /* access - would use tree_highlight_allow_set(); */
+ elm_widget_tree_unfocusable_set(land_indicator, EINA_TRUE);
+
return land_indicator;
}
API_ENTRY return EINA_FALSE;
/* Ignore if disabled */
- if ((!evas_object_visible_get(obj))
- || (elm_widget_disabled_get(obj))
- || (elm_widget_tree_unfocusable_get(obj)))
- return EINA_FALSE;
+ if (_elm_config->access_mode && _elm_access_auto_highlight_get())
+ {
+ if (!evas_object_visible_get(obj)
+ || (elm_widget_tree_unfocusable_get(obj)))
+ return EINA_FALSE;
+ }
+ else
+ {
+ if ((!evas_object_visible_get(obj))
+ || (elm_widget_disabled_get(obj))
+ || (elm_widget_tree_unfocusable_get(obj)))
+ return EINA_FALSE;
+ }
if (!sd->api) return EINA_FALSE;
return ret;
}
- if (!elm_widget_can_focus_get(obj))
- return EINA_FALSE;
-
- /* focusable object but does not have access info */
- if (_elm_config->access_mode)
+ /* access object does not check sd->can_focus, because an object could
+ have highlight even though the object is not focusable. */
+ if (_elm_config->access_mode && _elm_access_auto_highlight_get())
{
ac = _elm_access_object_get(obj);
if (!ac) return EINA_FALSE;
/* check whether the hover object is visible or not */
- if (!evas_object_visible_get(ac->hoverobj)
- || (elm_widget_disabled_get(ac->hoverobj))
- || (elm_widget_tree_unfocusable_get(ac->hoverobj)))
+ if (!evas_object_visible_get(ac->hoverobj))
return EINA_FALSE;
}
+ else if (!elm_widget_can_focus_get(obj))
+ return EINA_FALSE;
if (elm_widget_focus_get(obj))
{