Efl.Ui.Focus.Manager.Calc (class)


Calculates the directions of Efl.Ui.Focus.Direction

Each registered item will get an other registered object in each direction. You can get items for the currently focused item if you call request move.

Since 1.20



border_elements (get) [Overridden from Efl.Ui.Focus.Manager]

The list of elements which are at the border of the graph.
Eina_Iterator *efl_ui_focus_manager_border_elements_get(const Eo *obj);

constructor [Overridden from Efl.Object]

Call the object's constructor.
Efl_Object *efl_constructor(Eo *obj);

destructor [Overridden from Efl.Object]

Call the object's destructor.
void efl_destructor(Eo *obj);

fetch [Overridden from Efl.Ui.Focus.Manager]

This will fetch the data from a registered node.
Efl_Ui_Focus_Relations *efl_ui_focus_manager_fetch(Eo *obj, Efl_Ui_Focus_Object *child);

finalize [Overridden from Efl.Object]

Called at the end of efl_add. Should not be called, just overridden.
Efl_Object *efl_finalize(Eo *obj);

logical_end [Overridden from Efl.Ui.Focus.Manager]

Return the last logical object.
Efl_Ui_Focus_Manager_Logical_End_Detail efl_ui_focus_manager_logical_end(Eo *obj);

manager_focus (get, set) [Overridden from Efl.Ui.Focus.Manager]

The element which is currently focused by this manager
Efl_Ui_Focus_Object *efl_ui_focus_manager_focus_get(const Eo *obj);
void efl_ui_focus_manager_focus_set(Eo *obj, Efl_Ui_Focus_Object *focus);

move [Overridden from Efl.Ui.Focus.Manager]

Move the focus into the given direction.
Efl_Ui_Focus_Object *efl_ui_focus_manager_move(Eo *obj, Efl_Ui_Focus_Direction direction);

pop_history_stack [Overridden from Efl.Ui.Focus.Manager]

Removes the most upper history element, and gives the focus to the next one below
void efl_ui_focus_manager_pop_history_stack(Eo *obj);

provider_find [Overridden from Efl.Object]

Searches upwards in the object tree for a provider which knows the given class/interface.
Efl_Object *efl_provider_find(const Eo *obj, const Efl_Object *klass);

redirect (get, set) [Overridden from Efl.Ui.Focus.Manager]

Add a another manager to serve the move requests.
Efl_Ui_Focus_Manager *efl_ui_focus_manager_redirect_get(const Eo *obj);
void efl_ui_focus_manager_redirect_set(Eo *obj, Efl_Ui_Focus_Manager *redirect);


Register a new item in the graph.
Eina_Bool efl_ui_focus_manager_calc_register(Eo *obj, Efl_Ui_Focus_Object *child, Efl_Ui_Focus_Object *parent, Efl_Ui_Focus_Manager *redirect);


Register a new item only for the logical parent.
Eina_Bool efl_ui_focus_manager_calc_register_logical(Eo *obj, Efl_Ui_Focus_Object *child, Efl_Ui_Focus_Object *parent, Efl_Ui_Focus_Manager *redirect);

request_move [Overridden from Efl.Ui.Focus.Manager]

Returns the object which would be the next object to focus in the given direction.
Efl_Ui_Focus_Object *efl_ui_focus_manager_request_move(Eo *obj, Efl_Ui_Focus_Direction direction);

request_subchild [Overridden from Efl.Ui.Focus.Manager]

Returns a widget that can receive focus
Efl_Ui_Focus_Object *efl_ui_focus_manager_request_subchild(Eo *obj, Efl_Ui_Focus_Object *child);

reset_history [Overridden from Efl.Ui.Focus.Manager]

Reset the history stack of this manager object. This means the most upper element will be unfocused, all other elements will be removed from the remembered before.
void efl_ui_focus_manager_reset_history(Eo *obj);

root (get, set) [Overridden from Efl.Ui.Focus.Manager]

Root node for all logical subtrees.
Efl_Ui_Focus_Object *efl_ui_focus_manager_root_get(const Eo *obj);
Eina_Bool efl_ui_focus_manager_root_set(Eo *obj, Efl_Ui_Focus_Object *root);

setup_on_first_touch [Overridden from Efl.Ui.Focus.Manager]

Called when this manager is set as redirect
void efl_ui_focus_manager_setup_on_first_touch(Eo *obj, Efl_Ui_Focus_Direction direction, Efl_Ui_Focus_Object *entry);


Unregister the given item from the focus graph.
void efl_ui_focus_manager_calc_unregister(Eo *obj, Efl_Ui_Focus_Object *child);


Give the list of children a different order.
Eina_Bool efl_ui_focus_manager_calc_update_children(Eo *obj, Efl_Ui_Focus_Object *parent, Eina_List *children);


Give the given order to the parent's child.
void efl_ui_focus_manager_calc_update_order(Eo *obj, Efl_Ui_Focus_Object *parent, Eina_List *children);


Set a new logical parent for the given child.
Eina_Bool efl_ui_focus_manager_calc_update_parent(Eo *obj, Efl_Ui_Focus_Object *child, Efl_Ui_Focus_Object *parent);


Set a new redirect object for the given child.
Eina_Bool efl_ui_focus_manager_calc_update_redirect(Eo *obj, Efl_Ui_Focus_Object *child, Efl_Ui_Focus_Manager *redirect);


allow_parent_unref (get, set) Allow an object to be deleted by unref even if it has a parent.
children_iterator_new Get an iterator on all childrens
comment (get, set) A human readable comment for the object
composite_attach Make an object a composite object of another.
composite_detach Detach a composite object from another object.
composite_part_is Check if an object is part of a composite object.
debug_name_override Build a read-only name for this object used for debugging.
del Unrefs the object and reparents it to NULL.
event_callback_forwarder_add Add an event callback forwarder for an event and an object.
event_callback_forwarder_del Remove an event callback forwarder for an event and an object.
event_callback_stop Stop the current callback call.
event_freeze Freeze events of object.
event_freeze_count (get) Return freeze events of object.
class event_global_freeze Freeze events of object.
class event_global_freeze_count (get) Return freeze events of object.
class event_global_thaw Thaw events of object.
event_thaw Thaw events of object.
finalized (get) True if the object is already finalized, otherwise false.
name (get, set) The name of the object.
name_find Find a child object with the given name and return it.
parent (get, set) The parent of an object.



callback,add A callback was added.
callback,del A callback was deleted.
del Object is being deleted.
destruct Object has been fully destroyed. It can not be used beyond this point. This event should only serve to clean up any dangling pointer.
coords,dirty Emitted once the graph is dirty, this means there are potential changes in border_elements you want to know about
flush,pre Emitted once the graph calculationg will be performed
focused Emitted if the manager has focused an object, the passed focus object is the last focused object
redirect,changed Emitted when the redirect object has changed, the old manager is passed as event info