summaryrefslogtreecommitdiff
path: root/src/lib/elementary/efl_ui_win.c
diff options
context:
space:
mode:
authorMarcel Hollerbach <marcel@osg.samsung.com>2017-10-12 21:25:49 +0200
committerMarcel Hollerbach <marcel@osg.samsung.com>2017-10-13 12:31:47 +0200
commit75f5ea686fb6475cdbb9d8106c696c4d52fefe69 (patch)
tree9920fc63ea34e084592a633039f44495a2eede34 /src/lib/elementary/efl_ui_win.c
parent441776f7cfe4eba2a4d257312ddbb554224bc858 (diff)
efl_ui_focus: add parent_provider
thats just a little helper, where the logic to find and fetch the provider is bound to the position in the widget tree, this means that for example gengrid could change the way the logical parent is evalulated. (For example to map the logical parent to a item)
Diffstat (limited to '')
-rw-r--r--src/lib/elementary/efl_ui_win.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index bc66ecedf0..af94426b3f 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -176,6 +176,7 @@ struct _Efl_Ui_Win_Data
176 Evas_Object *main_menu; 176 Evas_Object *main_menu;
177 177
178 Efl_Ui_Focus_Manager *manager; 178 Efl_Ui_Focus_Manager *manager;
179 Efl_Ui_Focus_Parent_Provider_Standard *provider;
179 180
180 struct 181 struct
181 { 182 {
@@ -5361,6 +5362,7 @@ _efl_ui_win_efl_object_constructor(Eo *obj, Efl_Ui_Win_Data *pd)
5361 5362
5362 pd->obj = obj; 5363 pd->obj = obj;
5363 pd->manager = elm_obj_widget_focus_manager_create(obj, obj); 5364 pd->manager = elm_obj_widget_focus_manager_create(obj, obj);
5365 pd->provider = efl_add(EFL_UI_FOCUS_PARENT_PROVIDER_STANDARD_CLASS, obj);
5364 pd->profile.available = eina_array_new(4); 5366 pd->profile.available = eina_array_new(4);
5365 5367
5366 efl_composite_attach(obj, pd->manager); 5368 efl_composite_attach(obj, pd->manager);
@@ -6756,6 +6758,10 @@ _efl_ui_win_efl_object_provider_find(Eo *obj, Efl_Ui_Win_Data *pd EINA_UNUSED,
6756{ 6758{
6757 if (klass == EFL_UI_WIN_CLASS) 6759 if (klass == EFL_UI_WIN_CLASS)
6758 return obj; 6760 return obj;
6761
6762 if (klass == EFL_UI_FOCUS_PARENT_PROVIDER_INTERFACE)
6763 return pd->provider;
6764
6759 return efl_provider_find(efl_super(obj, MY_CLASS), klass); 6765 return efl_provider_find(efl_super(obj, MY_CLASS), klass);
6760} 6766}
6761 6767