bu5hm4n pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=df3d0e3d7b03b91e0f3fb03f5012c329422712d1
commit df3d0e3d7b03b91e0f3fb03f5012c329422712d1 Author: Marcel Hollerbach <marcel-hollerb...@t-online.de> Date: Tue Jul 18 12:40:17 2017 +0200 efl_ui_focus_manager: make focus a property --- src/lib/elementary/efl_ui_focus_manager.eo | 16 ++++------------ src/lib/elementary/efl_ui_focus_manager_calc.c | 14 +++++++------- src/lib/elementary/efl_ui_focus_manager_calc.eo | 3 +-- src/lib/elementary/efl_ui_focus_manager_root_focus.c | 8 ++++---- src/lib/elementary/efl_ui_focus_manager_root_focus.eo | 3 +-- src/lib/elementary/efl_ui_focus_manager_sub.c | 2 +- src/lib/elementary/efl_ui_win.c | 4 ++-- src/lib/elementary/elm_interface_scrollable.c | 4 ++-- src/lib/elementary/elm_interface_scrollable.eo | 2 +- src/lib/elementary/elm_inwin.c | 6 +++--- src/lib/elementary/elm_scroller.c | 2 +- src/lib/elementary/elm_widget.c | 2 +- src/tests/elementary/elm_test_focus.c | 16 ++++++++-------- 13 files changed, 36 insertions(+), 46 deletions(-) diff --git a/src/lib/elementary/efl_ui_focus_manager.eo b/src/lib/elementary/efl_ui_focus_manager.eo index 3491f2096f..2bb08625e3 100644 --- a/src/lib/elementary/efl_ui_focus_manager.eo +++ b/src/lib/elementary/efl_ui_focus_manager.eo @@ -59,21 +59,13 @@ interface Efl.Ui.Focus.Manager { } return : Efl.Ui.Focus.Object; [[Next object to focus]] } - focus { - [[Make the given object the currently focused object in this manager. + @property focus { + [[The element which is currently focused by this manager]] - The object has to be part of this manager object. - If you want to focus something in the redirect manager, just call - the function on the redirect manager. - ]] - params { - focus : Efl.Ui.Focus.Object @nonull; [[The object to be focused. Pass the root to get the first available none logical registered child focused]] + values { + focus : Efl.Ui.Focus.Object @nonull; } } - focused { - [[Return the currently focused element of this manager.]] - return : Efl.Ui.Focus.Object; [[The object that has focus.]] - } @property redirect { [[Add a another manager to serve the move requests. diff --git a/src/lib/elementary/efl_ui_focus_manager_calc.c b/src/lib/elementary/efl_ui_focus_manager_calc.c index b8c2294629..6ed83c8892 100644 --- a/src/lib/elementary/efl_ui_focus_manager_calc.c +++ b/src/lib/elementary/efl_ui_focus_manager_calc.c @@ -1184,7 +1184,7 @@ _efl_ui_focus_manager_calc_efl_ui_focus_manager_request_move(Eo *obj EINA_UNUSED } EOLIAN static void -_efl_ui_focus_manager_calc_efl_ui_focus_manager_focus(Eo *obj, Efl_Ui_Focus_Manager_Calc_Data *pd, Efl_Ui_Focus_Object *focus) +_efl_ui_focus_manager_calc_efl_ui_focus_manager_focus_set(Eo *obj, Efl_Ui_Focus_Manager_Calc_Data *pd, Efl_Ui_Focus_Object *focus) { Node *node; Node *old_focus; @@ -1250,7 +1250,7 @@ _efl_ui_focus_manager_calc_efl_ui_focus_manager_focus(Eo *obj, Efl_Ui_Focus_Mana Efl_Ui_Focus_Object *root; root = efl_ui_focus_manager_root_get(node->redirect_manager); - efl_ui_focus_manager_focus(node->redirect_manager, root); + efl_ui_focus_manager_focus_set(node->redirect_manager, root); } //now check if this is also a listener object @@ -1271,7 +1271,7 @@ _efl_ui_focus_manager_calc_efl_ui_focus_manager_move(Eo *obj EINA_UNUSED, Efl_Ui { Efl_Ui_Focus_Object *old_candidate = NULL; candidate = efl_ui_focus_manager_move(pd->redirect, direction); - old_candidate = efl_ui_focus_manager_focused(pd->redirect); + old_candidate = efl_ui_focus_manager_focus_get(pd->redirect); if (!candidate) { @@ -1289,7 +1289,7 @@ _efl_ui_focus_manager_calc_efl_ui_focus_manager_move(Eo *obj EINA_UNUSED, Efl_Ui { n = T(n).parent; new_candidate = _request_move(obj, pd, direction, n); - efl_ui_focus_manager_focus(obj, new_candidate); + efl_ui_focus_manager_focus_set(obj, new_candidate); candidate = new_candidate; } } @@ -1302,7 +1302,7 @@ _efl_ui_focus_manager_calc_efl_ui_focus_manager_move(Eo *obj EINA_UNUSED, Efl_Ui if (new_candidate) { //redirect does not have smth. but we do have. - efl_ui_focus_manager_focus(obj, new_candidate); + efl_ui_focus_manager_focus_set(obj, new_candidate); } candidate = new_candidate; } @@ -1314,7 +1314,7 @@ _efl_ui_focus_manager_calc_efl_ui_focus_manager_move(Eo *obj EINA_UNUSED, Efl_Ui candidate = efl_ui_focus_manager_request_move(obj, direction); if (candidate) - efl_ui_focus_manager_focus(obj, candidate); + efl_ui_focus_manager_focus_set(obj, candidate); } F_DBG("Manager: %p moved to %p %s in direction %d", obj, candidate, efl_class_name_get(candidate), direction); @@ -1378,7 +1378,7 @@ _convert(Eina_List *node_list) } EOLIAN static Efl_Ui_Focus_Object* -_efl_ui_focus_manager_calc_efl_ui_focus_manager_focused(Eo *obj EINA_UNUSED, Efl_Ui_Focus_Manager_Calc_Data *pd) +_efl_ui_focus_manager_calc_efl_ui_focus_manager_focus_get(Eo *obj EINA_UNUSED, Efl_Ui_Focus_Manager_Calc_Data *pd) { Node *upper = NULL; diff --git a/src/lib/elementary/efl_ui_focus_manager_calc.eo b/src/lib/elementary/efl_ui_focus_manager_calc.eo index 5817506590..fec5875f4a 100644 --- a/src/lib/elementary/efl_ui_focus_manager_calc.eo +++ b/src/lib/elementary/efl_ui_focus_manager_calc.eo @@ -92,8 +92,7 @@ class Efl.Ui.Focus.Manager.Calc (Efl.Object, Efl.Ui.Focus.Manager) { class.destructor; Efl.Ui.Focus.Manager.move; Efl.Ui.Focus.Manager.request_move; - Efl.Ui.Focus.Manager.focus; - Efl.Ui.Focus.Manager.focused; + Efl.Ui.Focus.Manager.focus {get; set;} Efl.Ui.Focus.Manager.redirect {set; get;} Efl.Ui.Focus.Manager.border_elements {get;} Efl.Ui.Focus.Manager.root {set; get;} diff --git a/src/lib/elementary/efl_ui_focus_manager_root_focus.c b/src/lib/elementary/efl_ui_focus_manager_root_focus.c index 056e7e0503..cdb78fb17f 100644 --- a/src/lib/elementary/efl_ui_focus_manager_root_focus.c +++ b/src/lib/elementary/efl_ui_focus_manager_root_focus.c @@ -65,16 +65,16 @@ _efl_ui_focus_manager_root_focus_efl_ui_focus_manager_calc_unregister(Eo *obj, E EOLIAN static void -_efl_ui_focus_manager_root_focus_efl_ui_focus_manager_focus(Eo *obj, Efl_Ui_Focus_Manager_Root_Focus_Data *pd, Efl_Ui_Focus_Object *focus) +_efl_ui_focus_manager_root_focus_efl_ui_focus_manager_focus_set(Eo *obj, Efl_Ui_Focus_Manager_Root_Focus_Data *pd, Efl_Ui_Focus_Object *focus) { - efl_ui_focus_manager_focus(efl_super(obj, MY_CLASS), _trap(pd, focus)); + efl_ui_focus_manager_focus_set(efl_super(obj, MY_CLASS), _trap(pd, focus)); } EOLIAN static Efl_Ui_Focus_Object* -_efl_ui_focus_manager_root_focus_efl_ui_focus_manager_focused(Eo *obj, Efl_Ui_Focus_Manager_Root_Focus_Data *pd) +_efl_ui_focus_manager_root_focus_efl_ui_focus_manager_focus_get(Eo *obj, Efl_Ui_Focus_Manager_Root_Focus_Data *pd) { - return _trap(pd, efl_ui_focus_manager_focused(efl_super(obj, MY_CLASS))); + return _trap(pd, efl_ui_focus_manager_focus_get(efl_super(obj, MY_CLASS))); } diff --git a/src/lib/elementary/efl_ui_focus_manager_root_focus.eo b/src/lib/elementary/efl_ui_focus_manager_root_focus.eo index 0865b42cec..90404d5d99 100644 --- a/src/lib/elementary/efl_ui_focus_manager_root_focus.eo +++ b/src/lib/elementary/efl_ui_focus_manager_root_focus.eo @@ -3,8 +3,7 @@ class Efl.Ui.Focus.Manager.Root_Focus(Efl.Ui.Focus.Manager.Calc) { implements { Efl.Ui.Focus.Manager.Calc.register; Efl.Ui.Focus.Manager.Calc.unregister; - Efl.Ui.Focus.Manager.focus; - Efl.Ui.Focus.Manager.focused; + Efl.Ui.Focus.Manager.focus {set; get;} Efl.Ui.Focus.Manager.fetch; Efl.Ui.Focus.Manager.logical_end; Efl.Ui.Focus.Manager.border_elements {get;} diff --git a/src/lib/elementary/efl_ui_focus_manager_sub.c b/src/lib/elementary/efl_ui_focus_manager_sub.c index 7826b22041..265781d7fe 100644 --- a/src/lib/elementary/efl_ui_focus_manager_sub.c +++ b/src/lib/elementary/efl_ui_focus_manager_sub.c @@ -45,7 +45,7 @@ _focus_changed(void *data, const Efl_Event *event) //if there is already the redirect, ignore this focus request if (efl_ui_focus_manager_redirect_get(manager)) return; - efl_ui_focus_manager_focus(m, event->object); + efl_ui_focus_manager_focus_set(m, event->object); } static void diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c index 9947f46635..f7f394b9c1 100644 --- a/src/lib/elementary/efl_ui_win.c +++ b/src/lib/elementary/efl_ui_win.c @@ -1729,7 +1729,7 @@ _key_action_move(Evas_Object *obj, const char *params) Efl_Ui_Focus_Object *root; root = efl_ui_focus_manager_root_get(obj); - efl_ui_focus_manager_focus(obj, root); + efl_ui_focus_manager_focus_set(obj, root); } if (!o && focus_dir == EFL_UI_FOCUS_DIRECTION_PREV) @@ -1737,7 +1737,7 @@ _key_action_move(Evas_Object *obj, const char *params) Efl_Ui_Focus_Object *last; last = efl_ui_focus_manager_logical_end(obj); - efl_ui_focus_manager_focus(obj, last); + efl_ui_focus_manager_focus_set(obj, last); } return EINA_TRUE; diff --git a/src/lib/elementary/elm_interface_scrollable.c b/src/lib/elementary/elm_interface_scrollable.c index 4753a7ba54..cc4cd47893 100644 --- a/src/lib/elementary/elm_interface_scrollable.c +++ b/src/lib/elementary/elm_interface_scrollable.c @@ -4700,12 +4700,12 @@ _elm_interface_scrollable_efl_ui_focus_manager_border_elements_get(Eo *obj, Elm_ } EOLIAN static void -_elm_interface_scrollable_efl_ui_focus_manager_focus(Eo *obj, Elm_Scrollable_Smart_Interface_Data *pd EINA_UNUSED, Efl_Ui_Focus_Object *focus) +_elm_interface_scrollable_efl_ui_focus_manager_focus_set(Eo *obj, Elm_Scrollable_Smart_Interface_Data *pd EINA_UNUSED, Efl_Ui_Focus_Object *focus) { Eina_Rectangle geom; Eina_Rectangle obj_geom; - efl_ui_focus_manager_focus(efl_super(obj, MY_SCROLLABLE_INTERFACE), focus); + efl_ui_focus_manager_focus_set(efl_super(obj, MY_SCROLLABLE_INTERFACE), focus); if (!focus) return; diff --git a/src/lib/elementary/elm_interface_scrollable.eo b/src/lib/elementary/elm_interface_scrollable.eo index fd05fcc096..40462fc43d 100644 --- a/src/lib/elementary/elm_interface_scrollable.eo +++ b/src/lib/elementary/elm_interface_scrollable.eo @@ -681,7 +681,7 @@ mixin Elm.Interface_Scrollable(Efl.Ui.Scrollable, Efl.Canvas.Group, Efl.Ui.Focus class.constructor; Efl.Object.constructor; Efl.Ui.Focus.Manager.border_elements { get; } - Efl.Ui.Focus.Manager.focus; + Efl.Ui.Focus.Manager.focus {set; } Elm.Widget.focus_manager_factory; } events { diff --git a/src/lib/elementary/elm_inwin.c b/src/lib/elementary/elm_inwin.c index 26f019c3b8..33f3176dde 100644 --- a/src/lib/elementary/elm_inwin.c +++ b/src/lib/elementary/elm_inwin.c @@ -164,7 +164,7 @@ _elm_inwin_efl_gfx_visible_set(Eo *obj, Elm_Inwin_Data *pd, Eina_Bool v) pd->registered_manager = efl_ui_focus_user_manager_get(obj); efl_ui_focus_manager_redirect_set(pd->registered_manager, obj); - efl_ui_focus_manager_focus(pd->manager, obj); + efl_ui_focus_manager_focus_set(pd->manager, obj); pd->registered = EINA_TRUE; } else if (!v && pd->registered) @@ -183,9 +183,9 @@ _elm_inwin_efl_ui_focus_manager_move(Eo *obj, Elm_Inwin_Data *pd, Efl_Ui_Focus_D return ret; if ((direction == EFL_UI_FOCUS_DIRECTION_PREV) || (direction == EFL_UI_FOCUS_DIRECTION_NEXT)) - efl_ui_focus_manager_focus(pd->manager, obj); + efl_ui_focus_manager_focus_set(pd->manager, obj); - return efl_ui_focus_manager_focused(obj); + return efl_ui_focus_manager_focus_get(obj); } diff --git a/src/lib/elementary/elm_scroller.c b/src/lib/elementary/elm_scroller.c index ac85d6c66e..d0593b55ed 100644 --- a/src/lib/elementary/elm_scroller.c +++ b/src/lib/elementary/elm_scroller.c @@ -134,7 +134,7 @@ _key_action_move(Evas_Object *obj, const char *params) Efl_Ui_Focus_Object *focused; Eina_Rectangle focused_geom, viewport; - focused = efl_ui_focus_manager_focused(obj); + focused = efl_ui_focus_manager_focus_get(obj); if (focused && (!strcmp(dir, "next") || diff --git a/src/lib/elementary/elm_widget.c b/src/lib/elementary/elm_widget.c index cb14afcc70..0eead3f9d1 100644 --- a/src/lib/elementary/elm_widget.c +++ b/src/lib/elementary/elm_widget.c @@ -4349,7 +4349,7 @@ _elm_widget_focus_mouse_up_handle(Eo *obj, Elm_Widget_Smart_Data *pd) } - efl_ui_focus_manager_focus(pd->focus.manager, obj); + efl_ui_focus_manager_focus_set(pd->focus.manager, obj); } } diff --git a/src/tests/elementary/elm_test_focus.c b/src/tests/elementary/elm_test_focus.c index 867419fddd..ab6c7f558d 100644 --- a/src/tests/elementary/elm_test_focus.c +++ b/src/tests/elementary/elm_test_focus.c @@ -62,15 +62,15 @@ START_TEST(pos_check) efl_ui_focus_manager_calc_register(m, east, root, NULL); #define CHECK(obj, r,l,u,d) \ - efl_ui_focus_manager_focus(m, obj); \ + efl_ui_focus_manager_focus_set(m, obj); \ ck_assert_ptr_eq(efl_ui_focus_manager_move(m, EFL_UI_FOCUS_DIRECTION_RIGHT), r); \ - efl_ui_focus_manager_focus(m, obj); \ + efl_ui_focus_manager_focus_set(m, obj); \ ck_assert_ptr_eq(efl_ui_focus_manager_move(m, EFL_UI_FOCUS_DIRECTION_LEFT), l); \ - efl_ui_focus_manager_focus(m, obj); \ + efl_ui_focus_manager_focus_set(m, obj); \ ck_assert_ptr_eq(efl_ui_focus_manager_move(m, EFL_UI_FOCUS_DIRECTION_UP), u); \ - efl_ui_focus_manager_focus(m, obj); \ + efl_ui_focus_manager_focus_set(m, obj); \ ck_assert_ptr_eq(efl_ui_focus_manager_move(m, EFL_UI_FOCUS_DIRECTION_DOWN), d); \ - efl_ui_focus_manager_focus(m, obj); + efl_ui_focus_manager_focus_set(m, obj); CHECK(middle, east, west, north, south) CHECK(east, NULL, middle, NULL, NULL) @@ -109,7 +109,7 @@ START_TEST(redirect) efl_ui_focus_manager_calc_register(m2, two, root2, NULL); efl_ui_focus_manager_redirect_set(m, m2); - efl_ui_focus_manager_focus(m2, one); + efl_ui_focus_manager_focus_set(m2, one); ck_assert_ptr_eq(efl_ui_focus_manager_move(m, EFL_UI_FOCUS_DIRECTION_RIGHT), two); @@ -203,7 +203,7 @@ START_TEST(logical_chain) efl_ui_focus_manager_calc_register(m, subchild22, child3, NULL); efl_ui_focus_manager_calc_register(m, subchild23, child3, NULL); - efl_ui_focus_manager_focus(m, root); + efl_ui_focus_manager_focus_set(m, root); Efl_Object *logical_chain[] = { child1, subchild11, subchild12, subchild13, @@ -254,7 +254,7 @@ START_TEST(redirect_param) ); efl_ui_focus_manager_calc_register(m, child, root, m2); - efl_ui_focus_manager_focus(m, child); + efl_ui_focus_manager_focus_set(m, child); ck_assert_ptr_eq(efl_ui_focus_manager_redirect_get(m), m2); --