efl_ui_focus_manager_sub: register the forwared itself

This commit is contained in:
Marcel Hollerbach 2016-12-07 22:27:36 +01:00
parent 0f2657983f
commit 0df0d9d358
2 changed files with 13 additions and 2 deletions

View File

@ -167,9 +167,18 @@ EFL_CALLBACKS_ARRAY_DEFINE(self_manager,
EOLIAN static void
_efl_ui_focus_manager_sub_efl_object_parent_set(Eo *obj, Efl_Ui_Focus_Manager_Sub_Data *pd EINA_UNUSED, Efl_Object *parent)
{
efl_event_callback_array_del(efl_parent_get(obj), self_manager(), obj);
Eo *old_parent, *new_parent;
old_parent = efl_parent_get(obj);
efl_event_callback_forwarder_del(obj, EFL_UI_FOCUS_MANAGER_EVENT_PRE_FLUSH, old_parent);
efl_event_callback_array_del(old_parent, self_manager(), obj);
efl_parent_set(efl_super(obj, MY_CLASS), parent);
efl_event_callback_array_add(efl_parent_get(obj), self_manager(), obj);
new_parent = efl_parent_get(obj);
efl_event_callback_forwarder_add(obj, EFL_UI_FOCUS_MANAGER_EVENT_PRE_FLUSH, new_parent);
efl_event_callback_array_add(new_parent, self_manager(), obj);
}
EOLIAN static Efl_Object*

View File

@ -9,6 +9,8 @@ class Efl.Ui.Focus.Manager.Sub (Efl.Ui.Focus.Manager, Efl.Object)
You can filter the border elements by overriding the border_elements property of the manager.
This class is only working as composite object to a Efl.Ui.Focus.User and Efl.Ui.Focus.Object.
The object itself does redirect the managers settings to the object where this object is attached
]]
methods {
}