Base class for all Efl.Ui.* widgets
The class here is designed in a way that widgets can be expressed as a tree. The parent relation in the tree can be fetched via Efl.Ui.Widget.widget_parent . The parent relation should never be modified directly, instead you should use the APIs of the widgets (Typically Efl.Pack_Linear, Efl.Pack_Table or Efl.Content).
Properties implemented here should be treated with extra care, some are defined for the sub-tree, others are defined for the widget itself, additional information for this can be fetched from the documentation in the implements section.
access_info (get, set)
const char *efl_ui_widget_access_info_get(const Eo *obj); void efl_ui_widget_access_info_set(Eo *obj, const char *txt);
Clip one object to another.
Efl_Canvas_Object *efl_canvas_object_clipper_get(const Eo *obj); void efl_canvas_object_clipper_set(Eo *obj, Efl_Canvas_Object *clipper);
void efl_gfx_color_get(const Eo *obj, int *r, int *g, int *b, int *a); void efl_gfx_color_set(Eo *obj, int r, int g, int b, int a);
Implement this method to provide optional initialization code for your object.
Efl_Object *efl_constructor(Eo *obj);
cursor (get, set)
The cursor to be shown when mouse is over the object
const char *efl_ui_widget_cursor_get(const Eo *obj); Eina_Bool efl_ui_widget_cursor_set(Eo *obj, const char *cursor);
cursor_style (get, set)
A different style for the cursor.
const char *efl_ui_widget_cursor_style_get(const Eo *obj); Eina_Bool efl_ui_widget_cursor_style_set(Eo *obj, const char *style);
cursor_theme_search_enabled (get, set)
Whether the cursor may be looked in the theme or not.
Eina_Bool efl_ui_widget_cursor_theme_search_enabled_get(const Eo *obj); Eina_Bool efl_ui_widget_cursor_theme_search_enabled_set(Eo *obj, Eina_Bool allow);
Build a read-only name for this object used for debugging.
void efl_debug_name_override(Eo *obj, Eina_Strbuf *sb);
Implement this method to provide deinitialization code for your object if you need it.
void efl_destructor(Eo *obj);
disabled (get, set)
Whether the widget is enabled (accepts and reacts to user inputs).
Eina_Bool efl_ui_widget_disabled_get(const Eo *obj); void efl_ui_widget_disabled_set(Eo *obj, Eina_Bool disabled);
Implement this method to finish the initialization of your object after all (if any) user-provided configuration methods have been executed.
Efl_Object *efl_finalize(Eo *obj);
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);
focus_allow (get, set)
The ability for a widget to be focused.
Eina_Bool efl_ui_widget_focus_allow_get(const Eo *obj); void efl_ui_widget_focus_allow_set(Eo *obj, Eina_Bool can_focus);
Eina_Rect efl_ui_focus_object_focus_geometry_get(const Eo *obj);
Efl_Ui_Focus_Manager *efl_ui_focus_object_focus_manager_get(const Eo *obj);
focus_move_policy (get, set)
The widget's focus move policy.
Efl_Ui_Focus_Move_Policy efl_ui_widget_focus_move_policy_get(const Eo *obj); void efl_ui_widget_focus_move_policy_set(Eo *obj, Efl_Ui_Focus_Move_Policy policy);
focus_move_policy_automatic (get, set)
Control the widget's focus_move_policy mode setting.
Eina_Bool efl_ui_widget_focus_move_policy_automatic_get(const Eo *obj); void efl_ui_widget_focus_move_policy_automatic_set(Eo *obj, Eina_Bool automatic);
Efl_Ui_Focus_Object *efl_ui_focus_object_focus_parent_get(const Eo *obj);
Triggers an immediate recalculation of this object's geometry.
void efl_canvas_group_calculate(Eo *obj);
Set a canvas object as a member of a given group (or smart object).
void efl_canvas_group_member_add(Eo *obj, Efl_Canvas_Object *sub_obj);
Removes a member object from a given smart object.
void efl_canvas_group_member_remove(Eo *obj, Efl_Canvas_Object *sub_obj);
Accessible name of the object.
const char *efl_access_object_i18n_name_get(const Eo *obj); void efl_access_object_i18n_name_set(Eo *obj, const char *i18n_name);
Implement this method to perform special actions when your object loses its parent, if you need to.
void efl_invalidate(Eo *obj);
Whether this object should be mirrored.
Eina_Bool efl_ui_mirrored_get(const Eo *obj); void efl_ui_mirrored_set(Eo *obj, Eina_Bool rtl);
Whether the property Efl.Ui.I18n.mirrored should be set automatically.
Eina_Bool efl_ui_mirrored_automatic_get(const Eo *obj); void efl_ui_mirrored_automatic_set(Eo *obj, Eina_Bool automatic);
Model that is/will be
Efl_Model *efl_ui_view_model_get(const Eo *obj); void efl_ui_view_model_set(Eo *obj, Efl_Model *model);
Disables all rendering on the canvas.
Eina_Bool efl_canvas_object_no_render_get(const Eo *obj); void efl_canvas_object_no_render_set(Eo *obj, Eina_Bool enable);
The 2D position of a canvas object.
Eina_Position2D efl_gfx_entity_position_get(const Eo *obj); void efl_gfx_entity_position_set(Eo *obj, Eina_Position2D pos);
bind property data with the given key string. when the data is ready or changed, bind the data to the key action and process promised work.
Eina_Error efl_ui_property_bind(Eo *obj, const char *key, const char *property);
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_Class *klass);
The scaling factor of an object.
double efl_gfx_entity_scale_get(const Eo *obj); void efl_gfx_entity_scale_set(Eo *obj, double scale);
Pop scroller freeze
void efl_ui_widget_scroll_freeze_pop(Eo *obj);
Push scroller freeze
void efl_ui_widget_scroll_freeze_push(Eo *obj);
Pop scroller hold
void efl_ui_widget_scroll_hold_pop(Eo *obj);
Push scroll hold
void efl_ui_widget_scroll_hold_push(Eo *obj);
The 2D size of a canvas object.
Eina_Size2D efl_gfx_entity_size_get(const Eo *obj); void efl_gfx_entity_size_set(Eo *obj, Eina_Size2D size);
style (get, set)
The widget style to use.
const char *efl_ui_widget_style_get(const Eo *obj); Eina_Error efl_ui_widget_style_set(Eo *obj, const char *style);
The visibility of a canvas object.
Eina_Bool efl_gfx_entity_visible_get(const Eo *obj); void efl_gfx_entity_visible_set(Eo *obj, Eina_Bool v);
Eina_List *efl_access_object_access_children_get(const Eo *obj);
Eina_List *efl_access_object_attributes_get(const Eo *obj);
Focuses accessible widget.
Eina_Bool efl_access_component_focus_grab(Eo *obj);
Eina_Rect efl_ui_widget_focus_highlight_geometry_get(const Eo *obj);
Apply a new focus state on the widget.
Eina_Bool efl_ui_widget_focus_state_apply(Eo *obj, Efl_Ui_Widget_Focus_State current_state, Efl_Ui_Widget_Focus_State configured_state, Efl_Ui_Widget *redirect);
Eina_Rect efl_ui_widget_interest_region_get(const Eo *obj);
Hook function called when widget is activated through accessibility.
Eina_Bool efl_ui_widget_on_access_activate(Eo *obj, Efl_Ui_Activate act);
Hook function called when accessibility is changed on the widget.
void efl_ui_widget_on_access_update(Eo *obj, Eina_Bool enable);
Virtual function handling focus in/out events on the widget.
Eina_Bool efl_ui_focus_object_on_focus_update(Eo *obj);
Efl_Object *efl_part_get(const Eo *obj, const char *name);
void efl_ui_widget_resize_object_set(Eo *obj, Efl_Canvas_Object *sobj);
Efl_Access_State_Set efl_access_object_state_set_get(const Eo *obj);
Virtual function called when the widget needs to re-apply its theme.
Eina_Error efl_ui_widget_theme_apply(Eo *obj);
This implements the calls to
void efl_ui_l10n_translation_update(Eo *obj);
Virtual function handling input events on the widget.
Eina_Bool efl_ui_widget_input_event_handler(Eo *obj, const Efl_Event *eo_event, Efl_Canvas_Object *source);
widget_parent (get, set)
The internal parent of this widget.
Efl_Ui_Widget *efl_ui_widget_parent_get(const Eo *obj); void efl_ui_widget_parent_set(Eo *obj, Efl_Ui_Widget *parent);
Virtual function customizing sub objects being added.
Eina_Bool efl_ui_widget_sub_object_add(Eo *obj, Efl_Canvas_Object *sub_obj);
Virtual function customizing sub objects being removed.
Eina_Bool efl_ui_widget_sub_object_del(Eo *obj, Efl_Canvas_Object *sub_obj);
| ||accessible_at_point_get||Gets top component object occupying space at given coordinates.|
| ||contains||Contains accessible widget|
| ||extents (get, set)||Geometry of accessible widget.|
| ||screen_position (get, set)||Position of accessible widget.|
| ||z_order (get)|
| ||access_root (get)|
|access_type (get, set)||Type of accessibility object|
|attribute_append||Add key-value pair identifying object extra attributes|
|attribute_del||delete key-value pair identifying object extra attributes when key is given|
|attributes_clear||Removes all attributes in accessible object.|
|description (get, set)||Contextual information about object.|
|relationship_append||Defines the relationship between two accessible objects.|
|relationship_remove||Removes the relationship between two accessible objects.|
|relationships_clear||Removes all relationships in accessible object.|
|role (get, set)||The role of the object in accessibility domain.|
|translation_domain (get, set)||The translation domain of "name" and "description" properties.|
| ||event_emit||Emit event|
| ||event_handler_add||Register accessibility event listener|
| ||event_handler_del||Deregister accessibility event listener|
| ||index_in_parent (get)|
| ||localized_role_name (get)|
| ||reading_info_type (get, set)||Reading information of an accessible object.|
| ||relations_get||Gets an all relations between accessible object and other accessible objects.|
| ||role_name (get)|
|group_change||Marks the object as dirty.|
|group_member_is||Finds out if a given object is a member of this group.|
|group_members_iterate||Returns an iterator over the children of this object, which are canvas objects.|
|group_need_recalculate (get, set)||Indicates that the group's layout needs to be recalculated.|
|paragraph_direction (get, set)|| This handles text paragraph direction of the given object. Even if the given object is not textblock or text, its smart child objects can inherit the paragraph direction from the given object. The default paragraph direction is
| ||group_clipper (get)|
|anti_alias (get, set)||Whether or not the given Evas object is to be drawn anti-aliased.|
|clipped_objects_count|| Returns the number of objects clipped by
|event_freeze||Freeze events of this object.|
|event_thaw||Thaw events of object.|
|geometry (get, set)||Rectangular geometry that combines both position and size.|
|gesture_manager_get||Returns current canvas's gesture manager|
|has_fixed_size (get, set)||A hint for an object that its size will not change.|
|hint_align (get, set)||Hints for an object's alignment.|
|hint_aspect (get, set)||Defines the aspect ratio to respect when scaling this object.|
|hint_fill (get, set)||Hints for an object's fill property that used to specify "justify" or "fill" by some users. Efl.Gfx.Hint.hint_fill specify whether to fill the space inside the boundaries of a container/manager.|
|hint_margin (get, set)||Hints for an object's margin or padding space.|
|hint_size_max (get, set)||Hints on the object's maximum size.|
|hint_size_min (get, set)||Hints on the object's minimum size.|
| ||hint_size_restricted_max (get, set)||Internal hints for an object's maximum size.|
| ||hint_size_restricted_min (get, set)||Internal hints for an object's minimum size.|
|hint_weight (get, set)||Hints for an object's weight.|
|key_focus (get, set)||Indicates that this object is the keyboard event receiver on its canvas.|
|key_ungrab|| Removes the grab on
|layer (get, set)||The layer of its canvas that the given object will be part of.|
|pass_events (get, set)||Whether an Evas object is to pass (ignore) events.|
|pointer_mode (get, set)||Low-level pointer behaviour.|
|pointer_mode_by_device (get, set)||Low-level pointer behaviour by device. See Efl.Canvas.Object.pointer_mode.get and Efl.Canvas.Object.pointer_mode.set for more explanation.|
|precise_is_inside (get, set)||Whether to use precise (usually expensive) point collision detection for a given Evas object.|
|propagate_events (get, set)||Whether events on a smart object's member should be propagated up to its parent.|
|render_op (get, set)||Render mode to be used for compositing the Evas object.|
|repeat_events (get, set)||Whether an Evas object is to repeat events to objects below it.|
|seat_event_filter (get, set)||Whether input events from a given seat are enabled. If the filter list is empty (no seat is disabled) this object will report mouse, keyboard and focus events from any seat, otherwise those events will only be reported if the event comes from a seat that is not in the list.|
|seat_focus_add||Add a seat to the focus list.|
|seat_focus_check||Check if this object is focused by a given seat|
|seat_focus_del||Remove a seat from the focus list.|
| ||render_parent (get)|
|color_code (get, set)||Hexadecimal color code of given Evas object (#RRGGBBAA).|
|lighting_3d||Apply a lighting effect on the object.|
|lighting_3d_absolute||Apply a lighting effect to the object.|
|mapping_alpha (get, set)||Alpha flag for map rendering.|
|mapping_color (get, set)||Color of a vertex in the map.|
|mapping_coord_absolute (get, set)||A point's absolute coordinate on the canvas.|
|mapping_has||Read-only property indicating whether an object is mapped.|
|mapping_point_count (get, set)||Number of points of a map.|
|mapping_reset||Resets the map transformation to its default state.|
|mapping_smooth (get, set)||Smoothing state for map rendering.|
|mapping_uv (get, set)||Map point's U and V texture source point.|
|perspective_3d||Apply a perspective transform to the map|
|perspective_3d_absolute||Apply a perspective transform to the map|
|rotate||Apply a rotation to the object.|
|rotate_3d||Rotate the object around 3 axes in 3D.|
|rotate_3d_absolute||Rotate the object around 3 axes in 3D, using absolute coordinates.|
|rotate_absolute||Apply a rotation to the object, using absolute coordinates.|
|rotate_quat||Rotate the object in 3D using a unit quaternion.|
|rotate_quat_absolute||Rotate the object in 3D using a unit quaternion, using absolute coordinates.|
|translate||Apply a translation to the object using map.|
|zoom||Apply a zoom to the object.|
|zoom_absolute||Apply a zoom to the object, using absolute coordinates.|
|future_rejected||Creates a new future that is already rejected to a specified error using the Efl.Loop_Consumer.loop.get.|
|future_resolved||Creates a new future that is already resolved to a value.|
|parent (get, set)||The parent of an object.|
|promise_new||Create a new promise with the scheduler coming from the loop provided by this object.|
|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 children.|
|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.|
|event_callback_forwarder_del||Remove an event callback forwarder for a specified event and object.|
|event_callback_forwarder_priority_add|| Add an event callback forwarder that will make this object emit an event whenever another object (
|event_callback_stop||Stop the current callback call.|
| ||event_global_freeze||Globally freeze events for ALL EFL OBJECTS.|
| ||event_global_freeze_count (get)|
| ||event_global_thaw||Globally thaw events for ALL EFL OBJECTS.|
|name (get, set)||The name of the object.|
|name_find||Find a child object with the given name and return it.|
|provider_register||Will register a manager of a specific class to be answered by Efl.Object.provider_find.|
|provider_unregister||Will unregister a manager of a specific class that was previously registered and answered by Efl.Object.provider_find.|
|drag_action_set||Set the action for the drag|
|drag_cancel||Cancel the on-going drag|
|drag_start||Start a drag and drop process at the drag side. During dragging, there are three events emitted as belows: - EFL_UI_DND_EVENT_DRAG_POS - EFL_UI_DND_EVENT_DRAG_ACCEPT - EFL_UI_DND_EVENT_DRAG_DONE|
|drop_target_add||Make the current object as drop target. There are four events emitted: - EFL_UI_DND_EVENT_DRAG_ENTER - EFL_UI_DND_EVENT_DRAG_LEAVE - EFL_UI_DND_EVENT_DRAG_POS - EFL_UI_DND_EVENT_DRAG_DROP.|
|drop_target_del||Delete the dropable status from object|
|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.|
| ||child_focus (get, set)||Indicates if a child of this object has focus set to true.|
| ||setup_order_non_recursive||This is called when Efl.Ui.Focus.Object.setup_order is called, but only on the first call, additional recursive calls to Efl.Ui.Focus.Object.setup_order will not call this function again.|
|language (get, set)||The (human) language for this object.|
|l10n_text (get, set)||A unique string to be translated.|
|has_owner||Determine whether the selection data has owner|
|selection_clear||Clear the selection data from the object|
|selection_get||Get the data from the object that has selection|
|selection_set||Set the selection data to the object|
Called when accessibility changed
Called when widget language changed
|active,descendant,changed||Called when active state of descendant has changed|
|added||Called when item is added|
|bounds,changed||Called when boundaries have changed|
|children,changed||Called when children have changed|
|property,changed||Called when property has changed|
|removed||Called when item is removed|
|state,changed||Called when state has changed|
|visible,data,changed||Called when visibility has changed|
|member,added||Called when a member is added to the group.|
|member,removed||Called when a member is removed from the group.|
|animator,tick||Animator tick synchronized with screen vsync if possible.|
|gesture,double_tap||Emitted when a Double-tap gesture has been detected. A Double-tap gesture consists of two taps on the screen (or clicks of the mouse) in quick succession. If the second one is delayed for too long they will be detected as two independent Efl.Gesture.Events.gesture,tap events.|
|gesture,flick||Emitted when a Flick gesture has been detected.|
|gesture,long_tap||Emitted when a Long-tap gesture has been detected. A Long-tap gesture consists of a touch of the screen (or click of the mouse) followed by a release after some time. If the release happens too quickly a Efl.Gesture.Events.gesture,tap event will be emitted instead.|
|gesture,momentum||Emitted when a Momentum gesture has been detected. A Momentum gesture consists of a quick displacement of the finger while touching the screen (or while holding down a mouse button).|
|gesture,tap||Emitted when a Tap gesture has been detected. A Tap gesture consists of a touch of the screen (or click of the mouse) quickly followed by a release. If the release happens too late a Efl.Gesture.Events.gesture,long_tap event will be emitted instead.|
|gesture,triple_tap||Emitted when a Triple-tap gesture has been detected. A Triple-tap gesture consists of three taps on the screen (or clicks of the mouse) in quick succession. If any of them is delayed for too long they will be detected as independent Efl.Gesture.Events.gesture,tap or Efl.Gesture.Events.gesture,double_tap events.|
|gesture,zoom||Emitted when a Zoom gesture has been detected. A Zoom gesture consists of two fingers touching the screen and separating ("zoom in") or getting closer ("zoom out" or "pinch"). This gesture cannot be performed with a mouse as it requires more than one pointer.|
|position,changed||Object was moved, its position during the event is the new one.|
|size,changed||Object was resized, its size during the event is the new one.|
|visibility,changed||Object's visibility state changed, the event value is the new state.|
|hints,changed||Object hints changed.|
|stacking,changed||Object stacking was changed.|
|finger,down||Finger pressed (finger id is known).|
|finger,move||Finger moved (current and previous positions are known).|
|finger,up||Finger released (finger id is known).|
|focus,in||A focus in event.|
|focus,out||A focus out event.|
|hold||All input events are on hold or resumed.|
|key,down||Keyboard key press.|
|key,up||Keyboard key release.|
|pointer,axis||Pen or other axis event update.|
|pointer,cancel||Main pointer button press was cancelled (button id is known). This can happen in rare cases when the window manager passes the focus to a more urgent window, for instance. You probably don't need to listen to this event, as it will be accompanied by an up event.|
|pointer,down||Main pointer button pressed (button id is known).|
|pointer,in||Pointer entered a window or a widget.|
|pointer,move||Main pointer move (current and previous positions are known).|
|pointer,out||Pointer left a window or a widget.|
|pointer,up||Main pointer button released (button id is known).|
|pointer,wheel||Mouse wheel event.|
|del||Object is being deleted. See Efl.Object.destructor.|
|destruct||Object has been fully destroyed. It can not be used beyond this point. This event should only serve to clean up any reference you keep to the object.|
|invalidate||Object is being invalidated and losing its parent. See Efl.Object.invalidate.|
|noref||Object has lost its last reference, only parent relationship is keeping it alive. Advanced usage.|
|ownership,shared||Object has acquired a second reference. It has multiple owners now. Triggered whenever increasing the refcount from one to two, it will not trigger by further increasing the refcount beyond two.|
|ownership,unique||Object has lost a reference and only one is left. It has just one owner now. Triggered whenever the refcount goes from two to one.|
|drag,accept||accept drag data|
|drag,done||drag is done (mouse up)|
|drag,drop||called when the drag object dropped on this object|
|drag,enter||called when the drag object enters this object|
|drag,leave||called when the drag object leaves this object|
|drag,pos||called when the drag object changes drag position|
|child_focus,changed||Emitted if child_focus has changed.|
|focus,changed||Emitted if the focus state has changed.|
|focus_geometry,changed||Emitted if focus geometry of this object has changed.|
|focus_manager,changed||Emitted when a new manager is the parent for this object.|
|focus_parent,changed||Emitted when a new logical parent should be used.|
|properties,changed||Event dispatched when a property on the object has changed due to a user interaction on the object that a model could be interested in.|
|property,bound||Event dispatched when a property on the object is bound to a model. This is useful to avoid generating too many events.|
|wm_selection,changed||Called when display server's selection has changed|
|model,changed||Event dispatched when a new model is set.|