forked from enlightenment/efl
efl_ui_focus_manager: improve debug informations
This commit is contained in:
parent
9021c752cb
commit
08d104498c
|
@ -11,9 +11,11 @@ struct Efl.Ui.Focus.Relations {
|
||||||
down : list<Efl.Ui.Focus.Object>; [[[List of objects below]]
|
down : list<Efl.Ui.Focus.Object>; [[[List of objects below]]
|
||||||
next : Efl.Ui.Focus.Object; [[[Next object]]
|
next : Efl.Ui.Focus.Object; [[[Next object]]
|
||||||
prev : Efl.Ui.Focus.Object; [[Previous object]]
|
prev : Efl.Ui.Focus.Object; [[Previous object]]
|
||||||
type : string; [[Object type]]
|
|
||||||
parent : Efl.Ui.Focus.Object; [[Parent object]]
|
parent : Efl.Ui.Focus.Object; [[Parent object]]
|
||||||
redirect : Efl.Ui.Focus.Manager; [[Redirect manager]]
|
redirect : Efl.Ui.Focus.Manager; [[Redirect manager]]
|
||||||
|
node : Efl.Ui.Focus.Object; [[The node where this is the information from]]
|
||||||
|
logical : bool; [[true if this node is only logical]]
|
||||||
|
position_in_history : int; [[The position in the history stack]]
|
||||||
}
|
}
|
||||||
|
|
||||||
struct Efl.Ui.Focus.Manager.Logical_End_Detail {
|
struct Efl.Ui.Focus.Manager.Logical_End_Detail {
|
||||||
|
|
|
@ -1597,15 +1597,12 @@ _efl_ui_focus_manager_calc_efl_ui_focus_manager_fetch(Eo *obj, Efl_Ui_Focus_Mana
|
||||||
res->down = DIR_CLONE(EFL_UI_FOCUS_DIRECTION_DOWN);
|
res->down = DIR_CLONE(EFL_UI_FOCUS_DIRECTION_DOWN);
|
||||||
res->next = (tmp = _next(n)) ? tmp->focusable : NULL;
|
res->next = (tmp = _next(n)) ? tmp->focusable : NULL;
|
||||||
res->prev = (tmp = _prev(n)) ? tmp->focusable : NULL;
|
res->prev = (tmp = _prev(n)) ? tmp->focusable : NULL;
|
||||||
switch(n->type)
|
res->position_in_history = eina_list_data_idx(pd->focus_stack, n);
|
||||||
{
|
res->node = child;
|
||||||
case NODE_TYPE_ONLY_LOGICAL:
|
|
||||||
res->type = "logical";
|
res->logical = (n->type == NODE_TYPE_ONLY_LOGICAL);
|
||||||
break;
|
|
||||||
case NODE_TYPE_NORMAL:
|
if (T(n).parent)
|
||||||
res->type = "normal";
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
res->parent = T(n).parent->focusable;
|
res->parent = T(n).parent->focusable;
|
||||||
res->redirect = n->redirect_manager;
|
res->redirect = n->redirect_manager;
|
||||||
#undef DIR_CLONE
|
#undef DIR_CLONE
|
||||||
|
@ -1690,5 +1687,28 @@ _efl_ui_focus_manager_calc_efl_ui_focus_manager_request_subchild(Eo *obj, Efl_Ui
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EOLIAN static void
|
||||||
|
_efl_ui_focus_manager_calc_efl_object_dbg_info_get(Eo *obj, Efl_Ui_Focus_Manager_Calc_Data *pd, Efl_Dbg_Info *root)
|
||||||
|
{
|
||||||
|
efl_dbg_info_get(efl_super(obj, MY_CLASS), root);
|
||||||
|
Efl_Dbg_Info *append, *group = EFL_DBG_INFO_LIST_APPEND(root, "Efl.Ui.Focus.Manager");
|
||||||
|
Eina_Iterator *iter;
|
||||||
|
Eina_Value *list;
|
||||||
|
Node *node;
|
||||||
|
|
||||||
|
list = eina_value_list_new(EINA_VALUE_TYPE_UINT64);
|
||||||
|
|
||||||
|
append = EFL_DBG_INFO_LIST_APPEND(group, "children");
|
||||||
|
|
||||||
|
iter = eina_hash_iterator_data_new(pd->node_hash);
|
||||||
|
EINA_ITERATOR_FOREACH(iter, node)
|
||||||
|
{
|
||||||
|
EFL_DBG_INFO_APPEND(append, "-", EINA_VALUE_TYPE_UINT64, node->focusable);
|
||||||
|
}
|
||||||
|
eina_iterator_free(iter);
|
||||||
|
}
|
||||||
|
|
||||||
|
#define EFL_UI_FOCUS_MANAGER_CALC_EXTRA_OPS \
|
||||||
|
EFL_OBJECT_OP_FUNC(efl_dbg_info_get, _efl_ui_focus_manager_calc_efl_object_dbg_info_get)
|
||||||
|
|
||||||
#include "efl_ui_focus_manager_calc.eo.c"
|
#include "efl_ui_focus_manager_calc.eo.c"
|
||||||
|
|
|
@ -3152,7 +3152,7 @@ _elm_widget_efl_object_dbg_info_get(Eo *eo_obj, Elm_Widget_Smart_Data *_pd EINA_
|
||||||
{
|
{
|
||||||
focus = EFL_DBG_INFO_LIST_APPEND(group, "Focus");
|
focus = EFL_DBG_INFO_LIST_APPEND(group, "Focus");
|
||||||
|
|
||||||
EFL_DBG_INFO_APPEND(focus, "type", EINA_VALUE_TYPE_STRING, rel->type);
|
EFL_DBG_INFO_APPEND(focus, "logical", EINA_VALUE_TYPE_CHAR, rel->logical );
|
||||||
EFL_DBG_INFO_APPEND(focus, "manager", EINA_VALUE_TYPE_UINT64, _pd->focus.manager);
|
EFL_DBG_INFO_APPEND(focus, "manager", EINA_VALUE_TYPE_UINT64, _pd->focus.manager);
|
||||||
EFL_DBG_INFO_APPEND(focus, "parent", EINA_VALUE_TYPE_UINT64, rel->parent);
|
EFL_DBG_INFO_APPEND(focus, "parent", EINA_VALUE_TYPE_UINT64, rel->parent);
|
||||||
EFL_DBG_INFO_APPEND(focus, "next", EINA_VALUE_TYPE_UINT64 , rel->next);
|
EFL_DBG_INFO_APPEND(focus, "next", EINA_VALUE_TYPE_UINT64 , rel->next);
|
||||||
|
|
Loading…
Reference in New Issue