tmp = eina_list_clone(T(pnode).saved_order);
efl_ui_focus_manager_calc_update_order(obj, parent, tmp);
- eina_list_free(tmp);
}
return EINA_TRUE;
tmp = eina_list_clone(T(pnode).saved_order);
efl_ui_focus_manager_calc_update_order(obj, parent, tmp);
- eina_list_free(tmp);
}
return EINA_TRUE;
return;
ELM_SAFE_FREE(T(pnode).saved_order, eina_list_free);
- T(pnode).saved_order = eina_list_clone(order);
+ T(pnode).saved_order = order;
//get all nodes from the subset
EINA_LIST_FOREACH(order, n, o)
Node *pnode;
Efl_Ui_Focus_Object *o;
Eina_Bool fail = EINA_FALSE;
- Eina_List *node_order = NULL, *n;
+ Eina_List *node_order = NULL;
pnode = node_get(obj, pd, parent);
if (!pnode)
return EINA_FALSE;
//get all nodes from the subset
- EINA_LIST_FOREACH(order, n, o)
+ EINA_LIST_FREE(order, o)
{
Node *tmp;
[[Give the list of children a different order.]]
params {
parent : Efl.Ui.Focus.Object @nonull; [[the parent to update]]
- children : list<Efl.Ui.Focus.Object>; [[the list with the new order]]
+ children : own(list<Efl.Ui.Focus.Object>); [[the list with the new order]]
}
return : bool; [[$true if successful, $false otherwise]]
}
static void
_focus_chain_update(Eo *obj, Elm_Fileselector_Data *pd)
{
- Eo *fman = efl_ui_focus_user_manager_get(obj);
- if (fman)
- {
- Eina_List *tmp = NULL;
+ Eina_List *tmp = NULL;
#define A(p) tmp = eina_list_append(tmp, p);
- A(pd->up_button)
- A(pd->home_button)
- A(pd->search_entry)
- A(pd->files_view)
- A(pd->path_entry)
- A(pd->name_entry)
- A(pd->filter_hoversel)
- A(pd->ok_button)
- A(pd->cancel_button)
+
+ A(pd->up_button)
+ A(pd->home_button)
+ A(pd->search_entry)
+ A(pd->files_view)
+ A(pd->path_entry)
+ A(pd->name_entry)
+ A(pd->filter_hoversel)
+ A(pd->ok_button)
+ A(pd->cancel_button)
+
+
#undef A
- efl_ui_focus_manager_calc_update_order(efl_ui_focus_user_manager_get(obj), obj, tmp);
- eina_list_free(tmp);
- }
+ efl_ui_focus_manager_calc_update_order(efl_ui_focus_user_manager_get(obj), obj, tmp);
}
static void
_focus_order_flush(Eo *obj, Elm_Box_Data *pd EINA_UNUSED)
{
Elm_Widget_Smart_Data *wpd = efl_data_scope_get(obj, ELM_WIDGET_CLASS);
- if (wpd->focus.manager)
- {
- Eina_List *order = evas_object_box_children_get(wpd->resize_obj);
+ Eina_List *order = evas_object_box_children_get(wpd->resize_obj);
- efl_ui_focus_manager_calc_update_order(wpd->focus.manager, obj, order);
- eina_list_free(order);
- }
+ efl_ui_focus_manager_calc_update_order(wpd->focus.manager, obj, order);
}
static void *
_focus_order_flush(Eo *obj)
{
Elm_Widget_Smart_Data *wpd = efl_data_scope_get(obj, ELM_WIDGET_CLASS);
- if (wpd->focus.manager)
- {
- Eina_List *order = evas_object_grid_children_get(wpd->resize_obj);
+ Eina_List *order = evas_object_grid_children_get(wpd->resize_obj);
- efl_ui_focus_manager_calc_update_order(wpd->focus.manager, obj, order);
- eina_list_free(order);
- }
+ efl_ui_focus_manager_calc_update_order(wpd->focus.manager, obj, order);
}
_focus_order_flush(Eo *obj)
{
Elm_Widget_Smart_Data *wpd = efl_data_scope_get(obj, ELM_WIDGET_CLASS);
- if (wpd->focus.manager)
- {
- Eina_List *order = evas_object_table_children_get(wpd->resize_obj);
+ Eina_List *order = evas_object_table_children_get(wpd->resize_obj);
- efl_ui_focus_manager_calc_update_order(wpd->focus.manager, obj, order);
- eina_list_free(order);
- }
+ efl_ui_focus_manager_calc_update_order(wpd->focus.manager, obj, order);
}
EOLIAN static Eina_Bool
static void
_item_focus_eval_all(Elm_Toolbar *obj, Elm_Toolbar_Data *pd)
{
+ Elm_Toolbar_Item_Data *it;
Elm_Widget_Smart_Data *wpd;
+ Eina_List *order = NULL;
wpd = efl_data_scope_get(obj, ELM_WIDGET_CLASS);
- if (wpd->focus.manager)
+ EINA_INLIST_FOREACH(pd->items, it)
{
- Eina_List *order = NULL;
- Elm_Toolbar_Item_Data *it;
-
- EINA_INLIST_FOREACH(pd->items, it)
- {
- _item_focus_eval(it);
- order = eina_list_append(order, EO_OBJ(it));
- }
-
- if (pd->more_item)
- {
- _item_focus_eval(pd->more_item);
- order = eina_list_append(order, EO_OBJ(pd->more_item));
- }
+ _item_focus_eval(it);
+ order = eina_list_append(order, EO_OBJ(it));
+ }
- efl_ui_focus_manager_calc_update_order(wpd->focus.manager, obj, order);
- eina_list_free(order);
+ if (pd->more_item)
+ {
+ _item_focus_eval(pd->more_item);
+ order = eina_list_append(order, EO_OBJ(pd->more_item));
}
+
+ efl_ui_focus_manager_calc_update_order(wpd->focus.manager, obj, order);
}
static int
order = eina_list_append(order, child3);
order = eina_list_append(order, child1);
ck_assert_int_eq(efl_ui_focus_manager_calc_update_children(m, root, order), 1);
- eina_list_free(order);
order = NULL;