summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYeongjong Lee <cleanlyj@naver.com>2018-01-16 21:17:11 +0100
committerMarcel Hollerbach <marcel@osg.samsung.com>2018-01-16 22:39:13 +0100
commit210db8fc5d26e1d8fc772f533fedadbf37fa255b (patch)
treee576eb62fd19dbcae0b515ac53f506d374fd2496
parent9160bfe901c5ec18e18f25998b1dcad1f77a3902 (diff)
efl_ui_focus: merge efl_ui_focus_user and efl_ui_focus_object into one mixin
Summary: focus_user and focus_object are similar classes. by merging them into one mixin, we can maintain consistency. Test Plan: make check Reviewers: bu5hm4n Subscribers: cedric, Jaehyun_Cho, woohyun, jpeg Differential Revision: https://phab.enlightenment.org/D5734
-rw-r--r--src/Makefile_Elementary.am1
-rw-r--r--src/lib/elementary/Efl_Ui.h6
-rw-r--r--src/lib/elementary/Elementary.h6
-rw-r--r--src/lib/elementary/efl_ui_focus_layer.c2
-rw-r--r--src/lib/elementary/efl_ui_focus_layer.eo2
-rw-r--r--src/lib/elementary/efl_ui_focus_manager_calc.c6
-rw-r--r--src/lib/elementary/efl_ui_focus_manager_sub.c18
-rw-r--r--src/lib/elementary/efl_ui_focus_manager_sub.eo2
-rw-r--r--src/lib/elementary/efl_ui_focus_object.c1
-rw-r--r--src/lib/elementary/efl_ui_focus_object.eo25
-rw-r--r--src/lib/elementary/efl_ui_focus_user.eo32
-rw-r--r--src/lib/elementary/efl_ui_focus_util.c8
-rw-r--r--src/lib/elementary/efl_ui_multibuttonentry.c4
-rw-r--r--src/lib/elementary/efl_ui_widget.c16
-rw-r--r--src/lib/elementary/efl_ui_widget.eo12
-rw-r--r--src/lib/elementary/elc_fileselector.c2
-rw-r--r--src/lib/elementary/elc_naviframe.c2
-rw-r--r--src/lib/elementary/elm_access.c2
-rw-r--r--src/lib/elementary/elm_hover.c2
-rw-r--r--src/lib/elementary/elm_main.c10
-rw-r--r--src/lib/elementary/elm_spinner.c2
-rw-r--r--src/lib/elementary/elm_widget.h2
-rw-r--r--src/tests/elementary/elm_test_focus_common.c4
-rw-r--r--src/tests/elementary/elm_test_focus_sub.c6
-rw-r--r--src/tests/elementary/focus_test.eo6
-rw-r--r--src/tests/elementary/focus_test_sub_main.eo6
26 files changed, 92 insertions, 93 deletions
diff --git a/src/Makefile_Elementary.am b/src/Makefile_Elementary.am
index d0af9ad567..b080c61f87 100644
--- a/src/Makefile_Elementary.am
+++ b/src/Makefile_Elementary.am
@@ -55,7 +55,6 @@ elm_public_eolian_files = \
55 lib/elementary/efl_ui_focus_manager_sub.eo \ 55 lib/elementary/efl_ui_focus_manager_sub.eo \
56 lib/elementary/efl_ui_focus_manager_root_focus.eo \ 56 lib/elementary/efl_ui_focus_manager_root_focus.eo \
57 lib/elementary/efl_ui_focus_object.eo \ 57 lib/elementary/efl_ui_focus_object.eo \
58 lib/elementary/efl_ui_focus_user.eo \
59 lib/elementary/efl_ui_focus_layer.eo \ 58 lib/elementary/efl_ui_focus_layer.eo \
60 lib/elementary/efl_ui_focus_composition.eo \ 59 lib/elementary/efl_ui_focus_composition.eo \
61 lib/elementary/efl_ui_focus_util.eo \ 60 lib/elementary/efl_ui_focus_util.eo \
diff --git a/src/lib/elementary/Efl_Ui.h b/src/lib/elementary/Efl_Ui.h
index f605fc3f0c..cb548f70a7 100644
--- a/src/lib/elementary/Efl_Ui.h
+++ b/src/lib/elementary/Efl_Ui.h
@@ -136,12 +136,16 @@ extern EAPI double _efl_startup_time;
136// EO types. Defined for legacy-only builds as legacy uses typedef of EO types. 136// EO types. Defined for legacy-only builds as legacy uses typedef of EO types.
137#include "efl_ui.eot.h" 137#include "efl_ui.eot.h"
138 138
139//define focus manager earlier since focus object and manager is circular
140typedef Eo Efl_Ui_Focus_Manager;
141#define _EFL_UI_FOCUS_MANAGER_EO_CLASS_TYPE
142
139# include <efl_ui_focus_object.eo.h> 143# include <efl_ui_focus_object.eo.h>
140# include <efl_ui_focus_manager.eo.h> 144# include <efl_ui_focus_manager.eo.h>
141# include <efl_ui_focus_manager_calc.eo.h> 145# include <efl_ui_focus_manager_calc.eo.h>
142# include <efl_ui_focus_manager_sub.eo.h> 146# include <efl_ui_focus_manager_sub.eo.h>
143# include <efl_ui_focus_manager_root_focus.eo.h> 147# include <efl_ui_focus_manager_root_focus.eo.h>
144# include <efl_ui_focus_user.eo.h> 148# include <efl_ui_focus_util.eo.h>
145# include <efl_ui_textpath.eo.h> 149# include <efl_ui_textpath.eo.h>
146# include <efl_ui_translatable.eo.h> 150# include <efl_ui_translatable.eo.h>
147# include <efl_ui_focus_composition.eo.h> 151# include <efl_ui_focus_composition.eo.h>
diff --git a/src/lib/elementary/Elementary.h b/src/lib/elementary/Elementary.h
index 36057bdcea..e5597b8e1a 100644
--- a/src/lib/elementary/Elementary.h
+++ b/src/lib/elementary/Elementary.h
@@ -148,12 +148,16 @@ EAPI extern Elm_Version *elm_version;
148#include <elm_focus.h> 148#include <elm_focus.h>
149 149
150#if defined (EFL_EO_API_SUPPORT) && defined (EFL_BETA_API_SUPPORT) 150#if defined (EFL_EO_API_SUPPORT) && defined (EFL_BETA_API_SUPPORT)
151
152//define focus manager earlier since focus object and manager is circular
153typedef Eo Efl_Ui_Focus_Manager;
154#define _EFL_UI_FOCUS_MANAGER_EO_CLASS_TYPE
155
151# include <efl_ui_focus_object.eo.h> 156# include <efl_ui_focus_object.eo.h>
152# include <efl_ui_focus_manager.eo.h> 157# include <efl_ui_focus_manager.eo.h>
153# include <efl_ui_focus_manager_calc.eo.h> 158# include <efl_ui_focus_manager_calc.eo.h>
154# include <efl_ui_focus_manager_sub.eo.h> 159# include <efl_ui_focus_manager_sub.eo.h>
155# include <efl_ui_focus_manager_root_focus.eo.h> 160# include <efl_ui_focus_manager_root_focus.eo.h>
156# include <efl_ui_focus_user.eo.h>
157# include <efl_ui_focus_util.eo.h> 161# include <efl_ui_focus_util.eo.h>
158# include <efl_ui_textpath.eo.h> 162# include <efl_ui_textpath.eo.h>
159# include <efl_ui_translatable.eo.h> 163# include <efl_ui_translatable.eo.h>
diff --git a/src/lib/elementary/efl_ui_focus_layer.c b/src/lib/elementary/efl_ui_focus_layer.c
index e19b0f802e..363b1742f5 100644
--- a/src/lib/elementary/efl_ui_focus_layer.c
+++ b/src/lib/elementary/efl_ui_focus_layer.c
@@ -59,7 +59,7 @@ _efl_ui_focus_layer_efl_object_destructor(Eo *obj, Efl_Ui_Focus_Layer_Data *pd E
59} 59}
60 60
61EOLIAN static Efl_Ui_Focus_Manager* 61EOLIAN static Efl_Ui_Focus_Manager*
62_efl_ui_focus_layer_efl_ui_focus_user_focus_manager_get(Eo *obj, Efl_Ui_Focus_Layer_Data *pd EINA_UNUSED) 62_efl_ui_focus_layer_efl_ui_focus_object_focus_manager_get(Eo *obj, Efl_Ui_Focus_Layer_Data *pd EINA_UNUSED)
63{ 63{
64 return elm_widget_top_get(obj); 64 return elm_widget_top_get(obj);
65} 65}
diff --git a/src/lib/elementary/efl_ui_focus_layer.eo b/src/lib/elementary/efl_ui_focus_layer.eo
index 5d4b2d8c35..cb955fc19e 100644
--- a/src/lib/elementary/efl_ui_focus_layer.eo
+++ b/src/lib/elementary/efl_ui_focus_layer.eo
@@ -25,7 +25,7 @@ mixin Efl.Ui.Focus.Layer (Efl.Interface, Efl.Ui.Widget, Efl.Gfx, Efl.Ui.Focus.Ma
25 Efl.Ui.Widget.focus_state_apply; 25 Efl.Ui.Widget.focus_state_apply;
26 Efl.Gfx.visible {set;} 26 Efl.Gfx.visible {set;}
27 Efl.Ui.Focus.Manager.move; 27 Efl.Ui.Focus.Manager.move;
28 Efl.Ui.Focus.User.focus_manager { get; } 28 Efl.Ui.Focus.Object.focus_manager { get; }
29 Efl.Object.constructor; 29 Efl.Object.constructor;
30 Efl.Object.destructor; 30 Efl.Object.destructor;
31 } 31 }
diff --git a/src/lib/elementary/efl_ui_focus_manager_calc.c b/src/lib/elementary/efl_ui_focus_manager_calc.c
index 2e1b10a1d3..7fa873ab70 100644
--- a/src/lib/elementary/efl_ui_focus_manager_calc.c
+++ b/src/lib/elementary/efl_ui_focus_manager_calc.c
@@ -86,12 +86,12 @@ _manager_in_chain_set(Eo *obj, Efl_Ui_Focus_Manager_Calc_Data *pd)
86 EINA_SAFETY_ON_NULL_RETURN(pd->root); 86 EINA_SAFETY_ON_NULL_RETURN(pd->root);
87 87
88 if (!efl_isa(pd->root->focusable, EFL_UI_WIN_CLASS)) 88 if (!efl_isa(pd->root->focusable, EFL_UI_WIN_CLASS))
89 EINA_SAFETY_ON_NULL_RETURN(efl_ui_focus_user_focus_manager_get(pd->root->focusable)); 89 EINA_SAFETY_ON_NULL_RETURN(efl_ui_focus_object_focus_manager_get(pd->root->focusable));
90 90
91 //so we dont run infinitly this does not fix it, but at least we only have a error 91 //so we dont run infinitly this does not fix it, but at least we only have a error
92 EINA_SAFETY_ON_TRUE_RETURN(efl_ui_focus_user_focus_manager_get(pd->root->focusable) == obj); 92 EINA_SAFETY_ON_TRUE_RETURN(efl_ui_focus_object_focus_manager_get(pd->root->focusable) == obj);
93 93
94 manager = efl_ui_focus_user_focus_manager_get(pd->root->focusable); 94 manager = efl_ui_focus_object_focus_manager_get(pd->root->focusable);
95 if (manager) 95 if (manager)
96 efl_ui_focus_manager_focus_set(manager, pd->root->focusable); 96 efl_ui_focus_manager_focus_set(manager, pd->root->focusable);
97 else 97 else
diff --git a/src/lib/elementary/efl_ui_focus_manager_sub.c b/src/lib/elementary/efl_ui_focus_manager_sub.c
index 4e1ce22052..d6f45ad5c5 100644
--- a/src/lib/elementary/efl_ui_focus_manager_sub.c
+++ b/src/lib/elementary/efl_ui_focus_manager_sub.c
@@ -49,7 +49,7 @@ _border_flush(Eo *obj, Efl_Ui_Focus_Manager_Sub_Data *pd)
49 Efl_Ui_Focus_Object *node, *logical; 49 Efl_Ui_Focus_Object *node, *logical;
50 Efl_Ui_Focus_Manager *manager; 50 Efl_Ui_Focus_Manager *manager;
51 51
52 manager = efl_ui_focus_user_focus_manager_get(obj); 52 manager = efl_ui_focus_object_focus_manager_get(obj);
53 logical = obj; 53 logical = obj;
54 borders = efl_ui_focus_manager_border_elements_get(obj); 54 borders = efl_ui_focus_manager_border_elements_get(obj);
55 55
@@ -90,7 +90,7 @@ _border_unregister(Eo *obj, Efl_Ui_Focus_Manager_Sub_Data *pd)
90 Efl_Ui_Focus_Object *node; 90 Efl_Ui_Focus_Object *node;
91 Efl_Ui_Focus_Manager *manager; 91 Efl_Ui_Focus_Manager *manager;
92 92
93 manager = efl_ui_focus_user_focus_manager_get(obj); 93 manager = efl_ui_focus_object_focus_manager_get(obj);
94 EINA_LIST_FREE(pd->current_border, node) 94 EINA_LIST_FREE(pd->current_border, node)
95 { 95 {
96 if (node == obj) continue; 96 if (node == obj) continue;
@@ -135,12 +135,12 @@ _logical_manager_change(void *data EINA_UNUSED, const Efl_Event *ev)
135{ 135{
136 MY_DATA(data, pd); 136 MY_DATA(data, pd);
137 Eina_List *n; 137 Eina_List *n;
138 Efl_Ui_Focus_User *b; 138 Efl_Ui_Focus_Object *b;
139 Efl_Ui_Focus_Manager *manager; 139 Efl_Ui_Focus_Manager *manager;
140 140
141 if (!ev->info) return; 141 if (!ev->info) return;
142 142
143 manager = efl_ui_focus_user_focus_manager_get(ev->object); 143 manager = efl_ui_focus_object_focus_manager_get(ev->object);
144 EINA_LIST_FOREACH(pd->current_border, n, b) 144 EINA_LIST_FOREACH(pd->current_border, n, b)
145 { 145 {
146 if (b == ev->object) continue; 146 if (b == ev->object) continue;
@@ -153,11 +153,11 @@ _flush_manager(Eo *obj, Efl_Ui_Focus_Manager_Sub_Data *pd)
153{ 153{
154 Efl_Ui_Focus_Manager *manager; 154 Efl_Ui_Focus_Manager *manager;
155 Efl_Ui_Focus_Object *logical; 155 Efl_Ui_Focus_Object *logical;
156 Efl_Ui_Focus_User *b; 156 Efl_Ui_Focus_Object *b;
157 Eina_List *n; 157 Eina_List *n;
158 158
159 logical = efl_ui_focus_user_focus_parent_get(obj); 159 logical = efl_ui_focus_object_focus_parent_get(obj);
160 manager = efl_ui_focus_user_focus_manager_get(obj); 160 manager = efl_ui_focus_object_focus_manager_get(obj);
161 161
162 //unregister from the old 162 //unregister from the old
163 if (pd->manager) efl_event_callback_array_del(pd->manager, parent_manager(), obj); 163 if (pd->manager) efl_event_callback_array_del(pd->manager, parent_manager(), obj);
@@ -184,8 +184,8 @@ _manager_change(void *data, const Efl_Event *ev EINA_UNUSED)
184 184
185EFL_CALLBACKS_ARRAY_DEFINE(self_manager, 185EFL_CALLBACKS_ARRAY_DEFINE(self_manager,
186 {EFL_UI_FOCUS_MANAGER_EVENT_COORDS_DIRTY, _self_manager_dirty}, 186 {EFL_UI_FOCUS_MANAGER_EVENT_COORDS_DIRTY, _self_manager_dirty},
187 {EFL_UI_FOCUS_USER_EVENT_LOGICAL_CHANGED, _logical_manager_change}, 187 {EFL_UI_FOCUS_OBJECT_EVENT_LOGICAL_CHANGED, _logical_manager_change},
188 {EFL_UI_FOCUS_USER_EVENT_MANAGER_CHANGED, _manager_change} 188 {EFL_UI_FOCUS_OBJECT_EVENT_MANAGER_CHANGED, _manager_change}
189); 189);
190 190
191EOLIAN static Efl_Object* 191EOLIAN static Efl_Object*
diff --git a/src/lib/elementary/efl_ui_focus_manager_sub.eo b/src/lib/elementary/efl_ui_focus_manager_sub.eo
index 899e96b4b5..edf2ee0e76 100644
--- a/src/lib/elementary/efl_ui_focus_manager_sub.eo
+++ b/src/lib/elementary/efl_ui_focus_manager_sub.eo
@@ -3,7 +3,7 @@ mixin Efl.Ui.Focus.Manager.Sub (Efl.Interface, Efl.Ui.Focus.Manager, Efl.Object)
3 [[A class that automatically registeres its border elements in the parent manager 3 [[A class that automatically registeres its border elements in the parent manager
4 4
5 This sub manager will register its border elements on the parent manager. 5 This sub manager will register its border elements on the parent manager.
6 The parent manager is found with the @Efl.Ui.Focus.User interface of the 6 The parent manager is found with the @Efl.Ui.Focus.Object interface of the
7 @Efl.Object.parent. 7 @Efl.Object.parent.
8 8
9 Each sub manager also has to be a focus object, the object itself will be 9 Each sub manager also has to be a focus object, the object itself will be
diff --git a/src/lib/elementary/efl_ui_focus_object.c b/src/lib/elementary/efl_ui_focus_object.c
index e1361dfad1..df565b4300 100644
--- a/src/lib/elementary/efl_ui_focus_object.c
+++ b/src/lib/elementary/efl_ui_focus_object.c
@@ -28,4 +28,3 @@ _efl_ui_focus_object_focus_get(Eo *obj EINA_UNUSED, Efl_Ui_Focus_Object_Data *pd
28 28
29 29
30#include "efl_ui_focus_object.eo.c" 30#include "efl_ui_focus_object.eo.c"
31#include "efl_ui_focus_user.eo.c"
diff --git a/src/lib/elementary/efl_ui_focus_object.eo b/src/lib/elementary/efl_ui_focus_object.eo
index 96976919ee..6842dfabc7 100644
--- a/src/lib/elementary/efl_ui_focus_object.eo
+++ b/src/lib/elementary/efl_ui_focus_object.eo
@@ -36,6 +36,25 @@ mixin Efl.Ui.Focus.Object
36 focus : bool; [[The state in which the object should be put]] 36 focus : bool; [[The state in which the object should be put]]
37 } 37 }
38 } 38 }
39 @property focus_manager {
40 [[Describes which manager is used to register.
41
42 If an instance of this interface is the root of a manager, this instance should not have a manager where as root of this property. The other manager in this instance will be set as focused in the corresponding manager.
43 This instance should be registered with its own manager as redirect.
44 ]]
45 get {}
46 values {
47 manager : Efl.Ui.Focus.Manager; [[The manager object]]
48 }
49 }
50 @property focus_parent {
51 [[Describes which logical parent is used by this object.]]
52 get {}
53 values {
54 logical_parent : Efl.Ui.Focus.Object; [[The focus parent.]]
55 }
56 }
57
39 prepare_logical { 58 prepare_logical {
40 [[Tells the object that its children will be queried soon by the given manager. 59 [[Tells the object that its children will be queried soon by the given manager.
41 60
@@ -46,8 +65,14 @@ mixin Efl.Ui.Focus.Object
46 implements { 65 implements {
47 @empty .focus_geometry; 66 @empty .focus_geometry;
48 @empty .prepare_logical; 67 @empty .prepare_logical;
68 @empty .focus_manager;
69 @empty .focus_parent;
49 } 70 }
50 events { 71 events {
51 focus,changed : bool; [[Emitted if the focus state has changed]] 72 focus,changed : bool; [[Emitted if the focus state has changed]]
73 manager,changed: Efl.Ui.Focus.Manager; [[Emitted when a new manager is
74 the parent for this object.]]
75 logical,changed: Efl.Ui.Focus.Object; [[Emitted when a new logical
76 parent should be used.]]
52 } 77 }
53} 78}
diff --git a/src/lib/elementary/efl_ui_focus_user.eo b/src/lib/elementary/efl_ui_focus_user.eo
deleted file mode 100644
index 11de8e9547..0000000000
--- a/src/lib/elementary/efl_ui_focus_user.eo
+++ /dev/null
@@ -1,32 +0,0 @@
1interface Efl.Ui.Focus.User {
2 [[Interface which is used to handle the manager of a user.
3
4 @since 1.20
5 ]]
6 methods {
7 @property focus_manager {
8 [[Describes which manager is used to register.
9
10 If an instance of this interface is the root of a manager, this instance should not have a manager where as root of this property. The other manager in this instance will be set as focused in the corresponding manager.
11 This instance should be registered with its own manager as redirect.
12 ]]
13 get {}
14 values {
15 manager : Efl.Ui.Focus.Manager; [[The manager object]]
16 }
17 }
18 @property focus_parent {
19 [[Describes which logical parent is used by this object.]]
20 get {}
21 values {
22 logical_parent : Efl.Ui.Focus.Object; [[The focus parent.]]
23 }
24 }
25 }
26 events {
27 manager,changed: Efl.Ui.Focus.Manager; [[Emitted when a new manager is
28 the parent for this object.]]
29 logical,changed: Efl.Ui.Focus.Object; [[Emitted when a new logical
30 parent should be used.]]
31 }
32}
diff --git a/src/lib/elementary/efl_ui_focus_util.c b/src/lib/elementary/efl_ui_focus_util.c
index aa0fbbdb42..8758047eda 100644
--- a/src/lib/elementary/efl_ui_focus_util.c
+++ b/src/lib/elementary/efl_ui_focus_util.c
@@ -16,23 +16,23 @@ _manager_changed(void *data, const Efl_Event *event EINA_UNUSED)
16} 16}
17 17
18EOLIAN static void 18EOLIAN static void
19_efl_ui_focus_util_focus(Eo *obj EINA_UNUSED, void *pd EINA_UNUSED, Efl_Ui_Focus_User *user) 19_efl_ui_focus_util_focus(Eo *obj EINA_UNUSED, void *pd EINA_UNUSED, Efl_Ui_Focus_Object *user)
20{ 20{
21 Efl_Ui_Widget *top, *o; 21 Efl_Ui_Widget *top, *o;
22 Efl_Ui_Focus_Manager *m; 22 Efl_Ui_Focus_Manager *m;
23 m = efl_ui_focus_user_focus_manager_get(user); 23 m = efl_ui_focus_object_focus_manager_get(user);
24 24
25 top = elm_widget_top_get(user); 25 top = elm_widget_top_get(user);
26 26
27 o = efl_key_data_get(top, "__delayed_focus_set"); 27 o = efl_key_data_get(top, "__delayed_focus_set");
28 if (o) efl_event_callback_del(o, EFL_UI_FOCUS_USER_EVENT_MANAGER_CHANGED, _manager_changed, o); 28 if (o) efl_event_callback_del(o, EFL_UI_FOCUS_OBJECT_EVENT_MANAGER_CHANGED, _manager_changed, o);
29 efl_key_data_set(top, "__delayed_focus_set", NULL); 29 efl_key_data_set(top, "__delayed_focus_set", NULL);
30 30
31 if (!m) 31 if (!m)
32 { 32 {
33 //delayed focusung 33 //delayed focusung
34 efl_key_data_set(top, "__delayed_focus_set", user); 34 efl_key_data_set(top, "__delayed_focus_set", user);
35 efl_event_callback_add(user, EFL_UI_FOCUS_USER_EVENT_MANAGER_CHANGED, _manager_changed, user); 35 efl_event_callback_add(user, EFL_UI_FOCUS_OBJECT_EVENT_MANAGER_CHANGED, _manager_changed, user);
36 return; 36 return;
37 } 37 }
38 38
diff --git a/src/lib/elementary/efl_ui_multibuttonentry.c b/src/lib/elementary/efl_ui_multibuttonentry.c
index ca24ed4ff6..630ac60ce3 100644
--- a/src/lib/elementary/efl_ui_multibuttonentry.c
+++ b/src/lib/elementary/efl_ui_multibuttonentry.c
@@ -1677,7 +1677,7 @@ static void
1677_legacy_manager_changed_cb(void *data EINA_UNUSED, const Efl_Event *ev) 1677_legacy_manager_changed_cb(void *data EINA_UNUSED, const Efl_Event *ev)
1678{ 1678{
1679 efl_event_callback_del(ev->info, EFL_UI_FOCUS_MANAGER_EVENT_FOCUSED, _legacy_focused, ev->object); 1679 efl_event_callback_del(ev->info, EFL_UI_FOCUS_MANAGER_EVENT_FOCUSED, _legacy_focused, ev->object);
1680 efl_event_callback_add(efl_ui_focus_user_focus_manager_get(ev->object), EFL_UI_FOCUS_MANAGER_EVENT_FOCUSED, _legacy_focused, ev->object); 1680 efl_event_callback_add(efl_ui_focus_object_focus_manager_get(ev->object), EFL_UI_FOCUS_MANAGER_EVENT_FOCUSED, _legacy_focused, ev->object);
1681} 1681}
1682 1682
1683EOLIAN static Eo * 1683EOLIAN static Eo *
@@ -1689,7 +1689,7 @@ _efl_ui_multibuttonentry_efl_object_constructor(Eo *obj, Efl_Ui_Multibuttonentry
1689 efl_access_role_set(obj, EFL_ACCESS_ROLE_PANEL); 1689 efl_access_role_set(obj, EFL_ACCESS_ROLE_PANEL);
1690 1690
1691 //listen to manager changes here 1691 //listen to manager changes here
1692 efl_event_callback_add(obj, EFL_UI_FOCUS_USER_EVENT_MANAGER_CHANGED, _legacy_manager_changed_cb, NULL); 1692 efl_event_callback_add(obj, EFL_UI_FOCUS_OBJECT_EVENT_MANAGER_CHANGED, _legacy_manager_changed_cb, NULL);
1693 1693
1694 return obj; 1694 return obj;
1695} 1695}
diff --git a/src/lib/elementary/efl_ui_widget.c b/src/lib/elementary/efl_ui_widget.c
index 4b7b2b2d1a..dfe47d7661 100644
--- a/src/lib/elementary/efl_ui_widget.c
+++ b/src/lib/elementary/efl_ui_widget.c
@@ -313,7 +313,7 @@ _focus_manager_eval(Eo *obj, Elm_Widget_Smart_Data *pd)
313 } 313 }
314 else if (parent) 314 else if (parent)
315 { 315 {
316 new = efl_ui_focus_user_focus_manager_get(parent); 316 new = efl_ui_focus_object_focus_manager_get(parent);
317 provider = parent; 317 provider = parent;
318 } 318 }
319 319
@@ -322,13 +322,13 @@ _focus_manager_eval(Eo *obj, Elm_Widget_Smart_Data *pd)
322 old = pd->manager.manager; 322 old = pd->manager.manager;
323 323
324 if (pd->manager.provider) 324 if (pd->manager.provider)
325 efl_event_callback_del(pd->manager.provider, EFL_UI_FOCUS_USER_EVENT_MANAGER_CHANGED, _manager_changed_cb, obj); 325 efl_event_callback_del(pd->manager.provider, EFL_UI_FOCUS_OBJECT_EVENT_MANAGER_CHANGED, _manager_changed_cb, obj);
326 326
327 pd->manager.manager = new; 327 pd->manager.manager = new;
328 pd->manager.provider = provider; 328 pd->manager.provider = provider;
329 329
330 if (pd->manager.provider) 330 if (pd->manager.provider)
331 efl_event_callback_add(pd->manager.provider, EFL_UI_FOCUS_USER_EVENT_MANAGER_CHANGED, _manager_changed_cb, obj); 331 efl_event_callback_add(pd->manager.provider, EFL_UI_FOCUS_OBJECT_EVENT_MANAGER_CHANGED, _manager_changed_cb, obj);
332 } 332 }
333 333
334 return old; 334 return old;
@@ -541,13 +541,13 @@ _full_eval(Eo *obj, Elm_Widget_Smart_Data *pd)
541 if (old_registered_parent != pd->focus.parent) 541 if (old_registered_parent != pd->focus.parent)
542 { 542 {
543 efl_event_callback_call(obj, 543 efl_event_callback_call(obj,
544 EFL_UI_FOCUS_USER_EVENT_LOGICAL_CHANGED, old_registered_parent); 544 EFL_UI_FOCUS_OBJECT_EVENT_LOGICAL_CHANGED, old_registered_parent);
545 } 545 }
546 546
547 if (old_registered_manager != pd->focus.manager) 547 if (old_registered_manager != pd->focus.manager)
548 { 548 {
549 efl_event_callback_call(obj, 549 efl_event_callback_call(obj,
550 EFL_UI_FOCUS_USER_EVENT_MANAGER_CHANGED, old_registered_manager); 550 EFL_UI_FOCUS_OBJECT_EVENT_MANAGER_CHANGED, old_registered_manager);
551 } 551 }
552 552
553} 553}
@@ -5200,7 +5200,7 @@ _efl_ui_widget_efl_object_destructor(Eo *obj, Elm_Widget_Smart_Data *sd)
5200{ 5200{
5201 if (sd->manager.provider) 5201 if (sd->manager.provider)
5202 { 5202 {
5203 efl_event_callback_del(sd->manager.provider, EFL_UI_FOCUS_USER_EVENT_MANAGER_CHANGED, _manager_changed_cb, obj); 5203 efl_event_callback_del(sd->manager.provider, EFL_UI_FOCUS_OBJECT_EVENT_MANAGER_CHANGED, _manager_changed_cb, obj);
5204 sd->manager.provider = NULL; 5204 sd->manager.provider = NULL;
5205 } 5205 }
5206 efl_access_attributes_clear(obj); 5206 efl_access_attributes_clear(obj);
@@ -5494,13 +5494,13 @@ _efl_ui_widget_efl_object_provider_find(const Eo *obj, Elm_Widget_Smart_Data *pd
5494} 5494}
5495 5495
5496EOLIAN static Efl_Ui_Focus_Manager* 5496EOLIAN static Efl_Ui_Focus_Manager*
5497_efl_ui_widget_efl_ui_focus_user_focus_parent_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *pd EINA_UNUSED) 5497_efl_ui_widget_efl_ui_focus_object_focus_parent_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *pd EINA_UNUSED)
5498{ 5498{
5499 return pd->focus.parent; 5499 return pd->focus.parent;
5500} 5500}
5501 5501
5502EOLIAN static Efl_Ui_Focus_Manager* 5502EOLIAN static Efl_Ui_Focus_Manager*
5503_efl_ui_widget_efl_ui_focus_user_focus_manager_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *pd EINA_UNUSED) 5503_efl_ui_widget_efl_ui_focus_object_focus_manager_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *pd EINA_UNUSED)
5504{ 5504{
5505 return pd->focus.manager; 5505 return pd->focus.manager;
5506} 5506}
diff --git a/src/lib/elementary/efl_ui_widget.eo b/src/lib/elementary/efl_ui_widget.eo
index 1560b2a93c..b50f2d7da0 100644
--- a/src/lib/elementary/efl_ui_widget.eo
+++ b/src/lib/elementary/efl_ui_widget.eo
@@ -9,15 +9,15 @@ function Efl.Ui.Scrollable_On_Show_Region {
9struct Efl.Ui.Widget.Focus_State { 9struct Efl.Ui.Widget.Focus_State {
10 [[All relevant fields needed for the current state of focus registeration]] 10 [[All relevant fields needed for the current state of focus registeration]]
11 manager : Efl.Ui.Focus.Manager; [[The manager where the widget is registered in]] 11 manager : Efl.Ui.Focus.Manager; [[The manager where the widget is registered in]]
12 parent : Efl.Ui.Focus.User; [[The parent the widget is using as logical parent]] 12 parent : Efl.Ui.Focus.Object; [[The parent the widget is using as logical parent]]
13 logical : bool; [[$true if this is registered as logical currently]] 13 logical : bool; [[$true if this is registered as logical currently]]
14} 14}
15 15
16/* ATTENTION: Rename to Efl.Ui.Widget is imminent. */ 16/* ATTENTION: Rename to Efl.Ui.Widget is imminent. */
17abstract Efl.Ui.Widget (Efl.Canvas.Group, Efl.Access, 17abstract Efl.Ui.Widget (Efl.Canvas.Group, Efl.Access,
18 Efl.Access.Component, Efl.Ui.Focus.User, Efl.Part, 18 Efl.Access.Component, Efl.Part, Efl.Ui.Focus.Object,
19 Efl.Ui.Focus.Object, Efl.Ui.Base, Efl.Ui.Cursor, 19 Efl.Ui.Base, Efl.Ui.Cursor, Efl.Ui.Translatable,
20 Efl.Ui.Translatable, Efl.Selection, Efl.Ui.Dnd) 20 Efl.Selection, Efl.Ui.Dnd)
21{ 21{
22 [[Efl UI widget abstract class]] 22 [[Efl UI widget abstract class]]
23 legacy_prefix: elm_widget; 23 legacy_prefix: elm_widget;
@@ -598,8 +598,8 @@ abstract Efl.Ui.Widget (Efl.Canvas.Group, Efl.Access,
598 Efl.Access.parent { get; } 598 Efl.Access.parent { get; }
599 Efl.Access.attributes { get; } 599 Efl.Access.attributes { get; }
600 Efl.Access.Component.focus_grab; 600 Efl.Access.Component.focus_grab;
601 Efl.Ui.Focus.User.focus_manager { get; } 601 Efl.Ui.Focus.Object.focus_manager { get; }
602 Efl.Ui.Focus.User.focus_parent { get; } 602 Efl.Ui.Focus.Object.focus_parent { get; }
603 Efl.Ui.Focus.Object.focus_geometry { get; } 603 Efl.Ui.Focus.Object.focus_geometry { get; }
604 Efl.Ui.Focus.Object.focus { set; } 604 Efl.Ui.Focus.Object.focus { set; }
605 Efl.Ui.Base.mirrored { get; set; } 605 Efl.Ui.Base.mirrored { get; set; }
diff --git a/src/lib/elementary/elc_fileselector.c b/src/lib/elementary/elc_fileselector.c
index dddd47ccf5..d5d3d732cc 100644
--- a/src/lib/elementary/elc_fileselector.c
+++ b/src/lib/elementary/elc_fileselector.c
@@ -117,7 +117,7 @@ _focus_chain_update(Eo *obj, Elm_Fileselector_Data *pd)
117 117
118#undef A 118#undef A
119 119
120 efl_ui_focus_manager_calc_update_order(efl_ui_focus_user_focus_manager_get(obj), obj, tmp); 120 efl_ui_focus_manager_calc_update_order(efl_ui_focus_object_focus_manager_get(obj), obj, tmp);
121} 121}
122 122
123static void 123static void
diff --git a/src/lib/elementary/elc_naviframe.c b/src/lib/elementary/elc_naviframe.c
index 0e1e85e190..ef8cb9fa81 100644
--- a/src/lib/elementary/elc_naviframe.c
+++ b/src/lib/elementary/elc_naviframe.c
@@ -92,7 +92,7 @@ _prev_page_focus_recover(Elm_Naviframe_Item_Data *it)
92{ 92{
93 Elm_Naviframe *n = it->base->widget; 93 Elm_Naviframe *n = it->base->widget;
94 94
95 efl_ui_focus_manager_focus_set(efl_ui_focus_user_focus_manager_get(n), n); 95 efl_ui_focus_manager_focus_set(efl_ui_focus_object_focus_manager_get(n), n);
96} 96}
97 97
98EOLIAN static void 98EOLIAN static void
diff --git a/src/lib/elementary/elm_access.c b/src/lib/elementary/elm_access.c
index 0c69b0b6bd..dc3efd783a 100644
--- a/src/lib/elementary/elm_access.c
+++ b/src/lib/elementary/elm_access.c
@@ -537,7 +537,7 @@ _access_highlight_next_get(Evas_Object *obj, Elm_Focus_Direction dir)
537 { 537 {
538 Efl_Ui_Focus_Relations *rel; 538 Efl_Ui_Focus_Relations *rel;
539 539
540 rel = efl_ui_focus_manager_fetch(efl_ui_focus_user_focus_manager_get(obj), obj); 540 rel = efl_ui_focus_manager_fetch(efl_ui_focus_object_focus_manager_get(obj), obj);
541 541
542 if (rel) 542 if (rel)
543 { 543 {
diff --git a/src/lib/elementary/elm_hover.c b/src/lib/elementary/elm_hover.c
index 1204277b7b..f23fa1c64d 100644
--- a/src/lib/elementary/elm_hover.c
+++ b/src/lib/elementary/elm_hover.c
@@ -664,7 +664,7 @@ _elm_hover_efl_gfx_visible_set(Eo *obj, Elm_Hover_Data *pd, Eina_Bool vis)
664 { 664 {
665 _hov_show_do(obj); 665 _hov_show_do(obj);
666 //we just set ourself as redirect in the next upper manager 666 //we just set ourself as redirect in the next upper manager
667 pd->redirected = efl_ui_focus_user_focus_manager_get(pd->target); 667 pd->redirected = efl_ui_focus_object_focus_manager_get(pd->target);
668 efl_ui_focus_manager_redirect_set(pd->redirected, obj); 668 efl_ui_focus_manager_redirect_set(pd->redirected, obj);
669 } 669 }
670 else 670 else
diff --git a/src/lib/elementary/elm_main.c b/src/lib/elementary/elm_main.c
index ebaef80d68..9b0f4ddb0a 100644
--- a/src/lib/elementary/elm_main.c
+++ b/src/lib/elementary/elm_main.c
@@ -1586,13 +1586,13 @@ elm_object_focus_get(const Evas_Object *obj)
1586 if (!elm_widget_is(obj)) 1586 if (!elm_widget_is(obj))
1587 return evas_object_focus_get(obj); 1587 return evas_object_focus_get(obj);
1588 1588
1589 m = efl_ui_focus_user_focus_manager_get(obj); 1589 m = efl_ui_focus_object_focus_manager_get(obj);
1590 1590
1591 //no manager means not registered 1591 //no manager means not registered
1592 if (!m) return EINA_FALSE; 1592 if (!m) return EINA_FALSE;
1593 1593
1594 //assertion: our redirect manager m is in the redirect chain 1594 //assertion: our redirect manager m is in the redirect chain
1595 m = efl_ui_focus_user_focus_manager_get(obj); 1595 m = efl_ui_focus_object_focus_manager_get(obj);
1596 1596
1597 //if obj is the redriect manager its kind of focused 1597 //if obj is the redriect manager its kind of focused
1598 if (efl_ui_focus_manager_redirect_get(m) == obj) return EINA_TRUE; 1598 if (efl_ui_focus_manager_redirect_get(m) == obj) return EINA_TRUE;
@@ -1607,7 +1607,7 @@ elm_object_focus_get(const Evas_Object *obj)
1607 { 1607 {
1608 if (focused_child == obj) return EINA_TRUE; 1608 if (focused_child == obj) return EINA_TRUE;
1609 1609
1610 focused_child = efl_ui_focus_user_focus_parent_get(focused_child); 1610 focused_child = efl_ui_focus_object_focus_parent_get(focused_child);
1611 } 1611 }
1612 1612
1613 return efl_ui_focus_object_focus_get(obj); 1613 return efl_ui_focus_object_focus_get(obj);
@@ -1635,8 +1635,8 @@ elm_object_focus_set(Evas_Object *obj,
1635 efl_ui_focus_util_focus(EFL_UI_FOCUS_UTIL_CLASS, obj); 1635 efl_ui_focus_util_focus(EFL_UI_FOCUS_UTIL_CLASS, obj);
1636 else 1636 else
1637 { 1637 {
1638 if (efl_ui_focus_manager_focus_get(efl_ui_focus_user_focus_manager_get(obj)) == obj) 1638 if (efl_ui_focus_manager_focus_get(efl_ui_focus_object_focus_manager_get(obj)) == obj)
1639 efl_ui_focus_manager_pop_history_stack(efl_ui_focus_user_focus_manager_get(obj)); 1639 efl_ui_focus_manager_pop_history_stack(efl_ui_focus_object_focus_manager_get(obj));
1640 } 1640 }
1641 } 1641 }
1642 else 1642 else
diff --git a/src/lib/elementary/elm_spinner.c b/src/lib/elementary/elm_spinner.c
index c150d27eb5..5f48b51c3e 100644
--- a/src/lib/elementary/elm_spinner.c
+++ b/src/lib/elementary/elm_spinner.c
@@ -660,7 +660,7 @@ _toggle_entry(Evas_Object *obj)
660 660
661 efl_ui_focus_composition_elements_set(obj, items); 661 efl_ui_focus_composition_elements_set(obj, items);
662 } 662 }
663 efl_ui_focus_manager_focus_set(efl_ui_focus_user_focus_manager_get(obj), sd->ent); 663 efl_ui_focus_manager_focus_set(efl_ui_focus_object_focus_manager_get(obj), sd->ent);
664 } 664 }
665} 665}
666 666
diff --git a/src/lib/elementary/elm_widget.h b/src/lib/elementary/elm_widget.h
index 4bdff24148..6ebea70f18 100644
--- a/src/lib/elementary/elm_widget.h
+++ b/src/lib/elementary/elm_widget.h
@@ -439,7 +439,7 @@ typedef struct _Elm_Widget_Smart_Data
439 } logical; 439 } logical;
440 struct { 440 struct {
441 Efl_Ui_Focus_Manager *manager; 441 Efl_Ui_Focus_Manager *manager;
442 Efl_Ui_Focus_User *provider; 442 Efl_Ui_Focus_Object *provider;
443 } manager; 443 } manager;
444 444
445 Eina_Bool scroll_x_locked : 1; 445 Eina_Bool scroll_x_locked : 1;
diff --git a/src/tests/elementary/elm_test_focus_common.c b/src/tests/elementary/elm_test_focus_common.c
index a84dc062f3..9cd355722f 100644
--- a/src/tests/elementary/elm_test_focus_common.c
+++ b/src/tests/elementary/elm_test_focus_common.c
@@ -101,13 +101,13 @@ _focus_test_efl_gfx_geometry_get(Eo *obj EINA_UNUSED, Focus_Test_Data *pd)
101} 101}
102 102
103EOLIAN static Efl_Ui_Focus_Manager* 103EOLIAN static Efl_Ui_Focus_Manager*
104_focus_test_efl_ui_focus_user_focus_manager_get(Eo *obj EINA_UNUSED, Focus_Test_Data *pd) 104_focus_test_efl_ui_focus_object_focus_manager_get(Eo *obj EINA_UNUSED, Focus_Test_Data *pd)
105{ 105{
106 return pd->manager; 106 return pd->manager;
107} 107}
108 108
109EOLIAN static Efl_Ui_Focus_Object* 109EOLIAN static Efl_Ui_Focus_Object*
110_focus_test_efl_ui_focus_user_focus_parent_get(Eo *obj, Focus_Test_Data *pd EINA_UNUSED) 110_focus_test_efl_ui_focus_object_focus_parent_get(Eo *obj, Focus_Test_Data *pd EINA_UNUSED)
111{ 111{
112 return efl_parent_get(obj); 112 return efl_parent_get(obj);
113} 113}
diff --git a/src/tests/elementary/elm_test_focus_sub.c b/src/tests/elementary/elm_test_focus_sub.c
index 733abb5d96..8ba3a7e165 100644
--- a/src/tests/elementary/elm_test_focus_sub.c
+++ b/src/tests/elementary/elm_test_focus_sub.c
@@ -13,13 +13,13 @@ _focus_test_sub_main_efl_ui_focus_object_focus_geometry_get(Eo *obj EINA_UNUSED,
13} 13}
14 14
15EOLIAN static Efl_Ui_Focus_Manager* 15EOLIAN static Efl_Ui_Focus_Manager*
16_focus_test_sub_main_efl_ui_focus_user_focus_manager_get(Eo *obj, Focus_Test_Sub_Main_Data *pd EINA_UNUSED) 16_focus_test_sub_main_efl_ui_focus_object_focus_manager_get(Eo *obj, Focus_Test_Sub_Main_Data *pd EINA_UNUSED)
17{ 17{
18 return efl_key_data_get(obj, "__user_manager"); 18 return efl_key_data_get(obj, "__user_manager");
19} 19}
20 20
21EOLIAN static Efl_Ui_Focus_Object* 21EOLIAN static Efl_Ui_Focus_Object*
22_focus_test_sub_main_efl_ui_focus_user_focus_parent_get(Eo *obj, Focus_Test_Sub_Main_Data *pd EINA_UNUSED) 22_focus_test_sub_main_efl_ui_focus_object_focus_parent_get(Eo *obj, Focus_Test_Sub_Main_Data *pd EINA_UNUSED)
23{ 23{
24 return efl_key_data_get(obj, "__user_parent"); 24 return efl_key_data_get(obj, "__user_parent");
25} 25}
@@ -96,7 +96,7 @@ _setup(Efl_Ui_Focus_Manager **m, Efl_Ui_Focus_Manager_Sub **sub, Efl_Ui_Focus_Ob
96 96
97 efl_composite_attach(focus_main, subm); 97 efl_composite_attach(focus_main, subm);
98 98
99 efl_event_callback_call(focus_main, EFL_UI_FOCUS_USER_EVENT_MANAGER_CHANGED, NULL); 99 efl_event_callback_call(focus_main, EFL_UI_FOCUS_OBJECT_EVENT_MANAGER_CHANGED, NULL);
100 100
101 efl_ui_focus_manager_calc_register_logical(manager, focus_main, root_manager, subm); 101 efl_ui_focus_manager_calc_register_logical(manager, focus_main, root_manager, subm);
102 102
diff --git a/src/tests/elementary/focus_test.eo b/src/tests/elementary/focus_test.eo
index 2e8534ab78..63075eb9e2 100644
--- a/src/tests/elementary/focus_test.eo
+++ b/src/tests/elementary/focus_test.eo
@@ -1,4 +1,4 @@
1class Focus.Test(Efl.Object, Efl.Ui.Focus.Object, Efl.Ui.Focus.User, Efl.Gfx) { 1class Focus.Test(Efl.Object, Efl.Ui.Focus.Object, Efl.Gfx) {
2 methods { 2 methods {
3 size { 3 size {
4 params { 4 params {
@@ -18,8 +18,8 @@ class Focus.Test(Efl.Object, Efl.Ui.Focus.Object, Efl.Ui.Focus.User, Efl.Gfx) {
18 Efl.Object.constructor; 18 Efl.Object.constructor;
19 Efl.Ui.Focus.Object.focus_geometry { get; } 19 Efl.Ui.Focus.Object.focus_geometry { get; }
20 Efl.Ui.Focus.Object.focus { set; } 20 Efl.Ui.Focus.Object.focus { set; }
21 Efl.Ui.Focus.User.focus_manager { get; } 21 Efl.Ui.Focus.Object.focus_manager { get; }
22 Efl.Ui.Focus.User.focus_parent {get; } 22 Efl.Ui.Focus.Object.focus_parent {get; }
23 Efl.Gfx.geometry { get; } 23 Efl.Gfx.geometry { get; }
24 } 24 }
25} 25}
diff --git a/src/tests/elementary/focus_test_sub_main.eo b/src/tests/elementary/focus_test_sub_main.eo
index af3f330b12..b60c431c87 100644
--- a/src/tests/elementary/focus_test_sub_main.eo
+++ b/src/tests/elementary/focus_test_sub_main.eo
@@ -1,7 +1,7 @@
1class Focus.Test.Sub.Main(Efl.Object, Efl.Ui.Focus.User, Efl.Ui.Focus.Object, Efl.Ui.Focus.Manager.Sub) { 1class Focus.Test.Sub.Main(Efl.Object, Efl.Ui.Focus.Object, Efl.Ui.Focus.Manager.Sub) {
2 implements { 2 implements {
3 Efl.Ui.Focus.User.focus_manager { get; } 3 Efl.Ui.Focus.Object.focus_manager { get; }
4 Efl.Ui.Focus.User.focus_parent { get; } 4 Efl.Ui.Focus.Object.focus_parent { get; }
5 Efl.Ui.Focus.Object.focus_geometry { get; } 5 Efl.Ui.Focus.Object.focus_geometry { get; }
6 } 6 }
7} 7}