old_parent = efl_parent_get(obj);
- efl_event_callback_forwarder_del(obj, EFL_UI_FOCUS_MANAGER_EVENT_PRE_FLUSH, old_parent);
- efl_event_callback_forwarder_del(obj, EFL_UI_FOCUS_MANAGER_EVENT_REDIRECT_CHANGED, old_parent);
+ _efl_ui_focus_manager_redirect_events_del(obj, old_parent);
efl_event_callback_array_del(old_parent, self_manager(), obj);
efl_parent_set(efl_super(obj, MY_CLASS), parent);
new_parent = efl_parent_get(obj);
- efl_event_callback_forwarder_add(obj, EFL_UI_FOCUS_MANAGER_EVENT_PRE_FLUSH, new_parent);
- efl_event_callback_forwarder_add(obj, EFL_UI_FOCUS_MANAGER_EVENT_REDIRECT_CHANGED, new_parent);
+ _efl_ui_focus_manager_redirect_events_add(obj, new_parent);
efl_event_callback_array_add(new_parent, self_manager(), obj);
}
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
+ The object itself does redirect the managers events to the object where this object is attached
]]
methods {
}
efl_composite_attach(obj, pd->manager);
- efl_event_callback_forwarder_add(pd->manager, EFL_UI_FOCUS_MANAGER_EVENT_PRE_FLUSH, obj);
- efl_event_callback_forwarder_add(pd->manager, EFL_UI_FOCUS_MANAGER_EVENT_REDIRECT_CHANGED, obj);
+ _efl_ui_focus_manager_redirect_events_add(pd->manager, obj);
return obj;
}
efl_composite_attach(obj, pd->manager);
- efl_event_callback_forwarder_add(pd->manager, EFL_UI_FOCUS_MANAGER_EVENT_REDIRECT_CHANGED, obj);
- efl_event_callback_forwarder_add(pd->manager, EFL_UI_FOCUS_MANAGER_EVENT_PRE_FLUSH , obj);
- efl_event_callback_forwarder_add(pd->manager, EFL_UI_FOCUS_MANAGER_EVENT_COORDS_DIRTY , obj);
- efl_event_callback_forwarder_add(pd->manager, EFL_UI_FOCUS_MANAGER_EVENT_FOCUSED, obj);
efl_event_callback_add(pd->manager, EFL_UI_FOCUS_MANAGER_EVENT_FOCUSED, _focused_element, obj);
return efl_constructor(efl_super(obj, MY_SCROLLABLE_INTERFACE));
static Elm_Version _version = { VMAJ, VMIN, VMIC, VREV };
EAPI Elm_Version *elm_version = &_version;
+void
+_efl_ui_focus_manager_redirect_events_del(Efl_Ui_Focus_Manager *manager, Eo *obj)
+{
+ efl_event_callback_forwarder_del(manager, EFL_UI_FOCUS_MANAGER_EVENT_PRE_FLUSH, obj);
+ efl_event_callback_forwarder_del(manager, EFL_UI_FOCUS_MANAGER_EVENT_REDIRECT_CHANGED, obj);
+ efl_event_callback_forwarder_del(manager, EFL_UI_FOCUS_MANAGER_EVENT_FOCUSED , obj);
+ efl_event_callback_forwarder_del(manager, EFL_UI_FOCUS_MANAGER_EVENT_COORDS_DIRTY, obj);
+}
+
+void
+_efl_ui_focus_manager_redirect_events_add(Efl_Ui_Focus_Manager *manager, Eo *obj)
+{
+ efl_event_callback_forwarder_add(manager, EFL_UI_FOCUS_MANAGER_EVENT_PRE_FLUSH, obj);
+ efl_event_callback_forwarder_add(manager, EFL_UI_FOCUS_MANAGER_EVENT_REDIRECT_CHANGED, obj);
+ efl_event_callback_forwarder_add(manager, EFL_UI_FOCUS_MANAGER_EVENT_FOCUSED , obj);
+ efl_event_callback_forwarder_add(manager, EFL_UI_FOCUS_MANAGER_EVENT_COORDS_DIRTY, obj);
+}
+
Eina_Bool
_elm_dangerous_call_check(const char *call)
{
);
efl_composite_attach(obj, manager);
+ _efl_ui_focus_manager_redirect_events_add(manager, obj);
}
obj = efl_constructor(efl_super(obj, MY_CLASS));
void _elm_win_wl_cursor_set(Evas_Object *obj, const char *cursor);
#endif
+void _efl_ui_focus_manager_redirect_events_del(Efl_Ui_Focus_Manager *manager, Eo *obj);
+void _efl_ui_focus_manager_redirect_events_add(Efl_Ui_Focus_Manager *manager, Eo *obj);
+
/* DEPRECATED, will be removed on next release */
void _elm_icon_signal_emit(Evas_Object *obj,
const char *emission,