forked from enlightenment/efl
efl_ui_focus_manager: rename a event
In eo there is a difference between legacy events and normal events. However, when a legacy event, that is called "focused" is emitted, the event EFL_UI_FOCUS_MANAGER_FOCUSED is emitted on those objects. This leads to bugs and unexpected results in elm_scroller, and additionally this problem blocks work that is done right now to add those "focused" event calls to gengrid. Differential Revision: https://phab.enlightenment.org/D7099
This commit is contained in:
parent
1b85d7d12f
commit
17b57ba5ac
|
@ -313,7 +313,7 @@ elm_main(int argc, char **argv)
|
||||||
elm_box_pack_end(vbx, bt);
|
elm_box_pack_end(vbx, bt);
|
||||||
|
|
||||||
elm_box_pack_end(bx, priv->list2);
|
elm_box_pack_end(bx, priv->list2);
|
||||||
efl_event_callback_add(priv->list2, EFL_UI_FOCUS_MANAGER_EVENT_FOCUSED, _focused ,priv);
|
efl_event_callback_add(priv->list2, EFL_UI_FOCUS_MANAGER_EVENT_FOCUS_CHANGED, _focused ,priv);
|
||||||
|
|
||||||
evas_object_event_callback_add(win, EVAS_CALLBACK_DEL, _cleanup_cb, priv);
|
evas_object_event_callback_add(win, EVAS_CALLBACK_DEL, _cleanup_cb, priv);
|
||||||
|
|
||||||
|
|
|
@ -165,7 +165,7 @@ interface Efl.Ui.Focus.Manager {
|
||||||
flush,pre: void; [[Emitted once the graph calculationg will be performed]]
|
flush,pre: void; [[Emitted once the graph calculationg will be performed]]
|
||||||
coords,dirty: void; [[Emitted once the graph is dirty, this means there are
|
coords,dirty: void; [[Emitted once the graph is dirty, this means there are
|
||||||
potential changes in border_elements you want to know about]]
|
potential changes in border_elements you want to know about]]
|
||||||
focused : Efl.Ui.Focus.Object; [[Emitted if the manager has focused an
|
focus,changed : Efl.Ui.Focus.Object; [[Emitted if the manager has focused an
|
||||||
object, the passed focus object is the last focused object]]
|
object, the passed focus object is the last focused object]]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1430,7 +1430,7 @@ _efl_ui_focus_manager_calc_efl_ui_focus_manager_manager_focus_set(Eo *obj, Efl_U
|
||||||
efl_ui_focus_object_focus_set(last_focusable, EINA_FALSE);
|
efl_ui_focus_object_focus_set(last_focusable, EINA_FALSE);
|
||||||
if (new_focusable)
|
if (new_focusable)
|
||||||
efl_ui_focus_object_focus_set(new_focusable, EINA_TRUE);
|
efl_ui_focus_object_focus_set(new_focusable, EINA_TRUE);
|
||||||
efl_event_callback_call(obj, EFL_UI_FOCUS_MANAGER_EVENT_FOCUSED, last_focusable);
|
efl_event_callback_call(obj, EFL_UI_FOCUS_MANAGER_EVENT_FOCUS_CHANGED, last_focusable);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1727,7 +1727,7 @@ _efl_ui_focus_manager_calc_efl_ui_focus_manager_reset_history(Eo *obj EINA_UNUSE
|
||||||
|
|
||||||
pd->focus_stack = eina_list_free(pd->focus_stack);
|
pd->focus_stack = eina_list_free(pd->focus_stack);
|
||||||
|
|
||||||
efl_event_callback_call(obj, EFL_UI_FOCUS_MANAGER_EVENT_FOCUSED, last_focusable);
|
efl_event_callback_call(obj, EFL_UI_FOCUS_MANAGER_EVENT_FOCUS_CHANGED, last_focusable);
|
||||||
}
|
}
|
||||||
|
|
||||||
EOLIAN static void
|
EOLIAN static void
|
||||||
|
@ -1768,7 +1768,7 @@ _efl_ui_focus_manager_calc_efl_ui_focus_manager_pop_history_stack(Eo *obj EINA_U
|
||||||
efl_ui_focus_manager_focus_set(obj, last->focusable);
|
efl_ui_focus_manager_focus_set(obj, last->focusable);
|
||||||
}
|
}
|
||||||
|
|
||||||
efl_event_callback_call(obj, EFL_UI_FOCUS_MANAGER_EVENT_FOCUSED, last_focusable);
|
efl_event_callback_call(obj, EFL_UI_FOCUS_MANAGER_EVENT_FOCUS_CHANGED, last_focusable);
|
||||||
}
|
}
|
||||||
|
|
||||||
EOLIAN static Efl_Ui_Focus_Object*
|
EOLIAN static Efl_Ui_Focus_Object*
|
||||||
|
|
|
@ -994,8 +994,8 @@ _legacy_focused(void *data, const Efl_Event *ev)
|
||||||
static void
|
static void
|
||||||
_legacy_manager_changed_cb(void *data EINA_UNUSED, const Efl_Event *ev)
|
_legacy_manager_changed_cb(void *data EINA_UNUSED, const Efl_Event *ev)
|
||||||
{
|
{
|
||||||
efl_event_callback_del(ev->info, EFL_UI_FOCUS_MANAGER_EVENT_FOCUSED, _legacy_focused, ev->object);
|
efl_event_callback_del(ev->info, EFL_UI_FOCUS_MANAGER_EVENT_FOCUS_CHANGED, _legacy_focused, ev->object);
|
||||||
efl_event_callback_add(efl_ui_focus_object_focus_manager_get(ev->object), EFL_UI_FOCUS_MANAGER_EVENT_FOCUSED, _legacy_focused, ev->object);
|
efl_event_callback_add(efl_ui_focus_object_focus_manager_get(ev->object), EFL_UI_FOCUS_MANAGER_EVENT_FOCUS_CHANGED, _legacy_focused, ev->object);
|
||||||
}
|
}
|
||||||
|
|
||||||
EOLIAN static Eo *
|
EOLIAN static Eo *
|
||||||
|
|
|
@ -687,7 +687,7 @@ _efl_ui_view_list_efl_object_constructor(Eo *obj, Efl_Ui_View_List_Data *pd)
|
||||||
|
|
||||||
pd->segarray = efl_add(EFL_UI_VIEW_LIST_SEGARRAY_CLASS, obj, efl_ui_view_list_segarray_setup(efl_added, 32));
|
pd->segarray = efl_add(EFL_UI_VIEW_LIST_SEGARRAY_CLASS, obj, efl_ui_view_list_segarray_setup(efl_added, 32));
|
||||||
|
|
||||||
efl_event_callback_add(obj, EFL_UI_FOCUS_MANAGER_EVENT_FOCUSED, _list_element_focused, NULL);
|
efl_event_callback_add(obj, EFL_UI_FOCUS_MANAGER_EVENT_FOCUS_CHANGED, _list_element_focused, NULL);
|
||||||
|
|
||||||
efl_ui_focus_composition_custom_manager_set(obj, obj);
|
efl_ui_focus_composition_custom_manager_set(obj, obj);
|
||||||
efl_ui_focus_composition_logical_mode_set(obj, EINA_TRUE);
|
efl_ui_focus_composition_logical_mode_set(obj, EINA_TRUE);
|
||||||
|
|
|
@ -1680,8 +1680,8 @@ _legacy_focused(void *data, const Efl_Event *ev)
|
||||||
static void
|
static void
|
||||||
_legacy_manager_changed_cb(void *data EINA_UNUSED, const Efl_Event *ev)
|
_legacy_manager_changed_cb(void *data EINA_UNUSED, const Efl_Event *ev)
|
||||||
{
|
{
|
||||||
efl_event_callback_del(ev->info, EFL_UI_FOCUS_MANAGER_EVENT_FOCUSED, _legacy_focused, ev->object);
|
efl_event_callback_del(ev->info, EFL_UI_FOCUS_MANAGER_EVENT_FOCUS_CHANGED, _legacy_focused, ev->object);
|
||||||
efl_event_callback_add(efl_ui_focus_object_focus_manager_get(ev->object), EFL_UI_FOCUS_MANAGER_EVENT_FOCUSED, _legacy_focused, ev->object);
|
efl_event_callback_add(efl_ui_focus_object_focus_manager_get(ev->object), EFL_UI_FOCUS_MANAGER_EVENT_FOCUS_CHANGED, _legacy_focused, ev->object);
|
||||||
}
|
}
|
||||||
|
|
||||||
EOLIAN static Eo *
|
EOLIAN static Eo *
|
||||||
|
|
|
@ -4272,7 +4272,7 @@ _elm_gengrid_efl_object_constructor(Eo *obj, Elm_Gengrid_Data *sd)
|
||||||
evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks);
|
evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks);
|
||||||
efl_access_object_role_set(obj, EFL_ACCESS_ROLE_TREE_TABLE);
|
efl_access_object_role_set(obj, EFL_ACCESS_ROLE_TREE_TABLE);
|
||||||
|
|
||||||
efl_event_callback_add(obj, EFL_UI_FOCUS_MANAGER_EVENT_FOCUSED, _gengrid_element_focused, obj);
|
efl_event_callback_add(obj, EFL_UI_FOCUS_MANAGER_EVENT_FOCUS_CHANGED, _gengrid_element_focused, obj);
|
||||||
|
|
||||||
return obj;
|
return obj;
|
||||||
}
|
}
|
||||||
|
|
|
@ -5924,7 +5924,7 @@ _elm_genlist_efl_object_constructor(Eo *obj, Elm_Genlist_Data *sd)
|
||||||
evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks);
|
evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks);
|
||||||
efl_access_object_role_set(obj, EFL_ACCESS_ROLE_LIST);
|
efl_access_object_role_set(obj, EFL_ACCESS_ROLE_LIST);
|
||||||
|
|
||||||
efl_event_callback_add(obj, EFL_UI_FOCUS_MANAGER_EVENT_FOCUSED, _genlist_element_focused, obj);
|
efl_event_callback_add(obj, EFL_UI_FOCUS_MANAGER_EVENT_FOCUS_CHANGED, _genlist_element_focused, obj);
|
||||||
|
|
||||||
return obj;
|
return obj;
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,7 +46,7 @@ _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_FLUSH_PRE, obj);
|
efl_event_callback_forwarder_del(manager, EFL_UI_FOCUS_MANAGER_EVENT_FLUSH_PRE, 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_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_FOCUS_CHANGED , obj);
|
||||||
efl_event_callback_forwarder_del(manager, EFL_UI_FOCUS_MANAGER_EVENT_COORDS_DIRTY, obj);
|
efl_event_callback_forwarder_del(manager, EFL_UI_FOCUS_MANAGER_EVENT_COORDS_DIRTY, obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -55,7 +55,7 @@ _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_FLUSH_PRE, obj);
|
efl_event_callback_forwarder_add(manager, EFL_UI_FOCUS_MANAGER_EVENT_FLUSH_PRE, 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_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_FOCUS_CHANGED , obj);
|
||||||
efl_event_callback_forwarder_add(manager, EFL_UI_FOCUS_MANAGER_EVENT_COORDS_DIRTY, obj);
|
efl_event_callback_forwarder_add(manager, EFL_UI_FOCUS_MANAGER_EVENT_COORDS_DIRTY, obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -888,7 +888,7 @@ _elm_scroller_efl_object_constructor(Eo *obj, Elm_Scroller_Data *_pd EINA_UNUSED
|
||||||
efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY);
|
efl_canvas_object_type_set(obj, MY_CLASS_NAME_LEGACY);
|
||||||
evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks);
|
evas_object_smart_callbacks_descriptions_set(obj, _smart_callbacks);
|
||||||
efl_access_object_role_set(obj, EFL_ACCESS_ROLE_SCROLL_PANE);
|
efl_access_object_role_set(obj, EFL_ACCESS_ROLE_SCROLL_PANE);
|
||||||
efl_event_callback_add(obj, EFL_UI_FOCUS_MANAGER_EVENT_FOCUSED, _focused_element, obj);
|
efl_event_callback_add(obj, EFL_UI_FOCUS_MANAGER_EVENT_FOCUS_CHANGED, _focused_element, obj);
|
||||||
return obj;
|
return obj;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue