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
This commit is contained in:
Yeongjong Lee 2018-01-16 21:17:11 +01:00 committed by Marcel Hollerbach
parent 9160bfe901
commit 210db8fc5d
26 changed files with 92 additions and 93 deletions

View File

@ -55,7 +55,6 @@ elm_public_eolian_files = \
lib/elementary/efl_ui_focus_manager_sub.eo \ lib/elementary/efl_ui_focus_manager_sub.eo \
lib/elementary/efl_ui_focus_manager_root_focus.eo \ lib/elementary/efl_ui_focus_manager_root_focus.eo \
lib/elementary/efl_ui_focus_object.eo \ lib/elementary/efl_ui_focus_object.eo \
lib/elementary/efl_ui_focus_user.eo \
lib/elementary/efl_ui_focus_layer.eo \ lib/elementary/efl_ui_focus_layer.eo \
lib/elementary/efl_ui_focus_composition.eo \ lib/elementary/efl_ui_focus_composition.eo \
lib/elementary/efl_ui_focus_util.eo \ lib/elementary/efl_ui_focus_util.eo \

View File

@ -136,12 +136,16 @@ extern EAPI double _efl_startup_time;
// EO types. Defined for legacy-only builds as legacy uses typedef of EO types. // EO types. Defined for legacy-only builds as legacy uses typedef of EO types.
#include "efl_ui.eot.h" #include "efl_ui.eot.h"
//define focus manager earlier since focus object and manager is circular
typedef Eo Efl_Ui_Focus_Manager;
#define _EFL_UI_FOCUS_MANAGER_EO_CLASS_TYPE
# include <efl_ui_focus_object.eo.h> # include <efl_ui_focus_object.eo.h>
# include <efl_ui_focus_manager.eo.h> # include <efl_ui_focus_manager.eo.h>
# include <efl_ui_focus_manager_calc.eo.h> # include <efl_ui_focus_manager_calc.eo.h>
# include <efl_ui_focus_manager_sub.eo.h> # include <efl_ui_focus_manager_sub.eo.h>
# include <efl_ui_focus_manager_root_focus.eo.h> # include <efl_ui_focus_manager_root_focus.eo.h>
# include <efl_ui_focus_user.eo.h> # include <efl_ui_focus_util.eo.h>
# include <efl_ui_textpath.eo.h> # include <efl_ui_textpath.eo.h>
# include <efl_ui_translatable.eo.h> # include <efl_ui_translatable.eo.h>
# include <efl_ui_focus_composition.eo.h> # include <efl_ui_focus_composition.eo.h>

View File

@ -148,12 +148,16 @@ EAPI extern Elm_Version *elm_version;
#include <elm_focus.h> #include <elm_focus.h>
#if defined (EFL_EO_API_SUPPORT) && defined (EFL_BETA_API_SUPPORT) #if defined (EFL_EO_API_SUPPORT) && defined (EFL_BETA_API_SUPPORT)
//define focus manager earlier since focus object and manager is circular
typedef Eo Efl_Ui_Focus_Manager;
#define _EFL_UI_FOCUS_MANAGER_EO_CLASS_TYPE
# include <efl_ui_focus_object.eo.h> # include <efl_ui_focus_object.eo.h>
# include <efl_ui_focus_manager.eo.h> # include <efl_ui_focus_manager.eo.h>
# include <efl_ui_focus_manager_calc.eo.h> # include <efl_ui_focus_manager_calc.eo.h>
# include <efl_ui_focus_manager_sub.eo.h> # include <efl_ui_focus_manager_sub.eo.h>
# include <efl_ui_focus_manager_root_focus.eo.h> # include <efl_ui_focus_manager_root_focus.eo.h>
# include <efl_ui_focus_user.eo.h>
# include <efl_ui_focus_util.eo.h> # include <efl_ui_focus_util.eo.h>
# include <efl_ui_textpath.eo.h> # include <efl_ui_textpath.eo.h>
# include <efl_ui_translatable.eo.h> # include <efl_ui_translatable.eo.h>

View File

@ -59,7 +59,7 @@ _efl_ui_focus_layer_efl_object_destructor(Eo *obj, Efl_Ui_Focus_Layer_Data *pd E
} }
EOLIAN static Efl_Ui_Focus_Manager* EOLIAN static Efl_Ui_Focus_Manager*
_efl_ui_focus_layer_efl_ui_focus_user_focus_manager_get(Eo *obj, Efl_Ui_Focus_Layer_Data *pd EINA_UNUSED) _efl_ui_focus_layer_efl_ui_focus_object_focus_manager_get(Eo *obj, Efl_Ui_Focus_Layer_Data *pd EINA_UNUSED)
{ {
return elm_widget_top_get(obj); return elm_widget_top_get(obj);
} }

View File

@ -25,7 +25,7 @@ mixin Efl.Ui.Focus.Layer (Efl.Interface, Efl.Ui.Widget, Efl.Gfx, Efl.Ui.Focus.Ma
Efl.Ui.Widget.focus_state_apply; Efl.Ui.Widget.focus_state_apply;
Efl.Gfx.visible {set;} Efl.Gfx.visible {set;}
Efl.Ui.Focus.Manager.move; Efl.Ui.Focus.Manager.move;
Efl.Ui.Focus.User.focus_manager { get; } Efl.Ui.Focus.Object.focus_manager { get; }
Efl.Object.constructor; Efl.Object.constructor;
Efl.Object.destructor; Efl.Object.destructor;
} }

View File

@ -86,12 +86,12 @@ _manager_in_chain_set(Eo *obj, Efl_Ui_Focus_Manager_Calc_Data *pd)
EINA_SAFETY_ON_NULL_RETURN(pd->root); EINA_SAFETY_ON_NULL_RETURN(pd->root);
if (!efl_isa(pd->root->focusable, EFL_UI_WIN_CLASS)) if (!efl_isa(pd->root->focusable, EFL_UI_WIN_CLASS))
EINA_SAFETY_ON_NULL_RETURN(efl_ui_focus_user_focus_manager_get(pd->root->focusable)); EINA_SAFETY_ON_NULL_RETURN(efl_ui_focus_object_focus_manager_get(pd->root->focusable));
//so we dont run infinitly this does not fix it, but at least we only have a error //so we dont run infinitly this does not fix it, but at least we only have a error
EINA_SAFETY_ON_TRUE_RETURN(efl_ui_focus_user_focus_manager_get(pd->root->focusable) == obj); EINA_SAFETY_ON_TRUE_RETURN(efl_ui_focus_object_focus_manager_get(pd->root->focusable) == obj);
manager = efl_ui_focus_user_focus_manager_get(pd->root->focusable); manager = efl_ui_focus_object_focus_manager_get(pd->root->focusable);
if (manager) if (manager)
efl_ui_focus_manager_focus_set(manager, pd->root->focusable); efl_ui_focus_manager_focus_set(manager, pd->root->focusable);
else else

View File

@ -49,7 +49,7 @@ _border_flush(Eo *obj, Efl_Ui_Focus_Manager_Sub_Data *pd)
Efl_Ui_Focus_Object *node, *logical; Efl_Ui_Focus_Object *node, *logical;
Efl_Ui_Focus_Manager *manager; Efl_Ui_Focus_Manager *manager;
manager = efl_ui_focus_user_focus_manager_get(obj); manager = efl_ui_focus_object_focus_manager_get(obj);
logical = obj; logical = obj;
borders = efl_ui_focus_manager_border_elements_get(obj); borders = efl_ui_focus_manager_border_elements_get(obj);
@ -90,7 +90,7 @@ _border_unregister(Eo *obj, Efl_Ui_Focus_Manager_Sub_Data *pd)
Efl_Ui_Focus_Object *node; Efl_Ui_Focus_Object *node;
Efl_Ui_Focus_Manager *manager; Efl_Ui_Focus_Manager *manager;
manager = efl_ui_focus_user_focus_manager_get(obj); manager = efl_ui_focus_object_focus_manager_get(obj);
EINA_LIST_FREE(pd->current_border, node) EINA_LIST_FREE(pd->current_border, node)
{ {
if (node == obj) continue; if (node == obj) continue;
@ -135,12 +135,12 @@ _logical_manager_change(void *data EINA_UNUSED, const Efl_Event *ev)
{ {
MY_DATA(data, pd); MY_DATA(data, pd);
Eina_List *n; Eina_List *n;
Efl_Ui_Focus_User *b; Efl_Ui_Focus_Object *b;
Efl_Ui_Focus_Manager *manager; Efl_Ui_Focus_Manager *manager;
if (!ev->info) return; if (!ev->info) return;
manager = efl_ui_focus_user_focus_manager_get(ev->object); manager = efl_ui_focus_object_focus_manager_get(ev->object);
EINA_LIST_FOREACH(pd->current_border, n, b) EINA_LIST_FOREACH(pd->current_border, n, b)
{ {
if (b == ev->object) continue; if (b == ev->object) continue;
@ -153,11 +153,11 @@ _flush_manager(Eo *obj, Efl_Ui_Focus_Manager_Sub_Data *pd)
{ {
Efl_Ui_Focus_Manager *manager; Efl_Ui_Focus_Manager *manager;
Efl_Ui_Focus_Object *logical; Efl_Ui_Focus_Object *logical;
Efl_Ui_Focus_User *b; Efl_Ui_Focus_Object *b;
Eina_List *n; Eina_List *n;
logical = efl_ui_focus_user_focus_parent_get(obj); logical = efl_ui_focus_object_focus_parent_get(obj);
manager = efl_ui_focus_user_focus_manager_get(obj); manager = efl_ui_focus_object_focus_manager_get(obj);
//unregister from the old //unregister from the old
if (pd->manager) efl_event_callback_array_del(pd->manager, parent_manager(), obj); 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)
EFL_CALLBACKS_ARRAY_DEFINE(self_manager, EFL_CALLBACKS_ARRAY_DEFINE(self_manager,
{EFL_UI_FOCUS_MANAGER_EVENT_COORDS_DIRTY, _self_manager_dirty}, {EFL_UI_FOCUS_MANAGER_EVENT_COORDS_DIRTY, _self_manager_dirty},
{EFL_UI_FOCUS_USER_EVENT_LOGICAL_CHANGED, _logical_manager_change}, {EFL_UI_FOCUS_OBJECT_EVENT_LOGICAL_CHANGED, _logical_manager_change},
{EFL_UI_FOCUS_USER_EVENT_MANAGER_CHANGED, _manager_change} {EFL_UI_FOCUS_OBJECT_EVENT_MANAGER_CHANGED, _manager_change}
); );
EOLIAN static Efl_Object* EOLIAN static Efl_Object*

View File

@ -3,7 +3,7 @@ mixin Efl.Ui.Focus.Manager.Sub (Efl.Interface, Efl.Ui.Focus.Manager, Efl.Object)
[[A class that automatically registeres its border elements in the parent manager [[A class that automatically registeres its border elements in the parent manager
This sub manager will register its border elements on the parent manager. This sub manager will register its border elements on the parent manager.
The parent manager is found with the @Efl.Ui.Focus.User interface of the The parent manager is found with the @Efl.Ui.Focus.Object interface of the
@Efl.Object.parent. @Efl.Object.parent.
Each sub manager also has to be a focus object, the object itself will be Each sub manager also has to be a focus object, the object itself will be

View File

@ -28,4 +28,3 @@ _efl_ui_focus_object_focus_get(Eo *obj EINA_UNUSED, Efl_Ui_Focus_Object_Data *pd
#include "efl_ui_focus_object.eo.c" #include "efl_ui_focus_object.eo.c"
#include "efl_ui_focus_user.eo.c"

View File

@ -36,6 +36,25 @@ mixin Efl.Ui.Focus.Object
focus : bool; [[The state in which the object should be put]] focus : bool; [[The state in which the object should be put]]
} }
} }
@property focus_manager {
[[Describes which manager is used to register.
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.
This instance should be registered with its own manager as redirect.
]]
get {}
values {
manager : Efl.Ui.Focus.Manager; [[The manager object]]
}
}
@property focus_parent {
[[Describes which logical parent is used by this object.]]
get {}
values {
logical_parent : Efl.Ui.Focus.Object; [[The focus parent.]]
}
}
prepare_logical { prepare_logical {
[[Tells the object that its children will be queried soon by the given manager. [[Tells the object that its children will be queried soon by the given manager.
@ -46,8 +65,14 @@ mixin Efl.Ui.Focus.Object
implements { implements {
@empty .focus_geometry; @empty .focus_geometry;
@empty .prepare_logical; @empty .prepare_logical;
@empty .focus_manager;
@empty .focus_parent;
} }
events { events {
focus,changed : bool; [[Emitted if the focus state has changed]] focus,changed : bool; [[Emitted if the focus state has changed]]
manager,changed: Efl.Ui.Focus.Manager; [[Emitted when a new manager is
the parent for this object.]]
logical,changed: Efl.Ui.Focus.Object; [[Emitted when a new logical
parent should be used.]]
} }
} }

View File

@ -1,32 +0,0 @@
interface Efl.Ui.Focus.User {
[[Interface which is used to handle the manager of a user.
@since 1.20
]]
methods {
@property focus_manager {
[[Describes which manager is used to register.
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.
This instance should be registered with its own manager as redirect.
]]
get {}
values {
manager : Efl.Ui.Focus.Manager; [[The manager object]]
}
}
@property focus_parent {
[[Describes which logical parent is used by this object.]]
get {}
values {
logical_parent : Efl.Ui.Focus.Object; [[The focus parent.]]
}
}
}
events {
manager,changed: Efl.Ui.Focus.Manager; [[Emitted when a new manager is
the parent for this object.]]
logical,changed: Efl.Ui.Focus.Object; [[Emitted when a new logical
parent should be used.]]
}
}

View File

@ -16,23 +16,23 @@ _manager_changed(void *data, const Efl_Event *event EINA_UNUSED)
} }
EOLIAN static void EOLIAN static void
_efl_ui_focus_util_focus(Eo *obj EINA_UNUSED, void *pd EINA_UNUSED, Efl_Ui_Focus_User *user) _efl_ui_focus_util_focus(Eo *obj EINA_UNUSED, void *pd EINA_UNUSED, Efl_Ui_Focus_Object *user)
{ {
Efl_Ui_Widget *top, *o; Efl_Ui_Widget *top, *o;
Efl_Ui_Focus_Manager *m; Efl_Ui_Focus_Manager *m;
m = efl_ui_focus_user_focus_manager_get(user); m = efl_ui_focus_object_focus_manager_get(user);
top = elm_widget_top_get(user); top = elm_widget_top_get(user);
o = efl_key_data_get(top, "__delayed_focus_set"); o = efl_key_data_get(top, "__delayed_focus_set");
if (o) efl_event_callback_del(o, EFL_UI_FOCUS_USER_EVENT_MANAGER_CHANGED, _manager_changed, o); if (o) efl_event_callback_del(o, EFL_UI_FOCUS_OBJECT_EVENT_MANAGER_CHANGED, _manager_changed, o);
efl_key_data_set(top, "__delayed_focus_set", NULL); efl_key_data_set(top, "__delayed_focus_set", NULL);
if (!m) if (!m)
{ {
//delayed focusung //delayed focusung
efl_key_data_set(top, "__delayed_focus_set", user); efl_key_data_set(top, "__delayed_focus_set", user);
efl_event_callback_add(user, EFL_UI_FOCUS_USER_EVENT_MANAGER_CHANGED, _manager_changed, user); efl_event_callback_add(user, EFL_UI_FOCUS_OBJECT_EVENT_MANAGER_CHANGED, _manager_changed, user);
return; return;
} }

View File

@ -1677,7 +1677,7 @@ 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_FOCUSED, _legacy_focused, ev->object);
efl_event_callback_add(efl_ui_focus_user_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_FOCUSED, _legacy_focused, ev->object);
} }
EOLIAN static Eo * EOLIAN static Eo *
@ -1689,7 +1689,7 @@ _efl_ui_multibuttonentry_efl_object_constructor(Eo *obj, Efl_Ui_Multibuttonentry
efl_access_role_set(obj, EFL_ACCESS_ROLE_PANEL); efl_access_role_set(obj, EFL_ACCESS_ROLE_PANEL);
//listen to manager changes here //listen to manager changes here
efl_event_callback_add(obj, EFL_UI_FOCUS_USER_EVENT_MANAGER_CHANGED, _legacy_manager_changed_cb, NULL); efl_event_callback_add(obj, EFL_UI_FOCUS_OBJECT_EVENT_MANAGER_CHANGED, _legacy_manager_changed_cb, NULL);
return obj; return obj;
} }

View File

@ -313,7 +313,7 @@ _focus_manager_eval(Eo *obj, Elm_Widget_Smart_Data *pd)
} }
else if (parent) else if (parent)
{ {
new = efl_ui_focus_user_focus_manager_get(parent); new = efl_ui_focus_object_focus_manager_get(parent);
provider = parent; provider = parent;
} }
@ -322,13 +322,13 @@ _focus_manager_eval(Eo *obj, Elm_Widget_Smart_Data *pd)
old = pd->manager.manager; old = pd->manager.manager;
if (pd->manager.provider) if (pd->manager.provider)
efl_event_callback_del(pd->manager.provider, EFL_UI_FOCUS_USER_EVENT_MANAGER_CHANGED, _manager_changed_cb, obj); efl_event_callback_del(pd->manager.provider, EFL_UI_FOCUS_OBJECT_EVENT_MANAGER_CHANGED, _manager_changed_cb, obj);
pd->manager.manager = new; pd->manager.manager = new;
pd->manager.provider = provider; pd->manager.provider = provider;
if (pd->manager.provider) if (pd->manager.provider)
efl_event_callback_add(pd->manager.provider, EFL_UI_FOCUS_USER_EVENT_MANAGER_CHANGED, _manager_changed_cb, obj); efl_event_callback_add(pd->manager.provider, EFL_UI_FOCUS_OBJECT_EVENT_MANAGER_CHANGED, _manager_changed_cb, obj);
} }
return old; return old;
@ -541,13 +541,13 @@ _full_eval(Eo *obj, Elm_Widget_Smart_Data *pd)
if (old_registered_parent != pd->focus.parent) if (old_registered_parent != pd->focus.parent)
{ {
efl_event_callback_call(obj, efl_event_callback_call(obj,
EFL_UI_FOCUS_USER_EVENT_LOGICAL_CHANGED, old_registered_parent); EFL_UI_FOCUS_OBJECT_EVENT_LOGICAL_CHANGED, old_registered_parent);
} }
if (old_registered_manager != pd->focus.manager) if (old_registered_manager != pd->focus.manager)
{ {
efl_event_callback_call(obj, efl_event_callback_call(obj,
EFL_UI_FOCUS_USER_EVENT_MANAGER_CHANGED, old_registered_manager); EFL_UI_FOCUS_OBJECT_EVENT_MANAGER_CHANGED, old_registered_manager);
} }
} }
@ -5200,7 +5200,7 @@ _efl_ui_widget_efl_object_destructor(Eo *obj, Elm_Widget_Smart_Data *sd)
{ {
if (sd->manager.provider) if (sd->manager.provider)
{ {
efl_event_callback_del(sd->manager.provider, EFL_UI_FOCUS_USER_EVENT_MANAGER_CHANGED, _manager_changed_cb, obj); efl_event_callback_del(sd->manager.provider, EFL_UI_FOCUS_OBJECT_EVENT_MANAGER_CHANGED, _manager_changed_cb, obj);
sd->manager.provider = NULL; sd->manager.provider = NULL;
} }
efl_access_attributes_clear(obj); efl_access_attributes_clear(obj);
@ -5494,13 +5494,13 @@ _efl_ui_widget_efl_object_provider_find(const Eo *obj, Elm_Widget_Smart_Data *pd
} }
EOLIAN static Efl_Ui_Focus_Manager* EOLIAN static Efl_Ui_Focus_Manager*
_efl_ui_widget_efl_ui_focus_user_focus_parent_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *pd EINA_UNUSED) _efl_ui_widget_efl_ui_focus_object_focus_parent_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *pd EINA_UNUSED)
{ {
return pd->focus.parent; return pd->focus.parent;
} }
EOLIAN static Efl_Ui_Focus_Manager* EOLIAN static Efl_Ui_Focus_Manager*
_efl_ui_widget_efl_ui_focus_user_focus_manager_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *pd EINA_UNUSED) _efl_ui_widget_efl_ui_focus_object_focus_manager_get(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *pd EINA_UNUSED)
{ {
return pd->focus.manager; return pd->focus.manager;
} }

View File

@ -9,15 +9,15 @@ function Efl.Ui.Scrollable_On_Show_Region {
struct Efl.Ui.Widget.Focus_State { struct Efl.Ui.Widget.Focus_State {
[[All relevant fields needed for the current state of focus registeration]] [[All relevant fields needed for the current state of focus registeration]]
manager : Efl.Ui.Focus.Manager; [[The manager where the widget is registered in]] manager : Efl.Ui.Focus.Manager; [[The manager where the widget is registered in]]
parent : Efl.Ui.Focus.User; [[The parent the widget is using as logical parent]] parent : Efl.Ui.Focus.Object; [[The parent the widget is using as logical parent]]
logical : bool; [[$true if this is registered as logical currently]] logical : bool; [[$true if this is registered as logical currently]]
} }
/* ATTENTION: Rename to Efl.Ui.Widget is imminent. */ /* ATTENTION: Rename to Efl.Ui.Widget is imminent. */
abstract Efl.Ui.Widget (Efl.Canvas.Group, Efl.Access, abstract Efl.Ui.Widget (Efl.Canvas.Group, Efl.Access,
Efl.Access.Component, Efl.Ui.Focus.User, Efl.Part, Efl.Access.Component, Efl.Part, Efl.Ui.Focus.Object,
Efl.Ui.Focus.Object, Efl.Ui.Base, Efl.Ui.Cursor, Efl.Ui.Base, Efl.Ui.Cursor, Efl.Ui.Translatable,
Efl.Ui.Translatable, Efl.Selection, Efl.Ui.Dnd) Efl.Selection, Efl.Ui.Dnd)
{ {
[[Efl UI widget abstract class]] [[Efl UI widget abstract class]]
legacy_prefix: elm_widget; legacy_prefix: elm_widget;
@ -598,8 +598,8 @@ abstract Efl.Ui.Widget (Efl.Canvas.Group, Efl.Access,
Efl.Access.parent { get; } Efl.Access.parent { get; }
Efl.Access.attributes { get; } Efl.Access.attributes { get; }
Efl.Access.Component.focus_grab; Efl.Access.Component.focus_grab;
Efl.Ui.Focus.User.focus_manager { get; } Efl.Ui.Focus.Object.focus_manager { get; }
Efl.Ui.Focus.User.focus_parent { get; } Efl.Ui.Focus.Object.focus_parent { get; }
Efl.Ui.Focus.Object.focus_geometry { get; } Efl.Ui.Focus.Object.focus_geometry { get; }
Efl.Ui.Focus.Object.focus { set; } Efl.Ui.Focus.Object.focus { set; }
Efl.Ui.Base.mirrored { get; set; } Efl.Ui.Base.mirrored { get; set; }

View File

@ -117,7 +117,7 @@ _focus_chain_update(Eo *obj, Elm_Fileselector_Data *pd)
#undef A #undef A
efl_ui_focus_manager_calc_update_order(efl_ui_focus_user_focus_manager_get(obj), obj, tmp); efl_ui_focus_manager_calc_update_order(efl_ui_focus_object_focus_manager_get(obj), obj, tmp);
} }
static void static void

View File

@ -92,7 +92,7 @@ _prev_page_focus_recover(Elm_Naviframe_Item_Data *it)
{ {
Elm_Naviframe *n = it->base->widget; Elm_Naviframe *n = it->base->widget;
efl_ui_focus_manager_focus_set(efl_ui_focus_user_focus_manager_get(n), n); efl_ui_focus_manager_focus_set(efl_ui_focus_object_focus_manager_get(n), n);
} }
EOLIAN static void EOLIAN static void

View File

@ -537,7 +537,7 @@ _access_highlight_next_get(Evas_Object *obj, Elm_Focus_Direction dir)
{ {
Efl_Ui_Focus_Relations *rel; Efl_Ui_Focus_Relations *rel;
rel = efl_ui_focus_manager_fetch(efl_ui_focus_user_focus_manager_get(obj), obj); rel = efl_ui_focus_manager_fetch(efl_ui_focus_object_focus_manager_get(obj), obj);
if (rel) if (rel)
{ {

View File

@ -664,7 +664,7 @@ _elm_hover_efl_gfx_visible_set(Eo *obj, Elm_Hover_Data *pd, Eina_Bool vis)
{ {
_hov_show_do(obj); _hov_show_do(obj);
//we just set ourself as redirect in the next upper manager //we just set ourself as redirect in the next upper manager
pd->redirected = efl_ui_focus_user_focus_manager_get(pd->target); pd->redirected = efl_ui_focus_object_focus_manager_get(pd->target);
efl_ui_focus_manager_redirect_set(pd->redirected, obj); efl_ui_focus_manager_redirect_set(pd->redirected, obj);
} }
else else

View File

@ -1586,13 +1586,13 @@ elm_object_focus_get(const Evas_Object *obj)
if (!elm_widget_is(obj)) if (!elm_widget_is(obj))
return evas_object_focus_get(obj); return evas_object_focus_get(obj);
m = efl_ui_focus_user_focus_manager_get(obj); m = efl_ui_focus_object_focus_manager_get(obj);
//no manager means not registered //no manager means not registered
if (!m) return EINA_FALSE; if (!m) return EINA_FALSE;
//assertion: our redirect manager m is in the redirect chain //assertion: our redirect manager m is in the redirect chain
m = efl_ui_focus_user_focus_manager_get(obj); m = efl_ui_focus_object_focus_manager_get(obj);
//if obj is the redriect manager its kind of focused //if obj is the redriect manager its kind of focused
if (efl_ui_focus_manager_redirect_get(m) == obj) return EINA_TRUE; if (efl_ui_focus_manager_redirect_get(m) == obj) return EINA_TRUE;
@ -1607,7 +1607,7 @@ elm_object_focus_get(const Evas_Object *obj)
{ {
if (focused_child == obj) return EINA_TRUE; if (focused_child == obj) return EINA_TRUE;
focused_child = efl_ui_focus_user_focus_parent_get(focused_child); focused_child = efl_ui_focus_object_focus_parent_get(focused_child);
} }
return efl_ui_focus_object_focus_get(obj); return efl_ui_focus_object_focus_get(obj);
@ -1635,8 +1635,8 @@ elm_object_focus_set(Evas_Object *obj,
efl_ui_focus_util_focus(EFL_UI_FOCUS_UTIL_CLASS, obj); efl_ui_focus_util_focus(EFL_UI_FOCUS_UTIL_CLASS, obj);
else else
{ {
if (efl_ui_focus_manager_focus_get(efl_ui_focus_user_focus_manager_get(obj)) == obj) if (efl_ui_focus_manager_focus_get(efl_ui_focus_object_focus_manager_get(obj)) == obj)
efl_ui_focus_manager_pop_history_stack(efl_ui_focus_user_focus_manager_get(obj)); efl_ui_focus_manager_pop_history_stack(efl_ui_focus_object_focus_manager_get(obj));
} }
} }
else else

View File

@ -660,7 +660,7 @@ _toggle_entry(Evas_Object *obj)
efl_ui_focus_composition_elements_set(obj, items); efl_ui_focus_composition_elements_set(obj, items);
} }
efl_ui_focus_manager_focus_set(efl_ui_focus_user_focus_manager_get(obj), sd->ent); efl_ui_focus_manager_focus_set(efl_ui_focus_object_focus_manager_get(obj), sd->ent);
} }
} }

View File

@ -439,7 +439,7 @@ typedef struct _Elm_Widget_Smart_Data
} logical; } logical;
struct { struct {
Efl_Ui_Focus_Manager *manager; Efl_Ui_Focus_Manager *manager;
Efl_Ui_Focus_User *provider; Efl_Ui_Focus_Object *provider;
} manager; } manager;
Eina_Bool scroll_x_locked : 1; Eina_Bool scroll_x_locked : 1;

View File

@ -101,13 +101,13 @@ _focus_test_efl_gfx_geometry_get(Eo *obj EINA_UNUSED, Focus_Test_Data *pd)
} }
EOLIAN static Efl_Ui_Focus_Manager* EOLIAN static Efl_Ui_Focus_Manager*
_focus_test_efl_ui_focus_user_focus_manager_get(Eo *obj EINA_UNUSED, Focus_Test_Data *pd) _focus_test_efl_ui_focus_object_focus_manager_get(Eo *obj EINA_UNUSED, Focus_Test_Data *pd)
{ {
return pd->manager; return pd->manager;
} }
EOLIAN static Efl_Ui_Focus_Object* EOLIAN static Efl_Ui_Focus_Object*
_focus_test_efl_ui_focus_user_focus_parent_get(Eo *obj, Focus_Test_Data *pd EINA_UNUSED) _focus_test_efl_ui_focus_object_focus_parent_get(Eo *obj, Focus_Test_Data *pd EINA_UNUSED)
{ {
return efl_parent_get(obj); return efl_parent_get(obj);
} }

View File

@ -13,13 +13,13 @@ _focus_test_sub_main_efl_ui_focus_object_focus_geometry_get(Eo *obj EINA_UNUSED,
} }
EOLIAN static Efl_Ui_Focus_Manager* EOLIAN static Efl_Ui_Focus_Manager*
_focus_test_sub_main_efl_ui_focus_user_focus_manager_get(Eo *obj, Focus_Test_Sub_Main_Data *pd EINA_UNUSED) _focus_test_sub_main_efl_ui_focus_object_focus_manager_get(Eo *obj, Focus_Test_Sub_Main_Data *pd EINA_UNUSED)
{ {
return efl_key_data_get(obj, "__user_manager"); return efl_key_data_get(obj, "__user_manager");
} }
EOLIAN static Efl_Ui_Focus_Object* EOLIAN static Efl_Ui_Focus_Object*
_focus_test_sub_main_efl_ui_focus_user_focus_parent_get(Eo *obj, Focus_Test_Sub_Main_Data *pd EINA_UNUSED) _focus_test_sub_main_efl_ui_focus_object_focus_parent_get(Eo *obj, Focus_Test_Sub_Main_Data *pd EINA_UNUSED)
{ {
return efl_key_data_get(obj, "__user_parent"); return efl_key_data_get(obj, "__user_parent");
} }
@ -96,7 +96,7 @@ _setup(Efl_Ui_Focus_Manager **m, Efl_Ui_Focus_Manager_Sub **sub, Efl_Ui_Focus_Ob
efl_composite_attach(focus_main, subm); efl_composite_attach(focus_main, subm);
efl_event_callback_call(focus_main, EFL_UI_FOCUS_USER_EVENT_MANAGER_CHANGED, NULL); efl_event_callback_call(focus_main, EFL_UI_FOCUS_OBJECT_EVENT_MANAGER_CHANGED, NULL);
efl_ui_focus_manager_calc_register_logical(manager, focus_main, root_manager, subm); efl_ui_focus_manager_calc_register_logical(manager, focus_main, root_manager, subm);

View File

@ -1,4 +1,4 @@
class Focus.Test(Efl.Object, Efl.Ui.Focus.Object, Efl.Ui.Focus.User, Efl.Gfx) { class Focus.Test(Efl.Object, Efl.Ui.Focus.Object, Efl.Gfx) {
methods { methods {
size { size {
params { params {
@ -18,8 +18,8 @@ class Focus.Test(Efl.Object, Efl.Ui.Focus.Object, Efl.Ui.Focus.User, Efl.Gfx) {
Efl.Object.constructor; Efl.Object.constructor;
Efl.Ui.Focus.Object.focus_geometry { get; } Efl.Ui.Focus.Object.focus_geometry { get; }
Efl.Ui.Focus.Object.focus { set; } Efl.Ui.Focus.Object.focus { set; }
Efl.Ui.Focus.User.focus_manager { get; } Efl.Ui.Focus.Object.focus_manager { get; }
Efl.Ui.Focus.User.focus_parent {get; } Efl.Ui.Focus.Object.focus_parent {get; }
Efl.Gfx.geometry { get; } Efl.Gfx.geometry { get; }
} }
} }

View File

@ -1,7 +1,7 @@
class Focus.Test.Sub.Main(Efl.Object, Efl.Ui.Focus.User, Efl.Ui.Focus.Object, Efl.Ui.Focus.Manager.Sub) { class Focus.Test.Sub.Main(Efl.Object, Efl.Ui.Focus.Object, Efl.Ui.Focus.Manager.Sub) {
implements { implements {
Efl.Ui.Focus.User.focus_manager { get; } Efl.Ui.Focus.Object.focus_manager { get; }
Efl.Ui.Focus.User.focus_parent { get; } Efl.Ui.Focus.Object.focus_parent { get; }
Efl.Ui.Focus.Object.focus_geometry { get; } Efl.Ui.Focus.Object.focus_geometry { get; }
} }
} }