Efl.Ui.Focus.Manager (interface)

Description

Calculates the directions of Efl.Ui.Focus.Direction

Each registered item will get a other registered object into each direction, you can get those items for the currently focused item if you call request move.

Since 1.20

Members

border_elements (get)

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


fetch

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);


logical_end

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


manager_focus (get, set)

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

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

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);


redirect (get, set)

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);


request_move

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

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

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)

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

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);


Events

coords,dirty

Emitted once the graph is dirty, this means there are potential changes in border_elements you want to know about
EFL_UI_FOCUS_MANAGER_EVENT_COORDS_DIRTY(void)


flush,pre

Emitted once the graph calculationg will be performed
EFL_UI_FOCUS_MANAGER_EVENT_FLUSH_PRE(void)


focused

Emitted if the manager has focused an object, the passed focus object is the last focused object
EFL_UI_FOCUS_MANAGER_EVENT_FOCUSED(Efl_Ui_Focus_Object *)


redirect,changed

Emitted when the redirect object has changed, the old manager is passed as event info
EFL_UI_FOCUS_MANAGER_EVENT_REDIRECT_CHANGED(Efl_Ui_Focus_Manager *)