}
else
{
- //Just set evas focus on the gengrid itself, events will pass on and some element will be taken
- evas_object_focus_set(obj, EINA_TRUE);
+ efl_ui_focus_object_focus_set(obj, EINA_TRUE);
}
}
}
+EOLIAN static Efl_Ui_Focus_Object*
+_elm_gengrid_efl_ui_focus_manager_manager_focus_get(const Eo *obj, Elm_Gengrid_Data *pd)
+{
+ Eo *focused_obj = efl_ui_focus_manager_focus_get(efl_super(obj, MY_CLASS));
+ Eo *registered_manager = efl_ui_focus_object_focus_manager_get(obj);
+
+ if (!focused_obj && efl_ui_focus_manager_redirect_get(registered_manager))
+ return (Efl_Ui_Focus_Object*) obj;
+
+ return focused_obj;
+}
+
static void
_gengrid_element_focused(void *data, const Efl_Event *ev)
{
Efl.Ui.Focus.Composition.prepare;
Efl.Ui.Widget.focus_state_apply;
Efl.Ui.Focus.Manager.setup_on_first_touch;
+ Efl.Ui.Focus.Manager.manager_focus { get; }
+
//TIZEN ONLY (20151009) : Accessibility: updated highlight change during gengrid scroll
Elm.Interface_Scrollable.content_pos_set;
//
else
{
//Just set evas focus on the genlist itself, events will pass on and a other element will be taken
- evas_object_focus_set(obj, EINA_TRUE);
+ efl_ui_focus_object_focus_set(obj, EINA_TRUE);
}
}
}
+EOLIAN static Efl_Ui_Focus_Object*
+_elm_genlist_efl_ui_focus_manager_manager_focus_get(const Eo *obj, Elm_Genlist_Data *pd)
+{
+ Eo *focused_obj = efl_ui_focus_manager_focus_get(efl_super(obj, MY_CLASS));
+ Eo *registered_manager = efl_ui_focus_object_focus_manager_get(obj);
+
+ if (!focused_obj && efl_ui_focus_manager_redirect_get(registered_manager))
+ return (Efl_Ui_Focus_Object*) obj;
+
+ return focused_obj;
+}
+
EOLIAN static Eina_Bool
_elm_genlist_efl_ui_focus_object_on_focus_update(Eo *obj, Elm_Genlist_Data *sd)
{
Efl.Access.Selection.access_selection_clear;
Efl.Ui.Widget.focus_state_apply;
Efl.Ui.Focus.Manager.setup_on_first_touch;
+ Efl.Ui.Focus.Manager.manager_focus { get; }
//TIZEN_ONLY(20171114) genlist: enhance accessibility scroll & highlight
Elm.Interface_Scrollable.content_pos_set;
Efl.Ui.Widget.focus_next_manager_is;
Efl.Ui.Widget.focus_next;
//
-
}
events {
item,focused: Efl.Object; [[Called when genlist item got focus]]
efl_ui_focus_manager_focus_set(obj, eo_it);
}
}
+ else
+ {
+ efl_ui_focus_object_focus_set(obj, EINA_TRUE);
+ }
+}
+
+EOLIAN static Efl_Ui_Focus_Object*
+_elm_genlist_efl_ui_focus_manager_manager_focus_get(const Eo *obj, Elm_Genlist_Data *pd)
+{
+ Eo *focused_obj = efl_ui_focus_manager_focus_get(efl_super(obj, MY_CLASS));
+ Eo *registered_manager = efl_ui_focus_object_focus_manager_get(obj);
+
+ if (!focused_obj && efl_ui_focus_manager_redirect_get(registered_manager))
+ return (Efl_Ui_Focus_Object*) obj;
+
+
+ return focused_obj;
}
EOLIAN static Eina_Bool