~~Title: Efl.Ui.Focus.Object~~ ====== Efl.Ui.Focus.Object (mixin) ====== ===== Description ===== %%Functions of focusable objects.%% //Since 1.22// {{page>:develop:api-include:efl:ui:focus:object:description&nouser&nolink&nodate}} ===== Members ===== **[[:develop:api:efl:ui:focus:object:property:focus|focus]]** //**(get, set)**// ''protected set''\\ > %%Whether the widget is currently focused or not.%% Eina_Bool efl_ui_focus_object_focus_get(const Eo *obj); void efl_ui_focus_object_focus_set(Eo *obj, Eina_Bool focus); \\ **[[:develop:api:efl:ui:focus:object:property:focus_geometry|focus_geometry]]** //**(get)**//\\ > Eina_Rect efl_ui_focus_object_focus_geometry_get(const Eo *obj); \\ **[[:develop:api:efl:ui:focus:object:property:focus_manager|focus_manager]]** //**(get)**//\\ > Efl_Ui_Focus_Manager *efl_ui_focus_object_focus_manager_get(const Eo *obj); \\ **[[:develop:api:efl:ui:focus:object:property:focus_parent|focus_parent]]** //**(get)**//\\ > Efl_Ui_Focus_Object *efl_ui_focus_object_focus_parent_get(const Eo *obj); \\ **[[:develop:api:efl:ui:focus:object:method:setup_order|setup_order]]**\\ > %%Tells the object that its children will be queried soon by the focus manager. Overwrite this to have a chance to update the order of the children. Deleting items in this call will result in undefined behaviour and may cause your system to crash.%% void efl_ui_focus_object_setup_order(Eo *obj); \\ **[[:develop:api:efl:ui:focus:object:property:child_focus|child_focus]]** //**(get, set)**// ''protected''\\ > %%Indicates if a child of this object has focus set to true.%% Eina_Bool efl_ui_focus_object_child_focus_get(const Eo *obj); void efl_ui_focus_object_child_focus_set(Eo *obj, Eina_Bool child_focus); \\ **[[:develop:api:efl:ui:focus:object:method:on_focus_update|on_focus_update]]** ''protected''\\ > %%Virtual function handling focus in/out events on the widget.%% Eina_Bool efl_ui_focus_object_on_focus_update(Eo *obj); \\ **[[:develop:api:efl:ui:focus:object:method:setup_order_non_recursive|setup_order_non_recursive]]** ''protected''\\ > %%This is called when %%[[:develop:api:efl:ui:focus:object:method:setup_order|Efl.Ui.Focus.Object.setup_order]]%% is called, but only on the first call, additional recursive calls to %%[[:develop:api:efl:ui:focus:object:method:setup_order|Efl.Ui.Focus.Object.setup_order]]%% will not call this function again.%% void efl_ui_focus_object_setup_order_non_recursive(Eo *obj); \\ ===== Events ===== **[[:develop:api:efl:ui:focus:object:event:child_focus_changed|child_focus,changed]]**\\ > %%Emitted if child_focus has changed.%% EFL_UI_FOCUS_OBJECT_EVENT_CHILD_FOCUS_CHANGED(Eina_Bool) \\ **[[:develop:api:efl:ui:focus:object:event:focus_changed|focus,changed]]**\\ > %%Emitted if the focus state has changed.%% EFL_UI_FOCUS_OBJECT_EVENT_FOCUS_CHANGED(Eina_Bool) \\ **[[:develop:api:efl:ui:focus:object:event:focus_geometry_changed|focus_geometry,changed]]**\\ > %%Emitted if focus geometry of this object has changed.%% EFL_UI_FOCUS_OBJECT_EVENT_FOCUS_GEOMETRY_CHANGED(Eina_Rect) \\ **[[:develop:api:efl:ui:focus:object:event:focus_manager_changed|focus_manager,changed]]**\\ > %%Emitted when a new manager is the parent for this object.%% EFL_UI_FOCUS_OBJECT_EVENT_FOCUS_MANAGER_CHANGED(Efl_Ui_Focus_Manager *) \\ **[[:develop:api:efl:ui:focus:object:event:focus_parent_changed|focus_parent,changed]]**\\ > %%Emitted when a new logical parent should be used.%% EFL_UI_FOCUS_OBJECT_EVENT_FOCUS_PARENT_CHANGED(Efl_Ui_Focus_Object *) \\