From b75b5f4c05c9452ae0e823d12cf559b2fa287f25 Mon Sep 17 00:00:00 2001 From: Marcel Hollerbach Date: Mon, 24 Oct 2016 17:16:34 +0200 Subject: [PATCH] managersub: remove the select_set call this can be done directly be inheriting border_elements and cutting down the set. --- src/lib/elementary/efl_ui_focus_manager_sub.c | 7 ++++++- src/lib/elementary/efl_ui_focus_manager_sub.eo | 10 +--------- src/tests/elementary/elm_test_focus_sub.c | 16 ---------------- src/tests/elementary/focus_test_sub.eo | 1 - 4 files changed, 7 insertions(+), 27 deletions(-) diff --git a/src/lib/elementary/efl_ui_focus_manager_sub.c b/src/lib/elementary/efl_ui_focus_manager_sub.c index 98fa07503f..8732ec9e3f 100644 --- a/src/lib/elementary/efl_ui_focus_manager_sub.c +++ b/src/lib/elementary/efl_ui_focus_manager_sub.c @@ -38,7 +38,12 @@ _border_flush(Eo *obj, Efl_Ui_Focus_Manager_Sub_Data *pd) Efl_Ui_Focus_Object *node; borders = efl_ui_focus_manager_border_elements_get(obj); - selection = efl_ui_focus_manager_sub_select_set(obj, borders); + selection = NULL; + EINA_ITERATOR_FOREACH(borders, node) + { + selection = eina_list_append(selection, node); + } + eina_iterator_free(borders); //elements which are not in the current border elements tmp = eina_list_clone(pd->current_border); diff --git a/src/lib/elementary/efl_ui_focus_manager_sub.eo b/src/lib/elementary/efl_ui_focus_manager_sub.eo index f56af23861..a26020b143 100644 --- a/src/lib/elementary/efl_ui_focus_manager_sub.eo +++ b/src/lib/elementary/efl_ui_focus_manager_sub.eo @@ -6,16 +6,9 @@ abstract Efl.Ui.Focus.Manager.Sub (Efl.Ui.Focus.Manager, Efl.Ui.Focus.Object, Ef Each submanager also has to be a focus object, the object itself will be registered into the parent manager. It will be used as logical parent while registering the border elements. - The border elements can be filtered by using the select_set function. + You can filter the border elements by overriding the border_elements property of the manager. ]] methods { - select_set { - [[filters the given iterator for which elements should be registered in the upper manager]] - params { - objects : iterator; [[The objects to filter]] - } - return : list; [[The rest set from objects to use]] - } @property parent { [[The logical parent which is used to register the object itself in the parent manager]] values { @@ -24,7 +17,6 @@ abstract Efl.Ui.Focus.Manager.Sub (Efl.Ui.Focus.Manager, Efl.Ui.Focus.Object, Ef } } implements { - @empty .select_set; @empty Efl.Ui.Focus.Object.geometry_get; @empty Efl.Ui.Focus.Object.focus.get; @empty Efl.Ui.Focus.User.manager.get; diff --git a/src/tests/elementary/elm_test_focus_sub.c b/src/tests/elementary/elm_test_focus_sub.c index 3b253f5e1f..f9012c64d6 100644 --- a/src/tests/elementary/elm_test_focus_sub.c +++ b/src/tests/elementary/elm_test_focus_sub.c @@ -5,22 +5,6 @@ typedef struct { } Focus_Test_Sub_Data; -EOLIAN static Eina_List* -_focus_test_sub_efl_ui_focus_manager_sub_select_set(Eo *obj EINA_UNUSED, Focus_Test_Sub_Data *pd EINA_UNUSED, Eina_Iterator *objects) -{ - Eina_List *list = NULL; - Efl_Ui_Focus_Object *o; - - EINA_ITERATOR_FOREACH(objects, o) - { - list = eina_list_append(list, o); - } - - eina_iterator_free(objects); - - return list; -} - EOLIAN static void _focus_test_sub_efl_ui_focus_object_geometry_get(Eo *obj EINA_UNUSED, Focus_Test_Sub_Data *pd EINA_UNUSED, Eina_Rectangle *rect EINA_UNUSED) { diff --git a/src/tests/elementary/focus_test_sub.eo b/src/tests/elementary/focus_test_sub.eo index 355acb95ef..60c6a436ce 100644 --- a/src/tests/elementary/focus_test_sub.eo +++ b/src/tests/elementary/focus_test_sub.eo @@ -1,6 +1,5 @@ class Focus.Test.Sub(Efl.Ui.Focus.Manager.Sub) { implements { - Efl.Ui.Focus.Manager.Sub.select_set; Efl.Ui.Focus.Object.geometry_get; Efl.Ui.Focus.Object.focus.get; Efl.Ui.Focus.User.manager.get;