lib/elementary/elm_atspi_app_object.eo \
lib/elementary/elm_atspi_proxy.eo \
lib/elementary/efl_ui_image_zoomable_pan.eo \
- lib/elementary/elm_widget_item.eo \
- lib/elementary/elm_widget_item_container.eo \
$(NULL)
# Private classes (not exposed or shipped)
elm_legacy_eolian_files = \
lib/elementary/efl_ui_animation_view.eo \
lib/elementary/efl_ui_clock_legacy.eo \
- lib/elementary/elm_widget_item_static_focus.eo \
lib/elementary/elm_ctxpopup_part.eo \
lib/elementary/elm_dayselector_part.eo \
lib/elementary/elm_entry_part.eo \
lib/elementary/elm_view_list_eo.c \
lib/elementary/elm_web_eo.c \
lib/elementary/elm_web_eo.legacy.c \
+lib/elementary/elm_widget_item_container_eo.c \
+lib/elementary/elm_widget_item_eo.c \
+lib/elementary/elm_widget_item_eo.legacy.c \
+lib/elementary/elm_widget_item_static_focus_eo.c \
$(NULL)
elm_legacy_eo_headers = \
lib/elementary/elm_view_list_eo.legacy.h \
lib/elementary/elm_web_eo.h \
lib/elementary/elm_web_eo.legacy.h \
+lib/elementary/elm_widget_item_container_eo.h \
+lib/elementary/elm_widget_item_container_eo.legacy.h \
+lib/elementary/elm_widget_item_eo.h \
+lib/elementary/elm_widget_item_eo.legacy.h \
+lib/elementary/elm_widget_item_static_focus_eo.h \
+lib/elementary/elm_widget_item_static_focus_eo.legacy.h \
$(NULL)
sd->focus_chain = eina_list_remove(sd->focus_chain, obj);
}
//
-#include "elm_widget_item.eo.c"
-#include "elm_widget_item_container.eo.c"
+#include "elm_widget_item_eo.c"
+#include "elm_widget_item_container_eo.c"
#include "efl_ui_widget.eo.c"
#include "efl_ui_widget_eo.legacy.c"
typedef void (*Elm_Object_Item_Signal_Cb)(void *data, Elm_Object_Item *it, const char *emission, const char *source);
#ifndef EFL_NOLEGACY_API_SUPPORT
-#include "elm_widget_item.eo.legacy.h"
+#include "elm_widget_item_eo.legacy.h"
#endif
#define elm_object_item_content_set(it, content) elm_object_item_part_content_set((it), NULL, (content))
# include "efl_ui_focus_parent_provider.eo.h"
# include "efl_ui_widget_focus_manager.eo.h"
# include "efl_ui_focus_parent_provider_standard.eo.h"
-# include "elm_widget_item_static_focus.eo.h"
+# include "elm_widget_item_static_focus_eo.h"
# include "efl_ui_selection_manager.eo.h"
# include "efl_datetime_manager.eo.h"
# include "efl_ui_size_model.eo.h"
typedef void * (*list_data_get_func_type)(const Eina_List * l);
#include "efl_ui_widget.eo.h"
-#include "elm_widget_item_container.eo.h"
+#include "elm_widget_item_container_eo.h"
/**
* @addtogroup Widget
const char *efl_ui_widget_default_text_part_get(const Eo *obj);
#define ELM_WIDGET_ITEM_PROTECTED
-#include "elm_widget_item.eo.h"
+#include "elm_widget_item_eo.h"
#endif
+++ /dev/null
-import elm_general;
-import efl_ui;
-
-type Elm_Tooltip_Item_Content_Cb: __undefined_type; [[Elementary tooltip item content callback type]]
-type Elm_Object_Item_Signal_Cb: __undefined_type; [[Elementary object item signal callback type]]
-
-class Elm.Widget.Item extends Efl.Object implements Efl.Access.Object,
- Efl.Access.Component,
- //TIZEN_ONLY(20171129): elm: Added mechanism for handling the reading stopped/cancelled events for all widgets and widget_items
- Efl.Access.Widget.Action
- //
-{
- [[Elementary widget item class]]
- eo_prefix: elm_wdg_item;
- legacy_prefix: elm_object_item;
- methods {
- @property tooltip_window_mode {
- [[Control size restriction state of an object's tooltip
-
- This function returns whether a tooltip is allowed to expand beyond
- its parent window's canvas.
- It will instead be limited only by the size of the display.]]
- get {
- }
- set {
- return: bool; [[$false on failure, $true on success]]
- }
- values {
- disable: bool; [[If $true, size restrictions are disabled]]
- }
- }
- @property tooltip_style {
- [[Control a different style for this item tooltip.
-
- Note: before you set a style you should define a tooltip with
- @.tooltip_content_cb_set or
- @.tooltip_text_set
-
- See: elm_object_tooltip_style_set() for more details.]]
- get {
- }
- set {
- }
- values {
- style: string; [[The theme style used/to use (default, transparent, ...)]]
- }
- }
- @property cursor {
- [[Control the type of mouse pointer/cursor decoration to be shown,
- when the mouse pointer is over the given item
-
- This function works analogously as elm_object_cursor_set(), but
- here the cursor's changing area is restricted to the item's
- area, and not the whole widget's. Note that that item cursors
- have precedence over widget cursors, so that a mouse over an
- item with custom cursor set will always show that cursor.
-
- If this function is called twice for an object, a previously set
- cursor will be unset on the second call.]]
- get {
- }
- set {
- }
- values {
- cursor: string; [[The cursor type's name]]
- }
- }
- @property cursor_style {
- [[Control a different $style for a given custom cursor set for an item.
-
- This function only makes sense when one is using custom mouse
- cursor decorations defined in a theme file, which can have,
- given a cursor name/type, alternate styles on it. It
- works analogously as elm_object_cursor_style_set(), but here
- applies only to item objects.
-
- Warning: Before you set a cursor style you should have defined a
- custom cursor previously on the item, with @.cursor.set]]
- get {
- }
- set {
- }
- values {
- style: string; [[The theme style to use/in use (e.g. $"default", $"transparent", etc)]]
- }
- }
- @property cursor_engine_only {
- [[Control if the (custom)cursor for a given item should be
- searched in its theme, also, or should only rely on the
- rendering engine.
-
- Note: This call is of use only if you've set a custom cursor
- for items, with @.cursor.set.
-
- Note: By default, cursors will only be looked for between those
- provided by the rendering engine.]]
- get {
- }
- set {
- }
- values {
- engine_only: bool; [[Use $true to have cursors looked for only on those provided by the rendering engine, $false to have them searched on the widget's theme, as well.]]
- }
- }
- @property part_content {
- [[Control a content of an object item
-
- This sets a new object to an item as a content object. If any object was
- already set as a content object in the same part, previous object will be
- deleted automatically.]]
- get {
- }
- set {
- }
- keys {
- part: string @nullable; [[The content part name (NULL for the default content)]]
- }
- values {
- content: Efl.Canvas.Object; [[The content of the object item]]
- }
- }
- @property part_text {
- [[Control a label of an object item
-
- Note: Elementary object items may have many labels]]
- get {
- }
- set {
- }
- keys {
- part: string @nullable; [[The text part name (NULL for the default label)]]
- }
- values {
- label: string; [[Text of the label]]
- }
- }
- @property part_text_custom @protected {
- get {
- [[Get additional text part content]]
- legacy: null;
- }
- set {
- [[Save additional text part content]]
- legacy: null;
- }
- keys {
- part: string; [[Part name]]
- }
- values {
- label: string; [[Label name]]
- }
- }
- @property item_focus {
- [[Control the object item focused
-
- @since 1.10]]
- get {
- legacy: elm_object_item_focus_get;
- }
- set {
- legacy: elm_object_item_focus_set;
- }
- values {
- focused: bool; [[The focused state]]
- }
- }
- @property style {
- [[Control the style of an object item
-
- @since 1.9]]
- get {
- }
- set {
- }
- values {
- style: string; [[The style of object item]]
- }
- }
- @property disabled {
- [[Control the disabled state of a widget item.
-
- Elementary object item can be disabled, in which state they won't
- receive input and, in general, will be themed differently from
- their normal state, usually greyed out. Useful for contexts
- where you don't want your users to interact with some of the
- parts of you interface.
-
- This sets the state for the widget item, either disabling it or
- enabling it back.]]
- get {
- }
- set {
- }
- values {
- disable: bool; [[$true, if the widget item is disabled, $false if it's enabled (or on errors)]]
- }
- }
- access_order_get @const {
- [[Get highlight order
-
- @since 1.8]]
- return: const(list<Efl.Canvas.Object>); [[List of evas canvas objects]]
- }
- access_order_set {
- [[Set highlight order
-
- @since 1.8]]
- params {
- @in objs: list<Efl.Canvas.Object> @owned; [[Order of objects to pass highlight]]
- }
- }
- widget_get @const {
- [[Get the widget object's handle which contains a given item
-
- Note: This returns the widget object itself that an item belongs to.
- Note: Every elm_object_item supports this API]]
- return: Efl.Canvas.Object; [[The widget object]]
- }
- pre_notify_del @protected {
- [[notify deletion of widget item]]
- legacy: null;
- }
- tooltip_text_set {
- [[Set the text to be shown in a given object item's tooltips.
-
- Setup the text as tooltip to object. The item can have only one tooltip,
- so any previous tooltip data - set with this function or
- @.tooltip_content_cb_set - is removed.
-
- See: elm_object_tooltip_text_set() for more details.]]
- params {
- text: string; [[The text to set in the content.]]
- }
- }
- tooltip_translatable_text_set @protected {
- [[Set widget item tooltip as a text string]]
- legacy: null;
- params {
- text: string; [[Tooltip text]]
- }
- }
- tooltip_unset {
- [[Unset tooltip from item.
-
- Remove tooltip from item. The callback provided as del_cb to
- @.tooltip_content_cb_set will be called to notify
- it is not used anymore.
-
- See: elm_object_tooltip_unset() for more details.
- See: @.tooltip_content_cb_set]]
- }
- cursor_unset {
- [[Unset any custom mouse pointer/cursor decoration set to be
- shown, when the mouse pointer is over the given
- item, thus making it show the default cursor again.
-
- Use this call to undo any custom settings on this item's cursor
- decoration, bringing it back to defaults (no custom style set).
-
- See: elm_object_cursor_unset()
- See: @.cursor.set]]
- }
- part_content_unset {
- [[Unset a content of an object item
-
- Note: Elementary object items may have many contents]]
- params {
- part: string; [[The content part name to unset (NULL for the default content)]]
- }
- return: Efl.Canvas.Object; [[Content object]]
- }
- part_text_custom_update @protected {
- [[Update additional text part content]]
- legacy: null;
- }
- signal_callback_add {
- [[Add a callback for a signal emitted by object item edje.
-
- This function connects a callback function to a signal emitted by the
- edje object of the object item.
- Globs can occur in either the emission or source name.
-
- @since 1.8]]
- params {
- emission: string; [[The signal's name.]]
- source: string; [[The signal's source.]]
- func: Elm_Object_Item_Signal_Cb; [[The callback function to be executed when the signal is emitted.]]
- data: void_ptr; [[A pointer to data to pass to the callback function.]]
- }
- }
- signal_callback_del {
- [[Remove a signal-triggered callback from a object item edje object.
-
- This function removes the last callback, previously attached to
- a signal emitted by an underlying Edje object of $it, whose
- parameters $emission, $source and $func match exactly with
- those passed to a previous call to
- @.signal_callback_add. The data pointer that was passed
- to this call will be returned.
-
- See: @.signal_callback_add
-
- @since 1.8]]
- params {
- emission: string; [[The signal's name.]]
- source: string; [[The signal's source.]]
- func: Elm_Object_Item_Signal_Cb; [[The callback function to be executed when the signal is emitted.]]
- }
- return: void_ptr; [[The data pointer of the signal callback or $NULL, on errors.]]
- }
- signal_emit {
- [[Send a signal to the edje object of the widget item.
-
- This function sends a signal to the edje object of the obj item. An
- edje program can respond to a signal by specifying matching
- 'signal' and 'source' fields.
- Don't use this unless you want to also handle resetting of part states to default on
- every unrealize in case of genlist/gengrid.]]
- params {
- emission: string; [[The signal's name.]]
- source: string; [[The signal's source.]]
- }
- }
- access_info_set {
- [[Set the text to read out when in accessibility mode]]
- params {
- txt: string; [[The text that describes the widget to people with poor or no vision]]
- }
- }
- access_object_get @const {
- [[Get an accessible object of the object item.
-
- @since 1.8]]
- return: Efl.Canvas.Object; [[Accessible object of the object item or NULL for any error]]
- }
- domain_translatable_part_text_set {
- [[Set the text for an object item's part, marking it as translatable.
-
- The string to set as $text must be the original one. Do not pass the
- return of $gettext() here. Elementary will translate the string
- internally and set it on the object item using
- @.part_text.set, also storing the original string so that it
- can be automatically translated when the language is changed with
- elm_language_set(). The $domain will be stored along to find the
- translation in the correct catalog. It can be NULL, in which case it will use
- whatever domain was set by the application with $textdomain(). This is
- useful in case you are building a library on top of Elementary that will have
- its own translatable strings, that should not be mixed with those of programs
- using the library.
-
- @since 1.8]]
- params {
- part: string; [[The name of the part to set]]
- domain: string; [[The translation domain to use]]
- label: string; [[The original, non-translated text to set]]
- }
- }
- translatable_part_text_get @const {
- [[Get the original string set as translatable for an object item.
-
- When setting translated strings, the function @.part_text.get
- will return the translation returned by $gettext(). To get the original
- string use this function.
-
- @since 1.8]]
- params {
- part: string; [[The name of the part that was set]]
- }
- return: string; [[The original, untranslated string]]
- }
- translate @protected {
- [[Query translate]]
- legacy: null;
- }
- domain_part_text_translatable_set {
- [[Mark the part text to be translatable or not.
-
- Once you mark the part text to be translatable, the text will be translated
- internally regardless of @.part_text.set and
- @.domain_translatable_part_text_set. In other case, if you
- set the Elementary policy that all text will be translatable in default, you
- can set the part text to not be translated by calling this API.
-
- See: @.domain_translatable_part_text_set
- See: @.part_text.set
- See: elm_policy()
-
- @since 1.8]]
- params {
- part: string; [[The part name of the translatable text]]
- domain: string; [[The translation domain to use]]
- translatable: bool; [[$true, the part text will be translated internally. $false, otherwise.]]
- }
- }
- track {
- [[This returns track object of the item.
-
- Note: This gets a rectangle object that represents the object item's internal
- object. If you want to check the geometry, visibility of the item, you
- can call the evas apis such as evas_object_geometry_get(),
- evas_object_visible_get() to the track object. Note that all of the
- widget items may/may not have the internal object so this api may
- return $NULL if the widget item doesn't have it. Additionally, the
- widget item is managed/controlled by the widget, the widget item could
- be changed(moved, resized even deleted) anytime by it's own widget's
- decision. So please dont' change the track object as well as don't
- keep the track object in your side as possible but get the track object
- at the moment you need to refer. Otherwise, you need to add some
- callbacks to the track object to track it's attributes changes.
-
- Warning: After use the track object, please call the
- @.untrack() paired to elm_object_item_track
- definitely to free the track object properly. Don't delete the
- track object.
-
- See: @.untrack
- See: @.track_get
-
- @since 1.8]]
- return: Efl.Canvas.Object; [[The track object]]
- }
- untrack {
- [[This retrieve the track object of the item.
-
- Note: This retrieves the track object that was returned from
- @.track.
-
- See: @.track
- See: @.track_get
-
- @since 1.8]]
- }
- track_get @const {
- [[Get the track object reference count.
-
- Note: This gets the reference count for the track object. Whenever you call
- the @.track, the reference count will be increased by
- one. Likely the reference count will be decreased again when you call
- the @.untrack. Unless the reference count reaches to
- zero, the track object won't be deleted. So please be sure to call
- @.untrack() paired to the elm_object_item_track call
- count.
-
- See: @.track
- See: @.track_get
-
- @since 1.8]]
- return: int; [[Track object reference count]]
- }
- track_cancel @protected {
- [[Query track_cancel]]
- legacy: null;
- }
- del_cb_set {
- [[Set the function to be called when an item from the widget is
- freed.
-
- Note: Every elm_object_item supports this API]]
- params {
- del_cb: Evas_Smart_Cb @nullable; [[The function called]]
- }
- }
- tooltip_content_cb_set {
- [[Set the content to be shown in the tooltip item.
-
- Setup the tooltip to item. The item can have only one tooltip,
- so any previous tooltip data is removed. $func(with $data) will
- be called every time that need show the tooltip and it should
- return a valid Evas_Object. This object is then managed fully by
- tooltip system and is deleted when the tooltip is gone.
-
- See: elm_object_tooltip_content_cb_set() for more details.]]
- params {
- func: Elm_Tooltip_Item_Content_Cb @nullable; [[The function used to create the tooltip contents.]]
- data: const(void_ptr) @optional; [[What to provide to $func as callback data/context.]]
- del_cb: Evas_Smart_Cb @optional; [[Called when data is not needed anymore, either when another callback replaces $func, the tooltip is unset with @.tooltip_unset or the owner $item dies. This callback receives as the first parameter the given $data, and $event_info is the item.]]
-
- }
- }
- access_register {
- [[Register object item as an accessible object.
-
- @since 1.8]]
- return: Efl.Canvas.Object; [[Accessible object of the object item or NULL for any error]]
- }
- access_unregister {
- [[Unregister accessible object of the object item.
-
- @since 1.8]]
- }
- access_order_unset {
- [[Unset highlight order
-
- @since 1.8]]
- }
- disable @protected {
- [[Disable widget item]]
- legacy: null;
- }
- del_pre @protected {
- [[Delete pre widget item]]
- legacy: null;
- }
- focus_next_object_get @const {
- [[Get the next object with specific focus direction.
-
- @since 1.16]]
- params {
- dir: Efl.Ui.Focus.Direction; [[Focus direction]]
- }
- return: Efl.Canvas.Object; [[Focus next object]]
- }
- focus_next_object_set {
- [[Set the next object with specific focus direction.
-
- @since 1.16]]
- params {
- next: Efl.Canvas.Object @nullable; [[Focus next object]]
- dir: Efl.Ui.Focus.Direction; [[Focus direction]]
- }
- }
- focus_next_item_get @const {
- [[Get the next object item with specific focus direction.
-
- @since 1.16]]
- params {
- dir: Efl.Ui.Focus.Direction; [[Focus direction]]
- }
- return: Elm.Widget.Item; [[Focus next object item]]
- }
- focus_next_item_set {
- [[Set the next object item with specific focus direction.
-
- @since 1.16]]
- params {
- next_item: Elm.Widget.Item @nullable; [[Focus next object item]]
- dir: Efl.Ui.Focus.Direction; [[Focus direction]]
- }
- }
- }
- implements {
- Efl.Object.constructor;
- Efl.Object.destructor;
- Efl.Object.invalidate;
- Efl.Access.Object.state_set { get; }
- Efl.Access.Object.attributes { get; }
- Efl.Access.Component.extents { get; set; }
- Efl.Access.Component.focus_grab;
-
- //TIZEN_ONLY(20150713) : add widget_item name setter
- Efl.Access.Object.i18n_name { set; get;}
- //
-
- //TIZEN_ONLY(20161111) add widget/widget_item description get/set
- Efl.Access.Object.description { set; get; }
- //
-
- //TIZEN_ONLY(20160726): add API elm_atspi_accessible_can_highlight_set/get
- Efl.Access.Object.can_highlight { get; set; }
- //
-
- //TIZEN_ONLY(20150731) : add i18n support for name and description
- Efl.Access.Object.translation_domain { set; get;}
- //
-
- //TIZEN_ONLY(20150709) : atspi relations api
- Efl.Access.Object.relation_set { get; }
- Efl.Access.Object.relationship_append;
- Efl.Access.Object.relationship_remove;
- Efl.Access.Object.relationships_clear;
- //
-
- //TIZEN_ONLY(20171108): bring HIGHLIGHT related changes
- Efl.Access.Component.highlight_grab;
- Efl.Access.Component.highlight_clear;
- //
-
- //TIZEN_ONLY(20160527): widget: add AtspiAction interface to all widgets
- Efl.Access.Widget.Action.elm_actions { get; }
- //
- }
-}
+++ /dev/null
-interface Elm.Widget_Item_Container {
- methods {
- @property focused_item {
- get {
- [[Get the focused widget item.]]
- return: Elm.Widget.Item; [[Focused item]]
- }
- }
- }
-}
--- /dev/null
+EOAPI EFL_FUNC_BODY_CONST(elm_widget_item_container_focused_item_get, Elm_Widget_Item *, NULL);
+
+static Eina_Bool
+_elm_widget_item_container_class_initializer(Efl_Class *klass)
+{
+ const Efl_Object_Ops *opsp = NULL;
+
+ const Efl_Object_Property_Reflection_Ops *ropsp = NULL;
+
+#ifndef ELM_WIDGET_ITEM_CONTAINER_EXTRA_OPS
+#define ELM_WIDGET_ITEM_CONTAINER_EXTRA_OPS
+#endif
+
+ EFL_OPS_DEFINE(ops,
+ EFL_OBJECT_OP_FUNC(elm_widget_item_container_focused_item_get, NULL),
+ ELM_WIDGET_ITEM_CONTAINER_EXTRA_OPS
+ );
+ opsp = &ops;
+
+ return efl_class_functions_set(klass, opsp, ropsp);
+}
+
+static const Efl_Class_Description _elm_widget_item_container_class_desc = {
+ EO_VERSION,
+ "Elm.Widget_Item_Container",
+ EFL_CLASS_TYPE_INTERFACE,
+ 0,
+ _elm_widget_item_container_class_initializer,
+ NULL,
+ NULL
+};
+
+EFL_DEFINE_CLASS(elm_widget_item_container_interface_get, &_elm_widget_item_container_class_desc, NULL, NULL);
--- /dev/null
+#ifndef _ELM_WIDGET_ITEM_CONTAINER_EO_H_
+#define _ELM_WIDGET_ITEM_CONTAINER_EO_H_
+
+#ifndef _ELM_WIDGET_ITEM_CONTAINER_EO_CLASS_TYPE
+#define _ELM_WIDGET_ITEM_CONTAINER_EO_CLASS_TYPE
+
+typedef Eo Elm_Widget_Item_Container;
+
+#endif
+
+#ifndef _ELM_WIDGET_ITEM_CONTAINER_EO_TYPES
+#define _ELM_WIDGET_ITEM_CONTAINER_EO_TYPES
+
+
+#endif
+#define ELM_WIDGET_ITEM_CONTAINER_INTERFACE elm_widget_item_container_interface_get()
+
+EWAPI const Efl_Class *elm_widget_item_container_interface_get(void);
+
+/**
+ * @brief Get the focused widget item.
+ *
+ * @param[in] obj The object.
+ *
+ * @return Focused item
+ *
+ * @ingroup Elm_Widget_Item_Container
+ */
+EOAPI Elm_Widget_Item *elm_widget_item_container_focused_item_get(const Eo *obj);
+
+#endif
--- /dev/null
+#ifndef _ELM_WIDGET_ITEM_CONTAINER_EO_LEGACY_H_
+#define _ELM_WIDGET_ITEM_CONTAINER_EO_LEGACY_H_
+
+#ifndef _ELM_WIDGET_ITEM_CONTAINER_EO_CLASS_TYPE
+#define _ELM_WIDGET_ITEM_CONTAINER_EO_CLASS_TYPE
+
+typedef Eo Elm_Widget_Item_Container;
+
+#endif
+
+#ifndef _ELM_WIDGET_ITEM_CONTAINER_EO_TYPES
+#define _ELM_WIDGET_ITEM_CONTAINER_EO_TYPES
+
+
+#endif
+
+
+#endif
--- /dev/null
+
+Eina_Bool _elm_widget_item_tooltip_window_mode_set(Eo *obj, Elm_Widget_Item_Data *pd, Eina_Bool disable);
+
+
+static Eina_Error
+__eolian_elm_widget_item_tooltip_window_mode_set_reflect(Eo *obj, Eina_Value val)
+{
+ Eina_Error r = 0; Eina_Bool cval;
+ if (!eina_value_bool_convert(&val, &cval))
+ {
+ r = EINA_ERROR_VALUE_FAILED;
+ goto end;
+ }
+ elm_wdg_item_tooltip_window_mode_set(obj, cval);
+ end:
+ eina_value_flush(&val);
+ return r;
+}
+
+EOAPI EFL_FUNC_BODYV(elm_wdg_item_tooltip_window_mode_set, Eina_Bool, 0, EFL_FUNC_CALL(disable), Eina_Bool disable);
+
+Eina_Bool _elm_widget_item_tooltip_window_mode_get(const Eo *obj, Elm_Widget_Item_Data *pd);
+
+
+static Eina_Value
+__eolian_elm_widget_item_tooltip_window_mode_get_reflect(Eo *obj)
+{
+ Eina_Bool val = elm_wdg_item_tooltip_window_mode_get(obj);
+ return eina_value_bool_init(val);
+}
+
+EOAPI EFL_FUNC_BODY_CONST(elm_wdg_item_tooltip_window_mode_get, Eina_Bool, 0);
+
+void _elm_widget_item_tooltip_style_set(Eo *obj, Elm_Widget_Item_Data *pd, const char *style);
+
+
+static Eina_Error
+__eolian_elm_widget_item_tooltip_style_set_reflect(Eo *obj, Eina_Value val)
+{
+ Eina_Error r = 0; const char *cval;
+ if (!eina_value_string_convert(&val, &cval))
+ {
+ r = EINA_ERROR_VALUE_FAILED;
+ goto end;
+ }
+ elm_wdg_item_tooltip_style_set(obj, cval);
+ end:
+ eina_value_flush(&val);
+ return r;
+}
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_tooltip_style_set, EFL_FUNC_CALL(style), const char *style);
+
+const char *_elm_widget_item_tooltip_style_get(const Eo *obj, Elm_Widget_Item_Data *pd);
+
+
+static Eina_Value
+__eolian_elm_widget_item_tooltip_style_get_reflect(Eo *obj)
+{
+ const char *val = elm_wdg_item_tooltip_style_get(obj);
+ return eina_value_string_init(val);
+}
+
+EOAPI EFL_FUNC_BODY_CONST(elm_wdg_item_tooltip_style_get, const char *, NULL);
+
+void _elm_widget_item_cursor_set(Eo *obj, Elm_Widget_Item_Data *pd, const char *cursor);
+
+
+static Eina_Error
+__eolian_elm_widget_item_cursor_set_reflect(Eo *obj, Eina_Value val)
+{
+ Eina_Error r = 0; const char *cval;
+ if (!eina_value_string_convert(&val, &cval))
+ {
+ r = EINA_ERROR_VALUE_FAILED;
+ goto end;
+ }
+ elm_wdg_item_cursor_set(obj, cval);
+ end:
+ eina_value_flush(&val);
+ return r;
+}
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_cursor_set, EFL_FUNC_CALL(cursor), const char *cursor);
+
+const char *_elm_widget_item_cursor_get(const Eo *obj, Elm_Widget_Item_Data *pd);
+
+
+static Eina_Value
+__eolian_elm_widget_item_cursor_get_reflect(Eo *obj)
+{
+ const char *val = elm_wdg_item_cursor_get(obj);
+ return eina_value_string_init(val);
+}
+
+EOAPI EFL_FUNC_BODY_CONST(elm_wdg_item_cursor_get, const char *, NULL);
+
+void _elm_widget_item_cursor_style_set(Eo *obj, Elm_Widget_Item_Data *pd, const char *style);
+
+
+static Eina_Error
+__eolian_elm_widget_item_cursor_style_set_reflect(Eo *obj, Eina_Value val)
+{
+ Eina_Error r = 0; const char *cval;
+ if (!eina_value_string_convert(&val, &cval))
+ {
+ r = EINA_ERROR_VALUE_FAILED;
+ goto end;
+ }
+ elm_wdg_item_cursor_style_set(obj, cval);
+ end:
+ eina_value_flush(&val);
+ return r;
+}
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_cursor_style_set, EFL_FUNC_CALL(style), const char *style);
+
+const char *_elm_widget_item_cursor_style_get(const Eo *obj, Elm_Widget_Item_Data *pd);
+
+
+static Eina_Value
+__eolian_elm_widget_item_cursor_style_get_reflect(Eo *obj)
+{
+ const char *val = elm_wdg_item_cursor_style_get(obj);
+ return eina_value_string_init(val);
+}
+
+EOAPI EFL_FUNC_BODY_CONST(elm_wdg_item_cursor_style_get, const char *, NULL);
+
+void _elm_widget_item_cursor_engine_only_set(Eo *obj, Elm_Widget_Item_Data *pd, Eina_Bool engine_only);
+
+
+static Eina_Error
+__eolian_elm_widget_item_cursor_engine_only_set_reflect(Eo *obj, Eina_Value val)
+{
+ Eina_Error r = 0; Eina_Bool cval;
+ if (!eina_value_bool_convert(&val, &cval))
+ {
+ r = EINA_ERROR_VALUE_FAILED;
+ goto end;
+ }
+ elm_wdg_item_cursor_engine_only_set(obj, cval);
+ end:
+ eina_value_flush(&val);
+ return r;
+}
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_cursor_engine_only_set, EFL_FUNC_CALL(engine_only), Eina_Bool engine_only);
+
+Eina_Bool _elm_widget_item_cursor_engine_only_get(const Eo *obj, Elm_Widget_Item_Data *pd);
+
+
+static Eina_Value
+__eolian_elm_widget_item_cursor_engine_only_get_reflect(Eo *obj)
+{
+ Eina_Bool val = elm_wdg_item_cursor_engine_only_get(obj);
+ return eina_value_bool_init(val);
+}
+
+EOAPI EFL_FUNC_BODY_CONST(elm_wdg_item_cursor_engine_only_get, Eina_Bool, 0);
+
+void _elm_widget_item_part_content_set(Eo *obj, Elm_Widget_Item_Data *pd, const char *part, Efl_Canvas_Object *content);
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_part_content_set, EFL_FUNC_CALL(part, content), const char *part, Efl_Canvas_Object *content);
+
+Efl_Canvas_Object *_elm_widget_item_part_content_get(const Eo *obj, Elm_Widget_Item_Data *pd, const char *part);
+
+EOAPI EFL_FUNC_BODYV_CONST(elm_wdg_item_part_content_get, Efl_Canvas_Object *, NULL, EFL_FUNC_CALL(part), const char *part);
+
+void _elm_widget_item_part_text_set(Eo *obj, Elm_Widget_Item_Data *pd, const char *part, const char *label);
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_part_text_set, EFL_FUNC_CALL(part, label), const char *part, const char *label);
+
+const char *_elm_widget_item_part_text_get(const Eo *obj, Elm_Widget_Item_Data *pd, const char *part);
+
+EOAPI EFL_FUNC_BODYV_CONST(elm_wdg_item_part_text_get, const char *, NULL, EFL_FUNC_CALL(part), const char *part);
+
+void _elm_widget_item_part_text_custom_set(Eo *obj, Elm_Widget_Item_Data *pd, const char *part, const char *label);
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_part_text_custom_set, EFL_FUNC_CALL(part, label), const char *part, const char *label);
+
+const char *_elm_widget_item_part_text_custom_get(const Eo *obj, Elm_Widget_Item_Data *pd, const char *part);
+
+EOAPI EFL_FUNC_BODYV_CONST(elm_wdg_item_part_text_custom_get, const char *, NULL, EFL_FUNC_CALL(part), const char *part);
+
+void _elm_widget_item_item_focus_set(Eo *obj, Elm_Widget_Item_Data *pd, Eina_Bool focused);
+
+
+static Eina_Error
+__eolian_elm_widget_item_item_focus_set_reflect(Eo *obj, Eina_Value val)
+{
+ Eina_Error r = 0; Eina_Bool cval;
+ if (!eina_value_bool_convert(&val, &cval))
+ {
+ r = EINA_ERROR_VALUE_FAILED;
+ goto end;
+ }
+ elm_wdg_item_focus_set(obj, cval);
+ end:
+ eina_value_flush(&val);
+ return r;
+}
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_focus_set, EFL_FUNC_CALL(focused), Eina_Bool focused);
+
+Eina_Bool _elm_widget_item_item_focus_get(const Eo *obj, Elm_Widget_Item_Data *pd);
+
+
+static Eina_Value
+__eolian_elm_widget_item_item_focus_get_reflect(Eo *obj)
+{
+ Eina_Bool val = elm_wdg_item_focus_get(obj);
+ return eina_value_bool_init(val);
+}
+
+EOAPI EFL_FUNC_BODY_CONST(elm_wdg_item_focus_get, Eina_Bool, 0);
+
+void _elm_widget_item_style_set(Eo *obj, Elm_Widget_Item_Data *pd, const char *style);
+
+
+static Eina_Error
+__eolian_elm_widget_item_style_set_reflect(Eo *obj, Eina_Value val)
+{
+ Eina_Error r = 0; const char *cval;
+ if (!eina_value_string_convert(&val, &cval))
+ {
+ r = EINA_ERROR_VALUE_FAILED;
+ goto end;
+ }
+ elm_wdg_item_style_set(obj, cval);
+ end:
+ eina_value_flush(&val);
+ return r;
+}
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_style_set, EFL_FUNC_CALL(style), const char *style);
+
+const char *_elm_widget_item_style_get(const Eo *obj, Elm_Widget_Item_Data *pd);
+
+
+static Eina_Value
+__eolian_elm_widget_item_style_get_reflect(Eo *obj)
+{
+ const char *val = elm_wdg_item_style_get(obj);
+ return eina_value_string_init(val);
+}
+
+EOAPI EFL_FUNC_BODY_CONST(elm_wdg_item_style_get, const char *, NULL);
+
+void _elm_widget_item_disabled_set(Eo *obj, Elm_Widget_Item_Data *pd, Eina_Bool disable);
+
+
+static Eina_Error
+__eolian_elm_widget_item_disabled_set_reflect(Eo *obj, Eina_Value val)
+{
+ Eina_Error r = 0; Eina_Bool cval;
+ if (!eina_value_bool_convert(&val, &cval))
+ {
+ r = EINA_ERROR_VALUE_FAILED;
+ goto end;
+ }
+ elm_wdg_item_disabled_set(obj, cval);
+ end:
+ eina_value_flush(&val);
+ return r;
+}
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_disabled_set, EFL_FUNC_CALL(disable), Eina_Bool disable);
+
+Eina_Bool _elm_widget_item_disabled_get(const Eo *obj, Elm_Widget_Item_Data *pd);
+
+
+static Eina_Value
+__eolian_elm_widget_item_disabled_get_reflect(Eo *obj)
+{
+ Eina_Bool val = elm_wdg_item_disabled_get(obj);
+ return eina_value_bool_init(val);
+}
+
+EOAPI EFL_FUNC_BODY_CONST(elm_wdg_item_disabled_get, Eina_Bool, 0);
+
+const Eina_List *_elm_widget_item_access_order_get(Eo *obj, Elm_Widget_Item_Data *pd);
+
+EOAPI EFL_FUNC_BODY(elm_wdg_item_access_order_get, const Eina_List *, NULL);
+
+void _elm_widget_item_access_order_set(Eo *obj, Elm_Widget_Item_Data *pd, Eina_List *objs);
+
+static void
+_elm_wdg_item_access_order_set_ownership_fallback(Eina_List *objs)
+{
+ eina_list_free(objs);
+}
+
+EOAPI EFL_VOID_FUNC_BODYV_FALLBACK(elm_wdg_item_access_order_set, _elm_wdg_item_access_order_set_ownership_fallback(objs);, EFL_FUNC_CALL(objs), Eina_List *objs);
+
+Efl_Canvas_Object *_elm_widget_item_widget_get(const Eo *obj, Elm_Widget_Item_Data *pd);
+
+EOAPI EFL_FUNC_BODY_CONST(elm_wdg_item_widget_get, Efl_Canvas_Object *, NULL);
+
+void _elm_widget_item_pre_notify_del(Eo *obj, Elm_Widget_Item_Data *pd);
+
+EOAPI EFL_VOID_FUNC_BODY(elm_wdg_item_pre_notify_del);
+
+void _elm_widget_item_tooltip_text_set(Eo *obj, Elm_Widget_Item_Data *pd, const char *text);
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_tooltip_text_set, EFL_FUNC_CALL(text), const char *text);
+
+void _elm_widget_item_tooltip_translatable_text_set(Eo *obj, Elm_Widget_Item_Data *pd, const char *text);
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_tooltip_translatable_text_set, EFL_FUNC_CALL(text), const char *text);
+
+void _elm_widget_item_tooltip_unset(Eo *obj, Elm_Widget_Item_Data *pd);
+
+EOAPI EFL_VOID_FUNC_BODY(elm_wdg_item_tooltip_unset);
+
+void _elm_widget_item_cursor_unset(Eo *obj, Elm_Widget_Item_Data *pd);
+
+EOAPI EFL_VOID_FUNC_BODY(elm_wdg_item_cursor_unset);
+
+Efl_Canvas_Object *_elm_widget_item_part_content_unset(Eo *obj, Elm_Widget_Item_Data *pd, const char *part);
+
+EOAPI EFL_FUNC_BODYV(elm_wdg_item_part_content_unset, Efl_Canvas_Object *, NULL, EFL_FUNC_CALL(part), const char *part);
+
+void _elm_widget_item_part_text_custom_update(Eo *obj, Elm_Widget_Item_Data *pd);
+
+EOAPI EFL_VOID_FUNC_BODY(elm_wdg_item_part_text_custom_update);
+
+void _elm_widget_item_signal_callback_add(Eo *obj, Elm_Widget_Item_Data *pd, const char *emission, const char *source, Elm_Object_Item_Signal_Cb func, void *data);
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_signal_callback_add, EFL_FUNC_CALL(emission, source, func, data), const char *emission, const char *source, Elm_Object_Item_Signal_Cb func, void *data);
+
+void *_elm_widget_item_signal_callback_del(Eo *obj, Elm_Widget_Item_Data *pd, const char *emission, const char *source, Elm_Object_Item_Signal_Cb func);
+
+EOAPI EFL_FUNC_BODYV(elm_wdg_item_signal_callback_del, void *, NULL, EFL_FUNC_CALL(emission, source, func), const char *emission, const char *source, Elm_Object_Item_Signal_Cb func);
+
+void _elm_widget_item_signal_emit(Eo *obj, Elm_Widget_Item_Data *pd, const char *emission, const char *source);
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_signal_emit, EFL_FUNC_CALL(emission, source), const char *emission, const char *source);
+
+void _elm_widget_item_access_info_set(Eo *obj, Elm_Widget_Item_Data *pd, const char *txt);
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_access_info_set, EFL_FUNC_CALL(txt), const char *txt);
+
+Efl_Canvas_Object *_elm_widget_item_access_object_get(const Eo *obj, Elm_Widget_Item_Data *pd);
+
+EOAPI EFL_FUNC_BODY_CONST(elm_wdg_item_access_object_get, Efl_Canvas_Object *, NULL);
+
+void _elm_widget_item_domain_translatable_part_text_set(Eo *obj, Elm_Widget_Item_Data *pd, const char *part, const char *domain, const char *label);
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_domain_translatable_part_text_set, EFL_FUNC_CALL(part, domain, label), const char *part, const char *domain, const char *label);
+
+const char *_elm_widget_item_translatable_part_text_get(const Eo *obj, Elm_Widget_Item_Data *pd, const char *part);
+
+EOAPI EFL_FUNC_BODYV_CONST(elm_wdg_item_translatable_part_text_get, const char *, NULL, EFL_FUNC_CALL(part), const char *part);
+
+void _elm_widget_item_translate(Eo *obj, Elm_Widget_Item_Data *pd);
+
+EOAPI EFL_VOID_FUNC_BODY(elm_wdg_item_translate);
+
+void _elm_widget_item_domain_part_text_translatable_set(Eo *obj, Elm_Widget_Item_Data *pd, const char *part, const char *domain, Eina_Bool translatable);
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_domain_part_text_translatable_set, EFL_FUNC_CALL(part, domain, translatable), const char *part, const char *domain, Eina_Bool translatable);
+
+Efl_Canvas_Object *_elm_widget_item_track(Eo *obj, Elm_Widget_Item_Data *pd);
+
+EOAPI EFL_FUNC_BODY(elm_wdg_item_track, Efl_Canvas_Object *, NULL);
+
+void _elm_widget_item_untrack(Eo *obj, Elm_Widget_Item_Data *pd);
+
+EOAPI EFL_VOID_FUNC_BODY(elm_wdg_item_untrack);
+
+int _elm_widget_item_track_get(const Eo *obj, Elm_Widget_Item_Data *pd);
+
+EOAPI EFL_FUNC_BODY_CONST(elm_wdg_item_track_get, int, 0);
+
+void _elm_widget_item_track_cancel(Eo *obj, Elm_Widget_Item_Data *pd);
+
+EOAPI EFL_VOID_FUNC_BODY(elm_wdg_item_track_cancel);
+
+void _elm_widget_item_del_cb_set(Eo *obj, Elm_Widget_Item_Data *pd, Evas_Smart_Cb del_cb);
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_del_cb_set, EFL_FUNC_CALL(del_cb), Evas_Smart_Cb del_cb);
+
+void _elm_widget_item_tooltip_content_cb_set(Eo *obj, Elm_Widget_Item_Data *pd, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb);
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_tooltip_content_cb_set, EFL_FUNC_CALL(func, data, del_cb), Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb);
+
+Efl_Canvas_Object *_elm_widget_item_access_register(Eo *obj, Elm_Widget_Item_Data *pd);
+
+EOAPI EFL_FUNC_BODY(elm_wdg_item_access_register, Efl_Canvas_Object *, NULL);
+
+void _elm_widget_item_access_unregister(Eo *obj, Elm_Widget_Item_Data *pd);
+
+EOAPI EFL_VOID_FUNC_BODY(elm_wdg_item_access_unregister);
+
+void _elm_widget_item_access_order_unset(Eo *obj, Elm_Widget_Item_Data *pd);
+
+EOAPI EFL_VOID_FUNC_BODY(elm_wdg_item_access_order_unset);
+
+void _elm_widget_item_disable(Eo *obj, Elm_Widget_Item_Data *pd);
+
+EOAPI EFL_VOID_FUNC_BODY(elm_wdg_item_disable);
+
+void _elm_widget_item_del_pre(Eo *obj, Elm_Widget_Item_Data *pd);
+
+EOAPI EFL_VOID_FUNC_BODY(elm_wdg_item_del_pre);
+
+Efl_Canvas_Object *_elm_widget_item_focus_next_object_get(const Eo *obj, Elm_Widget_Item_Data *pd, Efl_Ui_Focus_Direction dir);
+
+EOAPI EFL_FUNC_BODYV_CONST(elm_wdg_item_focus_next_object_get, Efl_Canvas_Object *, NULL, EFL_FUNC_CALL(dir), Efl_Ui_Focus_Direction dir);
+
+void _elm_widget_item_focus_next_object_set(Eo *obj, Elm_Widget_Item_Data *pd, Efl_Canvas_Object *next, Efl_Ui_Focus_Direction dir);
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_focus_next_object_set, EFL_FUNC_CALL(next, dir), Efl_Canvas_Object *next, Efl_Ui_Focus_Direction dir);
+
+Elm_Widget_Item *_elm_widget_item_focus_next_item_get(const Eo *obj, Elm_Widget_Item_Data *pd, Efl_Ui_Focus_Direction dir);
+
+EOAPI EFL_FUNC_BODYV_CONST(elm_wdg_item_focus_next_item_get, Elm_Widget_Item *, NULL, EFL_FUNC_CALL(dir), Efl_Ui_Focus_Direction dir);
+
+void _elm_widget_item_focus_next_item_set(Eo *obj, Elm_Widget_Item_Data *pd, Elm_Widget_Item *next_item, Efl_Ui_Focus_Direction dir);
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_wdg_item_focus_next_item_set, EFL_FUNC_CALL(next_item, dir), Elm_Widget_Item *next_item, Efl_Ui_Focus_Direction dir);
+
+Efl_Object *_elm_widget_item_efl_object_constructor(Eo *obj, Elm_Widget_Item_Data *pd);
+
+
+void _elm_widget_item_efl_object_destructor(Eo *obj, Elm_Widget_Item_Data *pd);
+
+
+void _elm_widget_item_efl_object_invalidate(Eo *obj, Elm_Widget_Item_Data *pd);
+
+
+Efl_Access_State_Set _elm_widget_item_efl_access_object_state_set_get(const Eo *obj, Elm_Widget_Item_Data *pd);
+
+
+Eina_List *_elm_widget_item_efl_access_object_attributes_get(const Eo *obj, Elm_Widget_Item_Data *pd);
+
+
+Eina_Bool _elm_widget_item_efl_access_component_extents_set(Eo *obj, Elm_Widget_Item_Data *pd, Eina_Bool screen_coords, Eina_Rect rect);
+
+
+Eina_Rect _elm_widget_item_efl_access_component_extents_get(const Eo *obj, Elm_Widget_Item_Data *pd, Eina_Bool screen_coords);
+
+
+Eina_Bool _elm_widget_item_efl_access_component_focus_grab(Eo *obj, Elm_Widget_Item_Data *pd);
+
+
+static Eina_Bool
+_elm_widget_item_class_initializer(Efl_Class *klass)
+{
+ const Efl_Object_Ops *opsp = NULL;
+
+ const Efl_Object_Property_Reflection_Ops *ropsp = NULL;
+
+#ifndef ELM_WIDGET_ITEM_EXTRA_OPS
+#define ELM_WIDGET_ITEM_EXTRA_OPS
+#endif
+
+ EFL_OPS_DEFINE(ops,
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_tooltip_window_mode_set, _elm_widget_item_tooltip_window_mode_set),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_tooltip_window_mode_get, _elm_widget_item_tooltip_window_mode_get),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_tooltip_style_set, _elm_widget_item_tooltip_style_set),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_tooltip_style_get, _elm_widget_item_tooltip_style_get),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_cursor_set, _elm_widget_item_cursor_set),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_cursor_get, _elm_widget_item_cursor_get),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_cursor_style_set, _elm_widget_item_cursor_style_set),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_cursor_style_get, _elm_widget_item_cursor_style_get),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_cursor_engine_only_set, _elm_widget_item_cursor_engine_only_set),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_cursor_engine_only_get, _elm_widget_item_cursor_engine_only_get),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_part_content_set, _elm_widget_item_part_content_set),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_part_content_get, _elm_widget_item_part_content_get),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_part_text_set, _elm_widget_item_part_text_set),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_part_text_get, _elm_widget_item_part_text_get),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_part_text_custom_set, _elm_widget_item_part_text_custom_set),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_part_text_custom_get, _elm_widget_item_part_text_custom_get),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_focus_set, _elm_widget_item_item_focus_set),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_focus_get, _elm_widget_item_item_focus_get),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_style_set, _elm_widget_item_style_set),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_style_get, _elm_widget_item_style_get),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_disabled_set, _elm_widget_item_disabled_set),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_disabled_get, _elm_widget_item_disabled_get),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_access_order_get, _elm_widget_item_access_order_get),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_access_order_set, _elm_widget_item_access_order_set),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_widget_get, _elm_widget_item_widget_get),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_pre_notify_del, _elm_widget_item_pre_notify_del),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_tooltip_text_set, _elm_widget_item_tooltip_text_set),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_tooltip_translatable_text_set, _elm_widget_item_tooltip_translatable_text_set),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_tooltip_unset, _elm_widget_item_tooltip_unset),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_cursor_unset, _elm_widget_item_cursor_unset),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_part_content_unset, _elm_widget_item_part_content_unset),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_part_text_custom_update, _elm_widget_item_part_text_custom_update),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_signal_callback_add, _elm_widget_item_signal_callback_add),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_signal_callback_del, _elm_widget_item_signal_callback_del),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_signal_emit, _elm_widget_item_signal_emit),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_access_info_set, _elm_widget_item_access_info_set),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_access_object_get, _elm_widget_item_access_object_get),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_domain_translatable_part_text_set, _elm_widget_item_domain_translatable_part_text_set),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_translatable_part_text_get, _elm_widget_item_translatable_part_text_get),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_translate, _elm_widget_item_translate),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_domain_part_text_translatable_set, _elm_widget_item_domain_part_text_translatable_set),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_track, _elm_widget_item_track),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_untrack, _elm_widget_item_untrack),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_track_get, _elm_widget_item_track_get),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_track_cancel, _elm_widget_item_track_cancel),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_del_cb_set, _elm_widget_item_del_cb_set),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_tooltip_content_cb_set, _elm_widget_item_tooltip_content_cb_set),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_access_register, _elm_widget_item_access_register),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_access_unregister, _elm_widget_item_access_unregister),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_access_order_unset, _elm_widget_item_access_order_unset),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_disable, _elm_widget_item_disable),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_del_pre, _elm_widget_item_del_pre),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_focus_next_object_get, _elm_widget_item_focus_next_object_get),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_focus_next_object_set, _elm_widget_item_focus_next_object_set),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_focus_next_item_get, _elm_widget_item_focus_next_item_get),
+ EFL_OBJECT_OP_FUNC(elm_wdg_item_focus_next_item_set, _elm_widget_item_focus_next_item_set),
+ EFL_OBJECT_OP_FUNC(efl_constructor, _elm_widget_item_efl_object_constructor),
+ EFL_OBJECT_OP_FUNC(efl_destructor, _elm_widget_item_efl_object_destructor),
+ EFL_OBJECT_OP_FUNC(efl_invalidate, _elm_widget_item_efl_object_invalidate),
+ EFL_OBJECT_OP_FUNC(efl_access_object_state_set_get, _elm_widget_item_efl_access_object_state_set_get),
+ EFL_OBJECT_OP_FUNC(efl_access_object_attributes_get, _elm_widget_item_efl_access_object_attributes_get),
+ EFL_OBJECT_OP_FUNC(efl_access_component_extents_set, _elm_widget_item_efl_access_component_extents_set),
+ EFL_OBJECT_OP_FUNC(efl_access_component_extents_get, _elm_widget_item_efl_access_component_extents_get),
+ EFL_OBJECT_OP_FUNC(efl_access_component_focus_grab, _elm_widget_item_efl_access_component_focus_grab),
+ ELM_WIDGET_ITEM_EXTRA_OPS
+ );
+ opsp = &ops;
+
+ static const Efl_Object_Property_Reflection refl_table[] = {
+ {"tooltip_window_mode", __eolian_elm_widget_item_tooltip_window_mode_set_reflect, __eolian_elm_widget_item_tooltip_window_mode_get_reflect},
+ {"tooltip_style", __eolian_elm_widget_item_tooltip_style_set_reflect, __eolian_elm_widget_item_tooltip_style_get_reflect},
+ {"cursor", __eolian_elm_widget_item_cursor_set_reflect, __eolian_elm_widget_item_cursor_get_reflect},
+ {"cursor_style", __eolian_elm_widget_item_cursor_style_set_reflect, __eolian_elm_widget_item_cursor_style_get_reflect},
+ {"cursor_engine_only", __eolian_elm_widget_item_cursor_engine_only_set_reflect, __eolian_elm_widget_item_cursor_engine_only_get_reflect},
+ {"item_focus", __eolian_elm_widget_item_item_focus_set_reflect, __eolian_elm_widget_item_item_focus_get_reflect},
+ {"style", __eolian_elm_widget_item_style_set_reflect, __eolian_elm_widget_item_style_get_reflect},
+ {"disabled", __eolian_elm_widget_item_disabled_set_reflect, __eolian_elm_widget_item_disabled_get_reflect},
+ };
+ static const Efl_Object_Property_Reflection_Ops rops = {
+ refl_table, EINA_C_ARRAY_LENGTH(refl_table)
+ };
+ ropsp = &rops;
+
+ return efl_class_functions_set(klass, opsp, ropsp);
+}
+
+static const Efl_Class_Description _elm_widget_item_class_desc = {
+ EO_VERSION,
+ "Elm.Widget.Item",
+ EFL_CLASS_TYPE_REGULAR,
+ sizeof(Elm_Widget_Item_Data),
+ _elm_widget_item_class_initializer,
+ NULL,
+ NULL
+};
+
+EFL_DEFINE_CLASS(elm_widget_item_class_get, &_elm_widget_item_class_desc, EFL_OBJECT_CLASS, EFL_ACCESS_OBJECT_MIXIN, EFL_ACCESS_COMPONENT_MIXIN, NULL);
+
+#include "elm_widget_item_eo.legacy.c"
--- /dev/null
+#ifndef _ELM_WIDGET_ITEM_EO_H_
+#define _ELM_WIDGET_ITEM_EO_H_
+
+#ifndef _ELM_WIDGET_ITEM_EO_CLASS_TYPE
+#define _ELM_WIDGET_ITEM_EO_CLASS_TYPE
+
+typedef Eo Elm_Widget_Item;
+
+#endif
+
+#ifndef _ELM_WIDGET_ITEM_EO_TYPES
+#define _ELM_WIDGET_ITEM_EO_TYPES
+
+
+#endif
+/** Elementary widget item class
+ *
+ * @ingroup Elm_Widget_Item
+ */
+#define ELM_WIDGET_ITEM_CLASS elm_widget_item_class_get()
+
+EWAPI const Efl_Class *elm_widget_item_class_get(void);
+
+/**
+ * @brief Control size restriction state of an object's tooltip
+ *
+ * This function returns whether a tooltip is allowed to expand beyond its
+ * parent window's canvas. It will instead be limited only by the size of the
+ * display.
+ *
+ * @param[in] obj The object.
+ * @param[in] disable If @c true, size restrictions are disabled
+ *
+ * @return @c false on failure, @c true on success
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI Eina_Bool elm_wdg_item_tooltip_window_mode_set(Eo *obj, Eina_Bool disable);
+
+/**
+ * @brief Control size restriction state of an object's tooltip
+ *
+ * This function returns whether a tooltip is allowed to expand beyond its
+ * parent window's canvas. It will instead be limited only by the size of the
+ * display.
+ *
+ * @param[in] obj The object.
+ *
+ * @return If @c true, size restrictions are disabled
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI Eina_Bool elm_wdg_item_tooltip_window_mode_get(const Eo *obj);
+
+/**
+ * @brief Control a different style for this item tooltip.
+ *
+ * @note before you set a style you should define a tooltip with
+ * @ref elm_wdg_item_tooltip_content_cb_set or
+ * @ref elm_wdg_item_tooltip_text_set
+ *
+ * See: elm_object_tooltip_style_set() for more details.
+ *
+ * @param[in] obj The object.
+ * @param[in] style The theme style used/to use (default, transparent, ...)
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI void elm_wdg_item_tooltip_style_set(Eo *obj, const char *style);
+
+/**
+ * @brief Control a different style for this item tooltip.
+ *
+ * @note before you set a style you should define a tooltip with
+ * @ref elm_wdg_item_tooltip_content_cb_set or
+ * @ref elm_wdg_item_tooltip_text_set
+ *
+ * See: elm_object_tooltip_style_set() for more details.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The theme style used/to use (default, transparent, ...)
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI const char *elm_wdg_item_tooltip_style_get(const Eo *obj);
+
+/**
+ * @brief Control the type of mouse pointer/cursor decoration to be shown, when
+ * the mouse pointer is over the given item
+ *
+ * This function works analogously as elm_object_cursor_set(), but here the
+ * cursor's changing area is restricted to the item's area, and not the whole
+ * widget's. Note that that item cursors have precedence over widget cursors,
+ * so that a mouse over an item with custom cursor set will always show that
+ * cursor.
+ *
+ * If this function is called twice for an object, a previously set cursor will
+ * be unset on the second call.
+ *
+ * @param[in] obj The object.
+ * @param[in] cursor The cursor type's name
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI void elm_wdg_item_cursor_set(Eo *obj, const char *cursor);
+
+/**
+ * @brief Control the type of mouse pointer/cursor decoration to be shown, when
+ * the mouse pointer is over the given item
+ *
+ * This function works analogously as elm_object_cursor_set(), but here the
+ * cursor's changing area is restricted to the item's area, and not the whole
+ * widget's. Note that that item cursors have precedence over widget cursors,
+ * so that a mouse over an item with custom cursor set will always show that
+ * cursor.
+ *
+ * If this function is called twice for an object, a previously set cursor will
+ * be unset on the second call.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The cursor type's name
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI const char *elm_wdg_item_cursor_get(const Eo *obj);
+
+/**
+ * @brief Control a different @c style for a given custom cursor set for an
+ * item.
+ *
+ * This function only makes sense when one is using custom mouse cursor
+ * decorations defined in a theme file, which can have, given a cursor
+ * name/type, alternate styles on it. It works analogously as
+ * elm_object_cursor_style_set(), but here applies only to item objects.
+ *
+ * @warning Before you set a cursor style you should have defined a custom
+ * cursor previously on the item, with @ref elm_wdg_item_cursor_set
+ *
+ * @param[in] obj The object.
+ * @param[in] style The theme style to use/in use (e.g. $"default",
+ * $"transparent", etc)
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI void elm_wdg_item_cursor_style_set(Eo *obj, const char *style);
+
+/**
+ * @brief Control a different @c style for a given custom cursor set for an
+ * item.
+ *
+ * This function only makes sense when one is using custom mouse cursor
+ * decorations defined in a theme file, which can have, given a cursor
+ * name/type, alternate styles on it. It works analogously as
+ * elm_object_cursor_style_set(), but here applies only to item objects.
+ *
+ * @warning Before you set a cursor style you should have defined a custom
+ * cursor previously on the item, with @ref elm_wdg_item_cursor_set
+ *
+ * @param[in] obj The object.
+ *
+ * @return The theme style to use/in use (e.g. $"default", $"transparent", etc)
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI const char *elm_wdg_item_cursor_style_get(const Eo *obj);
+
+/**
+ * @brief Control if the (custom)cursor for a given item should be searched in
+ * its theme, also, or should only rely on the rendering engine.
+ *
+ * @note This call is of use only if you've set a custom cursor for items, with
+ * @ref elm_wdg_item_cursor_set.
+ *
+ * @note By default, cursors will only be looked for between those provided by
+ * the rendering engine.
+ *
+ * @param[in] obj The object.
+ * @param[in] engine_only Use @c true to have cursors looked for only on those
+ * provided by the rendering engine, @c false to have them searched on the
+ * widget's theme, as well.
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI void elm_wdg_item_cursor_engine_only_set(Eo *obj, Eina_Bool engine_only);
+
+/**
+ * @brief Control if the (custom)cursor for a given item should be searched in
+ * its theme, also, or should only rely on the rendering engine.
+ *
+ * @note This call is of use only if you've set a custom cursor for items, with
+ * @ref elm_wdg_item_cursor_set.
+ *
+ * @note By default, cursors will only be looked for between those provided by
+ * the rendering engine.
+ *
+ * @param[in] obj The object.
+ *
+ * @return Use @c true to have cursors looked for only on those provided by the
+ * rendering engine, @c false to have them searched on the widget's theme, as
+ * well.
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI Eina_Bool elm_wdg_item_cursor_engine_only_get(const Eo *obj);
+
+/**
+ * @brief Control a content of an object item
+ *
+ * This sets a new object to an item as a content object. If any object was
+ * already set as a content object in the same part, previous object will be
+ * deleted automatically.
+ *
+ * @param[in] obj The object.
+ * @param[in] part The content part name (NULL for the default content)
+ * @param[in] content The content of the object item
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI void elm_wdg_item_part_content_set(Eo *obj, const char *part, Efl_Canvas_Object *content);
+
+/**
+ * @brief Control a content of an object item
+ *
+ * This sets a new object to an item as a content object. If any object was
+ * already set as a content object in the same part, previous object will be
+ * deleted automatically.
+ *
+ * @param[in] obj The object.
+ * @param[in] part The content part name (NULL for the default content)
+ *
+ * @return The content of the object item
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI Efl_Canvas_Object *elm_wdg_item_part_content_get(const Eo *obj, const char *part);
+
+/**
+ * @brief Control a label of an object item
+ *
+ * @note Elementary object items may have many labels
+ *
+ * @param[in] obj The object.
+ * @param[in] part The text part name (NULL for the default label)
+ * @param[in] label Text of the label
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI void elm_wdg_item_part_text_set(Eo *obj, const char *part, const char *label);
+
+/**
+ * @brief Control a label of an object item
+ *
+ * @note Elementary object items may have many labels
+ *
+ * @param[in] obj The object.
+ * @param[in] part The text part name (NULL for the default label)
+ *
+ * @return Text of the label
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI const char *elm_wdg_item_part_text_get(const Eo *obj, const char *part);
+
+#ifdef ELM_WIDGET_ITEM_PROTECTED
+/**
+ * @brief Save additional text part content
+ *
+ * @param[in] obj The object.
+ * @param[in] part Part name
+ * @param[in] label Label name
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI void elm_wdg_item_part_text_custom_set(Eo *obj, const char *part, const char *label);
+#endif
+
+#ifdef ELM_WIDGET_ITEM_PROTECTED
+/**
+ * @brief Get additional text part content
+ *
+ * @param[in] obj The object.
+ * @param[in] part Part name
+ *
+ * @return Label name
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI const char *elm_wdg_item_part_text_custom_get(const Eo *obj, const char *part);
+#endif
+
+/**
+ * @brief Control the object item focused
+ *
+ * @param[in] obj The object.
+ * @param[in] focused The focused state
+ *
+ * @since 1.10
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI void elm_wdg_item_focus_set(Eo *obj, Eina_Bool focused);
+
+/**
+ * @brief Control the object item focused
+ *
+ * @param[in] obj The object.
+ *
+ * @return The focused state
+ *
+ * @since 1.10
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI Eina_Bool elm_wdg_item_focus_get(const Eo *obj);
+
+/**
+ * @brief Control the style of an object item
+ *
+ * @param[in] obj The object.
+ * @param[in] style The style of object item
+ *
+ * @since 1.9
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI void elm_wdg_item_style_set(Eo *obj, const char *style);
+
+/**
+ * @brief Control the style of an object item
+ *
+ * @param[in] obj The object.
+ *
+ * @return The style of object item
+ *
+ * @since 1.9
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI const char *elm_wdg_item_style_get(const Eo *obj);
+
+/**
+ * @brief Control the disabled state of a widget item.
+ *
+ * Elementary object item can be disabled, in which state they won't receive
+ * input and, in general, will be themed differently from their normal state,
+ * usually greyed out. Useful for contexts where you don't want your users to
+ * interact with some of the parts of you interface.
+ *
+ * This sets the state for the widget item, either disabling it or enabling it
+ * back.
+ *
+ * @param[in] obj The object.
+ * @param[in] disable @c true, if the widget item is disabled, @c false if it's
+ * enabled (or on errors)
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI void elm_wdg_item_disabled_set(Eo *obj, Eina_Bool disable);
+
+/**
+ * @brief Control the disabled state of a widget item.
+ *
+ * Elementary object item can be disabled, in which state they won't receive
+ * input and, in general, will be themed differently from their normal state,
+ * usually greyed out. Useful for contexts where you don't want your users to
+ * interact with some of the parts of you interface.
+ *
+ * This sets the state for the widget item, either disabling it or enabling it
+ * back.
+ *
+ * @param[in] obj The object.
+ *
+ * @return @c true, if the widget item is disabled, @c false if it's enabled
+ * (or on errors)
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI Eina_Bool elm_wdg_item_disabled_get(const Eo *obj);
+
+/**
+ * @brief Get highlight order
+ *
+ * @param[in] obj The object.
+ *
+ * @return List of evas canvas objects
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI const Eina_List *elm_wdg_item_access_order_get(Eo *obj);
+
+/**
+ * @brief Set highlight order
+ *
+ * @param[in] obj The object.
+ * @param[in] objs Order of objects to pass highlight
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI void elm_wdg_item_access_order_set(Eo *obj, Eina_List *objs);
+
+/**
+ * @brief Get the widget object's handle which contains a given item
+ *
+ * @note This returns the widget object itself that an item belongs to. Note:
+ * Every elm_object_item supports this API
+ *
+ * @param[in] obj The object.
+ *
+ * @return The widget object
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI Efl_Canvas_Object *elm_wdg_item_widget_get(const Eo *obj);
+
+#ifdef ELM_WIDGET_ITEM_PROTECTED
+/** notify deletion of widget item
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI void elm_wdg_item_pre_notify_del(Eo *obj);
+#endif
+
+/**
+ * @brief Set the text to be shown in a given object item's tooltips.
+ *
+ * Setup the text as tooltip to object. The item can have only one tooltip, so
+ * any previous tooltip data - set with this function or
+ * @ref elm_wdg_item_tooltip_content_cb_set - is removed.
+ *
+ * See: elm_object_tooltip_text_set() for more details.
+ *
+ * @param[in] obj The object.
+ * @param[in] text The text to set in the content.
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI void elm_wdg_item_tooltip_text_set(Eo *obj, const char *text);
+
+#ifdef ELM_WIDGET_ITEM_PROTECTED
+/**
+ * @brief Set widget item tooltip as a text string
+ *
+ * @param[in] obj The object.
+ * @param[in] text Tooltip text
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI void elm_wdg_item_tooltip_translatable_text_set(Eo *obj, const char *text);
+#endif
+
+/**
+ * @brief Unset tooltip from item.
+ *
+ * Remove tooltip from item. The callback provided as del_cb to
+ * @ref elm_wdg_item_tooltip_content_cb_set will be called to notify it is not
+ * used anymore.
+ *
+ * See: elm_object_tooltip_unset() for more details. See:
+ * @ref elm_wdg_item_tooltip_content_cb_set
+ * @param[in] obj The object.
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI void elm_wdg_item_tooltip_unset(Eo *obj);
+
+/**
+ * @brief Unset any custom mouse pointer/cursor decoration set to be shown,
+ * when the mouse pointer is over the given item, thus making it show the
+ * default cursor again.
+ *
+ * Use this call to undo any custom settings on this item's cursor decoration,
+ * bringing it back to defaults (no custom style set).
+ *
+ * See: elm_object_cursor_unset() See: @ref elm_wdg_item_cursor_set
+ * @param[in] obj The object.
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI void elm_wdg_item_cursor_unset(Eo *obj);
+
+/**
+ * @brief Unset a content of an object item
+ *
+ * @note Elementary object items may have many contents
+ *
+ * @param[in] obj The object.
+ * @param[in] part The content part name to unset (NULL for the default
+ * content)
+ *
+ * @return Content object
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI Efl_Canvas_Object *elm_wdg_item_part_content_unset(Eo *obj, const char *part);
+
+#ifdef ELM_WIDGET_ITEM_PROTECTED
+/** Update additional text part content
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI void elm_wdg_item_part_text_custom_update(Eo *obj);
+#endif
+
+/**
+ * @brief Add a callback for a signal emitted by object item edje.
+ *
+ * This function connects a callback function to a signal emitted by the edje
+ * object of the object item. Globs can occur in either the emission or source
+ * name.
+ *
+ * @param[in] obj The object.
+ * @param[in] emission The signal's name.
+ * @param[in] source The signal's source.
+ * @param[in] func The callback function to be executed when the signal is
+ * emitted.
+ * @param[in] data A pointer to data to pass to the callback function.
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI void elm_wdg_item_signal_callback_add(Eo *obj, const char *emission, const char *source, Elm_Object_Item_Signal_Cb func, void *data);
+
+/**
+ * @brief Remove a signal-triggered callback from a object item edje object.
+ *
+ * This function removes the last callback, previously attached to a signal
+ * emitted by an underlying Edje object of @c it, whose parameters @c emission,
+ * @c source and @c func match exactly with those passed to a previous call to
+ * @ref elm_wdg_item_signal_callback_add. The data pointer that was passed to
+ * this call will be returned.
+ *
+ * See: @ref elm_wdg_item_signal_callback_add
+ *
+ * @param[in] obj The object.
+ * @param[in] emission The signal's name.
+ * @param[in] source The signal's source.
+ * @param[in] func The callback function to be executed when the signal is
+ * emitted.
+ *
+ * @return The data pointer of the signal callback or @c NULL, on errors.
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI void *elm_wdg_item_signal_callback_del(Eo *obj, const char *emission, const char *source, Elm_Object_Item_Signal_Cb func);
+
+/**
+ * @brief Send a signal to the edje object of the widget item.
+ *
+ * This function sends a signal to the edje object of the obj item. An edje
+ * program can respond to a signal by specifying matching 'signal' and 'source'
+ * fields. Don't use this unless you want to also handle resetting of part
+ * states to default on every unrealize in case of genlist/gengrid.
+ *
+ * @param[in] obj The object.
+ * @param[in] emission The signal's name.
+ * @param[in] source The signal's source.
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI void elm_wdg_item_signal_emit(Eo *obj, const char *emission, const char *source);
+
+/**
+ * @brief Set the text to read out when in accessibility mode
+ *
+ * @param[in] obj The object.
+ * @param[in] txt The text that describes the widget to people with poor or no
+ * vision
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI void elm_wdg_item_access_info_set(Eo *obj, const char *txt);
+
+/**
+ * @brief Get an accessible object of the object item.
+ *
+ * @param[in] obj The object.
+ *
+ * @return Accessible object of the object item or NULL for any error
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI Efl_Canvas_Object *elm_wdg_item_access_object_get(const Eo *obj);
+
+/**
+ * @brief Set the text for an object item's part, marking it as translatable.
+ *
+ * The string to set as @c text must be the original one. Do not pass the
+ * return of @c gettext() here. Elementary will translate the string internally
+ * and set it on the object item using @ref elm_wdg_item_part_text_set, also
+ * storing the original string so that it can be automatically translated when
+ * the language is changed with elm_language_set(). The @c domain will be
+ * stored along to find the translation in the correct catalog. It can be NULL,
+ * in which case it will use whatever domain was set by the application with
+ * @c textdomain(). This is useful in case you are building a library on top of
+ * Elementary that will have its own translatable strings, that should not be
+ * mixed with those of programs using the library.
+ *
+ * @param[in] obj The object.
+ * @param[in] part The name of the part to set
+ * @param[in] domain The translation domain to use
+ * @param[in] label The original, non-translated text to set
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI void elm_wdg_item_domain_translatable_part_text_set(Eo *obj, const char *part, const char *domain, const char *label);
+
+/**
+ * @brief Get the original string set as translatable for an object item.
+ *
+ * When setting translated strings, the function
+ * @ref elm_wdg_item_part_text_get will return the translation returned by
+ * @c gettext(). To get the original string use this function.
+ *
+ * @param[in] obj The object.
+ * @param[in] part The name of the part that was set
+ *
+ * @return The original, untranslated string
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI const char *elm_wdg_item_translatable_part_text_get(const Eo *obj, const char *part);
+
+#ifdef ELM_WIDGET_ITEM_PROTECTED
+/** Query translate
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI void elm_wdg_item_translate(Eo *obj);
+#endif
+
+/**
+ * @brief Mark the part text to be translatable or not.
+ *
+ * Once you mark the part text to be translatable, the text will be translated
+ * internally regardless of @ref elm_wdg_item_part_text_set and
+ * @ref elm_wdg_item_domain_translatable_part_text_set. In other case, if you
+ * set the Elementary policy that all text will be translatable in default, you
+ * can set the part text to not be translated by calling this API.
+ *
+ * See: @ref elm_wdg_item_domain_translatable_part_text_set See:
+ * @ref elm_wdg_item_part_text_set See: elm_policy()
+ *
+ * @param[in] obj The object.
+ * @param[in] part The part name of the translatable text
+ * @param[in] domain The translation domain to use
+ * @param[in] translatable @c true, the part text will be translated
+ * internally. @c false, otherwise.
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI void elm_wdg_item_domain_part_text_translatable_set(Eo *obj, const char *part, const char *domain, Eina_Bool translatable);
+
+/**
+ * @brief This returns track object of the item.
+ *
+ * @note This gets a rectangle object that represents the object item's
+ * internal object. If you want to check the geometry, visibility of the item,
+ * you can call the evas apis such as evas_object_geometry_get(),
+ * evas_object_visible_get() to the track object. Note that all of the widget
+ * items may/may not have the internal object so this api may return @c NULL if
+ * the widget item doesn't have it. Additionally, the widget item is
+ * managed/controlled by the widget, the widget item could be changed(moved,
+ * resized even deleted) anytime by it's own widget's decision. So please dont'
+ * change the track object as well as don't keep the track object in your side
+ * as possible but get the track object at the moment you need to refer.
+ * Otherwise, you need to add some callbacks to the track object to track it's
+ * attributes changes.
+ *
+ * @warning After use the track object, please call the
+ * @ref elm_wdg_item_untrack() paired to elm_object_item_track definitely to
+ * free the track object properly. Don't delete the track object.
+ *
+ * See: @ref elm_wdg_item_untrack See: @ref elm_wdg_item_track_get
+ *
+ * @param[in] obj The object.
+ *
+ * @return The track object
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI Efl_Canvas_Object *elm_wdg_item_track(Eo *obj);
+
+/**
+ * @brief This retrieve the track object of the item.
+ *
+ * @note This retrieves the track object that was returned from
+ * @ref elm_wdg_item_track.
+ *
+ * See: @ref elm_wdg_item_track See: @ref elm_wdg_item_track_get
+ *
+ * @param[in] obj The object.
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI void elm_wdg_item_untrack(Eo *obj);
+
+/**
+ * @brief Get the track object reference count.
+ *
+ * @note This gets the reference count for the track object. Whenever you call
+ * the @ref elm_wdg_item_track, the reference count will be increased by one.
+ * Likely the reference count will be decreased again when you call the
+ * @ref elm_wdg_item_untrack. Unless the reference count reaches to zero, the
+ * track object won't be deleted. So please be sure to call
+ * @ref elm_wdg_item_untrack() paired to the elm_object_item_track call count.
+ *
+ * See: @ref elm_wdg_item_track See: @ref elm_wdg_item_track_get
+ *
+ * @param[in] obj The object.
+ *
+ * @return Track object reference count
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI int elm_wdg_item_track_get(const Eo *obj);
+
+#ifdef ELM_WIDGET_ITEM_PROTECTED
+/** Query track_cancel
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI void elm_wdg_item_track_cancel(Eo *obj);
+#endif
+
+/**
+ * @brief Set the function to be called when an item from the widget is freed.
+ *
+ * @note Every elm_object_item supports this API
+ *
+ * @param[in] obj The object.
+ * @param[in] del_cb The function called
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI void elm_wdg_item_del_cb_set(Eo *obj, Evas_Smart_Cb del_cb);
+
+/**
+ * @brief Set the content to be shown in the tooltip item.
+ *
+ * Setup the tooltip to item. The item can have only one tooltip, so any
+ * previous tooltip data is removed. @c func(with @c data) will be called every
+ * time that need show the tooltip and it should return a valid Evas_Object.
+ * This object is then managed fully by tooltip system and is deleted when the
+ * tooltip is gone.
+ *
+ * See: elm_object_tooltip_content_cb_set() for more details.
+ *
+ * @param[in] obj The object.
+ * @param[in] func The function used to create the tooltip contents.
+ * @param[in] data What to provide to @c func as callback data/context.
+ * @param[in] del_cb Called when data is not needed anymore, either when
+ * another callback replaces @c func, the tooltip is unset with
+ * @ref elm_wdg_item_tooltip_unset or the owner @c item dies. This callback
+ * receives as the first parameter the given @c data, and @c event_info is the
+ * item.
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI void elm_wdg_item_tooltip_content_cb_set(Eo *obj, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb);
+
+/**
+ * @brief Register object item as an accessible object.
+ *
+ * @param[in] obj The object.
+ *
+ * @return Accessible object of the object item or NULL for any error
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI Efl_Canvas_Object *elm_wdg_item_access_register(Eo *obj);
+
+/** Unregister accessible object of the object item.
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI void elm_wdg_item_access_unregister(Eo *obj);
+
+/** Unset highlight order
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI void elm_wdg_item_access_order_unset(Eo *obj);
+
+#ifdef ELM_WIDGET_ITEM_PROTECTED
+/** Disable widget item
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI void elm_wdg_item_disable(Eo *obj);
+#endif
+
+#ifdef ELM_WIDGET_ITEM_PROTECTED
+/** Delete pre widget item
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI void elm_wdg_item_del_pre(Eo *obj);
+#endif
+
+/**
+ * @brief Get the next object with specific focus direction.
+ *
+ * @param[in] obj The object.
+ * @param[in] dir Focus direction
+ *
+ * @return Focus next object
+ *
+ * @since 1.16
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI Efl_Canvas_Object *elm_wdg_item_focus_next_object_get(const Eo *obj, Efl_Ui_Focus_Direction dir);
+
+/**
+ * @brief Set the next object with specific focus direction.
+ *
+ * @param[in] obj The object.
+ * @param[in] next Focus next object
+ * @param[in] dir Focus direction
+ *
+ * @since 1.16
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI void elm_wdg_item_focus_next_object_set(Eo *obj, Efl_Canvas_Object *next, Efl_Ui_Focus_Direction dir);
+
+/**
+ * @brief Get the next object item with specific focus direction.
+ *
+ * @param[in] obj The object.
+ * @param[in] dir Focus direction
+ *
+ * @return Focus next object item
+ *
+ * @since 1.16
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI Elm_Widget_Item *elm_wdg_item_focus_next_item_get(const Eo *obj, Efl_Ui_Focus_Direction dir);
+
+/**
+ * @brief Set the next object item with specific focus direction.
+ *
+ * @param[in] obj The object.
+ * @param[in] next_item Focus next object item
+ * @param[in] dir Focus direction
+ *
+ * @since 1.16
+ *
+ * @ingroup Elm_Widget_Item
+ */
+EOAPI void elm_wdg_item_focus_next_item_set(Eo *obj, Elm_Widget_Item *next_item, Efl_Ui_Focus_Direction dir);
+
+#endif
--- /dev/null
+
+EAPI Eina_Bool
+elm_object_item_tooltip_window_mode_set(Elm_Widget_Item *obj, Eina_Bool disable)
+{
+ return elm_wdg_item_tooltip_window_mode_set(obj, disable);
+}
+
+EAPI Eina_Bool
+elm_object_item_tooltip_window_mode_get(const Elm_Widget_Item *obj)
+{
+ return elm_wdg_item_tooltip_window_mode_get(obj);
+}
+
+EAPI void
+elm_object_item_tooltip_style_set(Elm_Widget_Item *obj, const char *style)
+{
+ elm_wdg_item_tooltip_style_set(obj, style);
+}
+
+EAPI const char *
+elm_object_item_tooltip_style_get(const Elm_Widget_Item *obj)
+{
+ return elm_wdg_item_tooltip_style_get(obj);
+}
+
+EAPI void
+elm_object_item_cursor_set(Elm_Widget_Item *obj, const char *cursor)
+{
+ elm_wdg_item_cursor_set(obj, cursor);
+}
+
+EAPI const char *
+elm_object_item_cursor_get(const Elm_Widget_Item *obj)
+{
+ return elm_wdg_item_cursor_get(obj);
+}
+
+EAPI void
+elm_object_item_cursor_style_set(Elm_Widget_Item *obj, const char *style)
+{
+ elm_wdg_item_cursor_style_set(obj, style);
+}
+
+EAPI const char *
+elm_object_item_cursor_style_get(const Elm_Widget_Item *obj)
+{
+ return elm_wdg_item_cursor_style_get(obj);
+}
+
+EAPI void
+elm_object_item_cursor_engine_only_set(Elm_Widget_Item *obj, Eina_Bool engine_only)
+{
+ elm_wdg_item_cursor_engine_only_set(obj, engine_only);
+}
+
+EAPI Eina_Bool
+elm_object_item_cursor_engine_only_get(const Elm_Widget_Item *obj)
+{
+ return elm_wdg_item_cursor_engine_only_get(obj);
+}
+
+EAPI void
+elm_object_item_part_content_set(Elm_Widget_Item *obj, const char *part, Efl_Canvas_Object *content)
+{
+ elm_wdg_item_part_content_set(obj, part, content);
+}
+
+EAPI Efl_Canvas_Object *
+elm_object_item_part_content_get(const Elm_Widget_Item *obj, const char *part)
+{
+ return elm_wdg_item_part_content_get(obj, part);
+}
+
+EAPI void
+elm_object_item_part_text_set(Elm_Widget_Item *obj, const char *part, const char *label)
+{
+ elm_wdg_item_part_text_set(obj, part, label);
+}
+
+EAPI const char *
+elm_object_item_part_text_get(const Elm_Widget_Item *obj, const char *part)
+{
+ return elm_wdg_item_part_text_get(obj, part);
+}
+
+EAPI void
+elm_object_item_focus_set(Elm_Widget_Item *obj, Eina_Bool focused)
+{
+ elm_wdg_item_focus_set(obj, focused);
+}
+
+EAPI Eina_Bool
+elm_object_item_focus_get(const Elm_Widget_Item *obj)
+{
+ return elm_wdg_item_focus_get(obj);
+}
+
+EAPI void
+elm_object_item_style_set(Elm_Widget_Item *obj, const char *style)
+{
+ elm_wdg_item_style_set(obj, style);
+}
+
+EAPI const char *
+elm_object_item_style_get(const Elm_Widget_Item *obj)
+{
+ return elm_wdg_item_style_get(obj);
+}
+
+EAPI void
+elm_object_item_disabled_set(Elm_Widget_Item *obj, Eina_Bool disable)
+{
+ elm_wdg_item_disabled_set(obj, disable);
+}
+
+EAPI Eina_Bool
+elm_object_item_disabled_get(const Elm_Widget_Item *obj)
+{
+ return elm_wdg_item_disabled_get(obj);
+}
+
+EAPI const Eina_List *
+elm_object_item_access_order_get(Elm_Widget_Item *obj)
+{
+ return elm_wdg_item_access_order_get(obj);
+}
+
+EAPI void
+elm_object_item_access_order_set(Elm_Widget_Item *obj, Eina_List *objs)
+{
+ elm_wdg_item_access_order_set(obj, objs);
+}
+
+EAPI Efl_Canvas_Object *
+elm_object_item_widget_get(const Elm_Widget_Item *obj)
+{
+ return elm_wdg_item_widget_get(obj);
+}
+
+EAPI void
+elm_object_item_tooltip_text_set(Elm_Widget_Item *obj, const char *text)
+{
+ elm_wdg_item_tooltip_text_set(obj, text);
+}
+
+EAPI void
+elm_object_item_tooltip_unset(Elm_Widget_Item *obj)
+{
+ elm_wdg_item_tooltip_unset(obj);
+}
+
+EAPI void
+elm_object_item_cursor_unset(Elm_Widget_Item *obj)
+{
+ elm_wdg_item_cursor_unset(obj);
+}
+
+EAPI Efl_Canvas_Object *
+elm_object_item_part_content_unset(Elm_Widget_Item *obj, const char *part)
+{
+ return elm_wdg_item_part_content_unset(obj, part);
+}
+
+EAPI void
+elm_object_item_signal_callback_add(Elm_Widget_Item *obj, const char *emission, const char *source, Elm_Object_Item_Signal_Cb func, void *data)
+{
+ elm_wdg_item_signal_callback_add(obj, emission, source, func, data);
+}
+
+EAPI void *
+elm_object_item_signal_callback_del(Elm_Widget_Item *obj, const char *emission, const char *source, Elm_Object_Item_Signal_Cb func)
+{
+ return elm_wdg_item_signal_callback_del(obj, emission, source, func);
+}
+
+EAPI void
+elm_object_item_signal_emit(Elm_Widget_Item *obj, const char *emission, const char *source)
+{
+ elm_wdg_item_signal_emit(obj, emission, source);
+}
+
+EAPI void
+elm_object_item_access_info_set(Elm_Widget_Item *obj, const char *txt)
+{
+ elm_wdg_item_access_info_set(obj, txt);
+}
+
+EAPI Efl_Canvas_Object *
+elm_object_item_access_object_get(const Elm_Widget_Item *obj)
+{
+ return elm_wdg_item_access_object_get(obj);
+}
+
+EAPI void
+elm_object_item_domain_translatable_part_text_set(Elm_Widget_Item *obj, const char *part, const char *domain, const char *label)
+{
+ elm_wdg_item_domain_translatable_part_text_set(obj, part, domain, label);
+}
+
+EAPI const char *
+elm_object_item_translatable_part_text_get(const Elm_Widget_Item *obj, const char *part)
+{
+ return elm_wdg_item_translatable_part_text_get(obj, part);
+}
+
+EAPI void
+elm_object_item_domain_part_text_translatable_set(Elm_Widget_Item *obj, const char *part, const char *domain, Eina_Bool translatable)
+{
+ elm_wdg_item_domain_part_text_translatable_set(obj, part, domain, translatable);
+}
+
+EAPI Efl_Canvas_Object *
+elm_object_item_track(Elm_Widget_Item *obj)
+{
+ return elm_wdg_item_track(obj);
+}
+
+EAPI void
+elm_object_item_untrack(Elm_Widget_Item *obj)
+{
+ elm_wdg_item_untrack(obj);
+}
+
+EAPI int
+elm_object_item_track_get(const Elm_Widget_Item *obj)
+{
+ return elm_wdg_item_track_get(obj);
+}
+
+EAPI void
+elm_object_item_del_cb_set(Elm_Widget_Item *obj, Evas_Smart_Cb del_cb)
+{
+ elm_wdg_item_del_cb_set(obj, del_cb);
+}
+
+EAPI void
+elm_object_item_tooltip_content_cb_set(Elm_Widget_Item *obj, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb)
+{
+ elm_wdg_item_tooltip_content_cb_set(obj, func, data, del_cb);
+}
+
+EAPI Efl_Canvas_Object *
+elm_object_item_access_register(Elm_Widget_Item *obj)
+{
+ return elm_wdg_item_access_register(obj);
+}
+
+EAPI void
+elm_object_item_access_unregister(Elm_Widget_Item *obj)
+{
+ elm_wdg_item_access_unregister(obj);
+}
+
+EAPI void
+elm_object_item_access_order_unset(Elm_Widget_Item *obj)
+{
+ elm_wdg_item_access_order_unset(obj);
+}
+
+EAPI Efl_Canvas_Object *
+elm_object_item_focus_next_object_get(const Elm_Widget_Item *obj, Efl_Ui_Focus_Direction dir)
+{
+ return elm_wdg_item_focus_next_object_get(obj, dir);
+}
+
+EAPI void
+elm_object_item_focus_next_object_set(Elm_Widget_Item *obj, Efl_Canvas_Object *next, Efl_Ui_Focus_Direction dir)
+{
+ elm_wdg_item_focus_next_object_set(obj, next, dir);
+}
+
+EAPI Elm_Widget_Item *
+elm_object_item_focus_next_item_get(const Elm_Widget_Item *obj, Efl_Ui_Focus_Direction dir)
+{
+ return elm_wdg_item_focus_next_item_get(obj, dir);
+}
+
+EAPI void
+elm_object_item_focus_next_item_set(Elm_Widget_Item *obj, Elm_Widget_Item *next_item, Efl_Ui_Focus_Direction dir)
+{
+ elm_wdg_item_focus_next_item_set(obj, next_item, dir);
+}
--- /dev/null
+#ifndef _ELM_WIDGET_ITEM_EO_LEGACY_H_
+#define _ELM_WIDGET_ITEM_EO_LEGACY_H_
+
+#ifndef _ELM_WIDGET_ITEM_EO_CLASS_TYPE
+#define _ELM_WIDGET_ITEM_EO_CLASS_TYPE
+
+typedef Eo Elm_Widget_Item;
+
+#endif
+
+#ifndef _ELM_WIDGET_ITEM_EO_TYPES
+#define _ELM_WIDGET_ITEM_EO_TYPES
+
+
+#endif
+
+/**
+ * @brief Control size restriction state of an object's tooltip
+ *
+ * This function returns whether a tooltip is allowed to expand beyond its
+ * parent window's canvas. It will instead be limited only by the size of the
+ * display.
+ *
+ * @param[in] obj The object.
+ * @param[in] disable If @c true, size restrictions are disabled
+ *
+ * @return @c false on failure, @c true on success
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI Eina_Bool elm_object_item_tooltip_window_mode_set(Elm_Widget_Item *obj, Eina_Bool disable);
+
+/**
+ * @brief Control size restriction state of an object's tooltip
+ *
+ * This function returns whether a tooltip is allowed to expand beyond its
+ * parent window's canvas. It will instead be limited only by the size of the
+ * display.
+ *
+ * @param[in] obj The object.
+ *
+ * @return If @c true, size restrictions are disabled
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI Eina_Bool elm_object_item_tooltip_window_mode_get(const Elm_Widget_Item *obj);
+
+/**
+ * @brief Control a different style for this item tooltip.
+ *
+ * @note before you set a style you should define a tooltip with
+ * @ref elm_object_item_tooltip_content_cb_set or
+ * @ref elm_object_item_tooltip_text_set
+ *
+ * See: elm_object_tooltip_style_set() for more details.
+ *
+ * @param[in] obj The object.
+ * @param[in] style The theme style used/to use (default, transparent, ...)
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI void elm_object_item_tooltip_style_set(Elm_Widget_Item *obj, const char *style);
+
+/**
+ * @brief Control a different style for this item tooltip.
+ *
+ * @note before you set a style you should define a tooltip with
+ * @ref elm_object_item_tooltip_content_cb_set or
+ * @ref elm_object_item_tooltip_text_set
+ *
+ * See: elm_object_tooltip_style_set() for more details.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The theme style used/to use (default, transparent, ...)
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI const char *elm_object_item_tooltip_style_get(const Elm_Widget_Item *obj);
+
+/**
+ * @brief Control the type of mouse pointer/cursor decoration to be shown, when
+ * the mouse pointer is over the given item
+ *
+ * This function works analogously as elm_object_cursor_set(), but here the
+ * cursor's changing area is restricted to the item's area, and not the whole
+ * widget's. Note that that item cursors have precedence over widget cursors,
+ * so that a mouse over an item with custom cursor set will always show that
+ * cursor.
+ *
+ * If this function is called twice for an object, a previously set cursor will
+ * be unset on the second call.
+ *
+ * @param[in] obj The object.
+ * @param[in] cursor The cursor type's name
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI void elm_object_item_cursor_set(Elm_Widget_Item *obj, const char *cursor);
+
+/**
+ * @brief Control the type of mouse pointer/cursor decoration to be shown, when
+ * the mouse pointer is over the given item
+ *
+ * This function works analogously as elm_object_cursor_set(), but here the
+ * cursor's changing area is restricted to the item's area, and not the whole
+ * widget's. Note that that item cursors have precedence over widget cursors,
+ * so that a mouse over an item with custom cursor set will always show that
+ * cursor.
+ *
+ * If this function is called twice for an object, a previously set cursor will
+ * be unset on the second call.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The cursor type's name
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI const char *elm_object_item_cursor_get(const Elm_Widget_Item *obj);
+
+/**
+ * @brief Control a different @c style for a given custom cursor set for an
+ * item.
+ *
+ * This function only makes sense when one is using custom mouse cursor
+ * decorations defined in a theme file, which can have, given a cursor
+ * name/type, alternate styles on it. It works analogously as
+ * elm_object_cursor_style_set(), but here applies only to item objects.
+ *
+ * @warning Before you set a cursor style you should have defined a custom
+ * cursor previously on the item, with @ref elm_object_item_cursor_set
+ *
+ * @param[in] obj The object.
+ * @param[in] style The theme style to use/in use (e.g. $"default",
+ * $"transparent", etc)
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI void elm_object_item_cursor_style_set(Elm_Widget_Item *obj, const char *style);
+
+/**
+ * @brief Control a different @c style for a given custom cursor set for an
+ * item.
+ *
+ * This function only makes sense when one is using custom mouse cursor
+ * decorations defined in a theme file, which can have, given a cursor
+ * name/type, alternate styles on it. It works analogously as
+ * elm_object_cursor_style_set(), but here applies only to item objects.
+ *
+ * @warning Before you set a cursor style you should have defined a custom
+ * cursor previously on the item, with @ref elm_object_item_cursor_set
+ *
+ * @param[in] obj The object.
+ *
+ * @return The theme style to use/in use (e.g. $"default", $"transparent", etc)
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI const char *elm_object_item_cursor_style_get(const Elm_Widget_Item *obj);
+
+/**
+ * @brief Control if the (custom)cursor for a given item should be searched in
+ * its theme, also, or should only rely on the rendering engine.
+ *
+ * @note This call is of use only if you've set a custom cursor for items, with
+ * @ref elm_object_item_cursor_set.
+ *
+ * @note By default, cursors will only be looked for between those provided by
+ * the rendering engine.
+ *
+ * @param[in] obj The object.
+ * @param[in] engine_only Use @c true to have cursors looked for only on those
+ * provided by the rendering engine, @c false to have them searched on the
+ * widget's theme, as well.
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI void elm_object_item_cursor_engine_only_set(Elm_Widget_Item *obj, Eina_Bool engine_only);
+
+/**
+ * @brief Control if the (custom)cursor for a given item should be searched in
+ * its theme, also, or should only rely on the rendering engine.
+ *
+ * @note This call is of use only if you've set a custom cursor for items, with
+ * @ref elm_object_item_cursor_set.
+ *
+ * @note By default, cursors will only be looked for between those provided by
+ * the rendering engine.
+ *
+ * @param[in] obj The object.
+ *
+ * @return Use @c true to have cursors looked for only on those provided by the
+ * rendering engine, @c false to have them searched on the widget's theme, as
+ * well.
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI Eina_Bool elm_object_item_cursor_engine_only_get(const Elm_Widget_Item *obj);
+
+/**
+ * @brief Control a content of an object item
+ *
+ * This sets a new object to an item as a content object. If any object was
+ * already set as a content object in the same part, previous object will be
+ * deleted automatically.
+ *
+ * @param[in] obj The object.
+ * @param[in] part The content part name (NULL for the default content)
+ * @param[in] content The content of the object item
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI void elm_object_item_part_content_set(Elm_Widget_Item *obj, const char *part, Efl_Canvas_Object *content);
+
+/**
+ * @brief Control a content of an object item
+ *
+ * This sets a new object to an item as a content object. If any object was
+ * already set as a content object in the same part, previous object will be
+ * deleted automatically.
+ *
+ * @param[in] obj The object.
+ * @param[in] part The content part name (NULL for the default content)
+ *
+ * @return The content of the object item
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI Efl_Canvas_Object *elm_object_item_part_content_get(const Elm_Widget_Item *obj, const char *part);
+
+/**
+ * @brief Control a label of an object item
+ *
+ * @note Elementary object items may have many labels
+ *
+ * @param[in] obj The object.
+ * @param[in] part The text part name (NULL for the default label)
+ * @param[in] label Text of the label
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI void elm_object_item_part_text_set(Elm_Widget_Item *obj, const char *part, const char *label);
+
+/**
+ * @brief Control a label of an object item
+ *
+ * @note Elementary object items may have many labels
+ *
+ * @param[in] obj The object.
+ * @param[in] part The text part name (NULL for the default label)
+ *
+ * @return Text of the label
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI const char *elm_object_item_part_text_get(const Elm_Widget_Item *obj, const char *part);
+
+
+
+/**
+ * @brief Control the object item focused
+ *
+ * @param[in] obj The object.
+ * @param[in] focused The focused state
+ *
+ * @since 1.10
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI void elm_object_item_focus_set(Elm_Widget_Item *obj, Eina_Bool focused);
+
+/**
+ * @brief Control the object item focused
+ *
+ * @param[in] obj The object.
+ *
+ * @return The focused state
+ *
+ * @since 1.10
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI Eina_Bool elm_object_item_focus_get(const Elm_Widget_Item *obj);
+
+/**
+ * @brief Control the style of an object item
+ *
+ * @param[in] obj The object.
+ * @param[in] style The style of object item
+ *
+ * @since 1.9
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI void elm_object_item_style_set(Elm_Widget_Item *obj, const char *style);
+
+/**
+ * @brief Control the style of an object item
+ *
+ * @param[in] obj The object.
+ *
+ * @return The style of object item
+ *
+ * @since 1.9
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI const char *elm_object_item_style_get(const Elm_Widget_Item *obj);
+
+/**
+ * @brief Control the disabled state of a widget item.
+ *
+ * Elementary object item can be disabled, in which state they won't receive
+ * input and, in general, will be themed differently from their normal state,
+ * usually greyed out. Useful for contexts where you don't want your users to
+ * interact with some of the parts of you interface.
+ *
+ * This sets the state for the widget item, either disabling it or enabling it
+ * back.
+ *
+ * @param[in] obj The object.
+ * @param[in] disable @c true, if the widget item is disabled, @c false if it's
+ * enabled (or on errors)
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI void elm_object_item_disabled_set(Elm_Widget_Item *obj, Eina_Bool disable);
+
+/**
+ * @brief Control the disabled state of a widget item.
+ *
+ * Elementary object item can be disabled, in which state they won't receive
+ * input and, in general, will be themed differently from their normal state,
+ * usually greyed out. Useful for contexts where you don't want your users to
+ * interact with some of the parts of you interface.
+ *
+ * This sets the state for the widget item, either disabling it or enabling it
+ * back.
+ *
+ * @param[in] obj The object.
+ *
+ * @return @c true, if the widget item is disabled, @c false if it's enabled
+ * (or on errors)
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI Eina_Bool elm_object_item_disabled_get(const Elm_Widget_Item *obj);
+
+/**
+ * @brief Get highlight order
+ *
+ * @param[in] obj The object.
+ *
+ * @return List of evas canvas objects
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI const Eina_List *elm_object_item_access_order_get(Elm_Widget_Item *obj);
+
+/**
+ * @brief Set highlight order
+ *
+ * @param[in] obj The object.
+ * @param[in] objs Order of objects to pass highlight
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI void elm_object_item_access_order_set(Elm_Widget_Item *obj, Eina_List *objs);
+
+/**
+ * @brief Get the widget object's handle which contains a given item
+ *
+ * @note This returns the widget object itself that an item belongs to. Note:
+ * Every elm_object_item supports this API
+ *
+ * @param[in] obj The object.
+ *
+ * @return The widget object
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI Efl_Canvas_Object *elm_object_item_widget_get(const Elm_Widget_Item *obj);
+
+
+/**
+ * @brief Set the text to be shown in a given object item's tooltips.
+ *
+ * Setup the text as tooltip to object. The item can have only one tooltip, so
+ * any previous tooltip data - set with this function or
+ * @ref elm_object_item_tooltip_content_cb_set - is removed.
+ *
+ * See: elm_object_tooltip_text_set() for more details.
+ *
+ * @param[in] obj The object.
+ * @param[in] text The text to set in the content.
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI void elm_object_item_tooltip_text_set(Elm_Widget_Item *obj, const char *text);
+
+
+/**
+ * @brief Unset tooltip from item.
+ *
+ * Remove tooltip from item. The callback provided as del_cb to
+ * @ref elm_object_item_tooltip_content_cb_set will be called to notify it is
+ * not used anymore.
+ *
+ * See: elm_object_tooltip_unset() for more details. See:
+ * @ref elm_object_item_tooltip_content_cb_set
+ * @param[in] obj The object.
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI void elm_object_item_tooltip_unset(Elm_Widget_Item *obj);
+
+/**
+ * @brief Unset any custom mouse pointer/cursor decoration set to be shown,
+ * when the mouse pointer is over the given item, thus making it show the
+ * default cursor again.
+ *
+ * Use this call to undo any custom settings on this item's cursor decoration,
+ * bringing it back to defaults (no custom style set).
+ *
+ * See: elm_object_cursor_unset() See: @ref elm_object_item_cursor_set
+ * @param[in] obj The object.
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI void elm_object_item_cursor_unset(Elm_Widget_Item *obj);
+
+/**
+ * @brief Unset a content of an object item
+ *
+ * @note Elementary object items may have many contents
+ *
+ * @param[in] obj The object.
+ * @param[in] part The content part name to unset (NULL for the default
+ * content)
+ *
+ * @return Content object
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI Efl_Canvas_Object *elm_object_item_part_content_unset(Elm_Widget_Item *obj, const char *part);
+
+
+/**
+ * @brief Add a callback for a signal emitted by object item edje.
+ *
+ * This function connects a callback function to a signal emitted by the edje
+ * object of the object item. Globs can occur in either the emission or source
+ * name.
+ *
+ * @param[in] obj The object.
+ * @param[in] emission The signal's name.
+ * @param[in] source The signal's source.
+ * @param[in] func The callback function to be executed when the signal is
+ * emitted.
+ * @param[in] data A pointer to data to pass to the callback function.
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI void elm_object_item_signal_callback_add(Elm_Widget_Item *obj, const char *emission, const char *source, Elm_Object_Item_Signal_Cb func, void *data);
+
+/**
+ * @brief Remove a signal-triggered callback from a object item edje object.
+ *
+ * This function removes the last callback, previously attached to a signal
+ * emitted by an underlying Edje object of @c it, whose parameters @c emission,
+ * @c source and @c func match exactly with those passed to a previous call to
+ * @ref elm_object_item_signal_callback_add. The data pointer that was passed
+ * to this call will be returned.
+ *
+ * See: @ref elm_object_item_signal_callback_add
+ *
+ * @param[in] obj The object.
+ * @param[in] emission The signal's name.
+ * @param[in] source The signal's source.
+ * @param[in] func The callback function to be executed when the signal is
+ * emitted.
+ *
+ * @return The data pointer of the signal callback or @c NULL, on errors.
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI void *elm_object_item_signal_callback_del(Elm_Widget_Item *obj, const char *emission, const char *source, Elm_Object_Item_Signal_Cb func);
+
+/**
+ * @brief Send a signal to the edje object of the widget item.
+ *
+ * This function sends a signal to the edje object of the obj item. An edje
+ * program can respond to a signal by specifying matching 'signal' and 'source'
+ * fields. Don't use this unless you want to also handle resetting of part
+ * states to default on every unrealize in case of genlist/gengrid.
+ *
+ * @param[in] obj The object.
+ * @param[in] emission The signal's name.
+ * @param[in] source The signal's source.
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI void elm_object_item_signal_emit(Elm_Widget_Item *obj, const char *emission, const char *source);
+
+/**
+ * @brief Set the text to read out when in accessibility mode
+ *
+ * @param[in] obj The object.
+ * @param[in] txt The text that describes the widget to people with poor or no
+ * vision
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI void elm_object_item_access_info_set(Elm_Widget_Item *obj, const char *txt);
+
+/**
+ * @brief Get an accessible object of the object item.
+ *
+ * @param[in] obj The object.
+ *
+ * @return Accessible object of the object item or NULL for any error
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI Efl_Canvas_Object *elm_object_item_access_object_get(const Elm_Widget_Item *obj);
+
+/**
+ * @brief Set the text for an object item's part, marking it as translatable.
+ *
+ * The string to set as @c text must be the original one. Do not pass the
+ * return of @c gettext() here. Elementary will translate the string internally
+ * and set it on the object item using @ref elm_object_item_part_text_set, also
+ * storing the original string so that it can be automatically translated when
+ * the language is changed with elm_language_set(). The @c domain will be
+ * stored along to find the translation in the correct catalog. It can be NULL,
+ * in which case it will use whatever domain was set by the application with
+ * @c textdomain(). This is useful in case you are building a library on top of
+ * Elementary that will have its own translatable strings, that should not be
+ * mixed with those of programs using the library.
+ *
+ * @param[in] obj The object.
+ * @param[in] part The name of the part to set
+ * @param[in] domain The translation domain to use
+ * @param[in] label The original, non-translated text to set
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI void elm_object_item_domain_translatable_part_text_set(Elm_Widget_Item *obj, const char *part, const char *domain, const char *label);
+
+/**
+ * @brief Get the original string set as translatable for an object item.
+ *
+ * When setting translated strings, the function
+ * @ref elm_object_item_part_text_get will return the translation returned by
+ * @c gettext(). To get the original string use this function.
+ *
+ * @param[in] obj The object.
+ * @param[in] part The name of the part that was set
+ *
+ * @return The original, untranslated string
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI const char *elm_object_item_translatable_part_text_get(const Elm_Widget_Item *obj, const char *part);
+
+
+/**
+ * @brief Mark the part text to be translatable or not.
+ *
+ * Once you mark the part text to be translatable, the text will be translated
+ * internally regardless of @ref elm_object_item_part_text_set and
+ * @ref elm_object_item_domain_translatable_part_text_set. In other case, if
+ * you set the Elementary policy that all text will be translatable in default,
+ * you can set the part text to not be translated by calling this API.
+ *
+ * See: @ref elm_object_item_domain_translatable_part_text_set See:
+ * @ref elm_object_item_part_text_set See: elm_policy()
+ *
+ * @param[in] obj The object.
+ * @param[in] part The part name of the translatable text
+ * @param[in] domain The translation domain to use
+ * @param[in] translatable @c true, the part text will be translated
+ * internally. @c false, otherwise.
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI void elm_object_item_domain_part_text_translatable_set(Elm_Widget_Item *obj, const char *part, const char *domain, Eina_Bool translatable);
+
+/**
+ * @brief This returns track object of the item.
+ *
+ * @note This gets a rectangle object that represents the object item's
+ * internal object. If you want to check the geometry, visibility of the item,
+ * you can call the evas apis such as evas_object_geometry_get(),
+ * evas_object_visible_get() to the track object. Note that all of the widget
+ * items may/may not have the internal object so this api may return @c NULL if
+ * the widget item doesn't have it. Additionally, the widget item is
+ * managed/controlled by the widget, the widget item could be changed(moved,
+ * resized even deleted) anytime by it's own widget's decision. So please dont'
+ * change the track object as well as don't keep the track object in your side
+ * as possible but get the track object at the moment you need to refer.
+ * Otherwise, you need to add some callbacks to the track object to track it's
+ * attributes changes.
+ *
+ * @warning After use the track object, please call the
+ * @ref elm_object_item_untrack() paired to elm_object_item_track definitely to
+ * free the track object properly. Don't delete the track object.
+ *
+ * See: @ref elm_object_item_untrack See: @ref elm_object_item_track_get
+ *
+ * @param[in] obj The object.
+ *
+ * @return The track object
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI Efl_Canvas_Object *elm_object_item_track(Elm_Widget_Item *obj);
+
+/**
+ * @brief This retrieve the track object of the item.
+ *
+ * @note This retrieves the track object that was returned from
+ * @ref elm_object_item_track.
+ *
+ * See: @ref elm_object_item_track See: @ref elm_object_item_track_get
+ *
+ * @param[in] obj The object.
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI void elm_object_item_untrack(Elm_Widget_Item *obj);
+
+/**
+ * @brief Get the track object reference count.
+ *
+ * @note This gets the reference count for the track object. Whenever you call
+ * the @ref elm_object_item_track, the reference count will be increased by
+ * one. Likely the reference count will be decreased again when you call the
+ * @ref elm_object_item_untrack. Unless the reference count reaches to zero,
+ * the track object won't be deleted. So please be sure to call
+ * @ref elm_object_item_untrack() paired to the elm_object_item_track call
+ * count.
+ *
+ * See: @ref elm_object_item_track See: @ref elm_object_item_track_get
+ *
+ * @param[in] obj The object.
+ *
+ * @return Track object reference count
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI int elm_object_item_track_get(const Elm_Widget_Item *obj);
+
+
+/**
+ * @brief Set the function to be called when an item from the widget is freed.
+ *
+ * @note Every elm_object_item supports this API
+ *
+ * @param[in] obj The object.
+ * @param[in] del_cb The function called
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI void elm_object_item_del_cb_set(Elm_Widget_Item *obj, Evas_Smart_Cb del_cb);
+
+/**
+ * @brief Set the content to be shown in the tooltip item.
+ *
+ * Setup the tooltip to item. The item can have only one tooltip, so any
+ * previous tooltip data is removed. @c func(with @c data) will be called every
+ * time that need show the tooltip and it should return a valid Evas_Object.
+ * This object is then managed fully by tooltip system and is deleted when the
+ * tooltip is gone.
+ *
+ * See: elm_object_tooltip_content_cb_set() for more details.
+ *
+ * @param[in] obj The object.
+ * @param[in] func The function used to create the tooltip contents.
+ * @param[in] data What to provide to @c func as callback data/context.
+ * @param[in] del_cb Called when data is not needed anymore, either when
+ * another callback replaces @c func, the tooltip is unset with
+ * @ref elm_object_item_tooltip_unset or the owner @c item dies. This callback
+ * receives as the first parameter the given @c data, and @c event_info is the
+ * item.
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI void elm_object_item_tooltip_content_cb_set(Elm_Widget_Item *obj, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb);
+
+/**
+ * @brief Register object item as an accessible object.
+ *
+ * @param[in] obj The object.
+ *
+ * @return Accessible object of the object item or NULL for any error
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI Efl_Canvas_Object *elm_object_item_access_register(Elm_Widget_Item *obj);
+
+/** Unregister accessible object of the object item.
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI void elm_object_item_access_unregister(Elm_Widget_Item *obj);
+
+/** Unset highlight order
+ *
+ * @since 1.8
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI void elm_object_item_access_order_unset(Elm_Widget_Item *obj);
+
+
+
+/**
+ * @brief Get the next object with specific focus direction.
+ *
+ * @param[in] obj The object.
+ * @param[in] dir Focus direction
+ *
+ * @return Focus next object
+ *
+ * @since 1.16
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI Efl_Canvas_Object *elm_object_item_focus_next_object_get(const Elm_Widget_Item *obj, Efl_Ui_Focus_Direction dir);
+
+/**
+ * @brief Set the next object with specific focus direction.
+ *
+ * @param[in] obj The object.
+ * @param[in] next Focus next object
+ * @param[in] dir Focus direction
+ *
+ * @since 1.16
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI void elm_object_item_focus_next_object_set(Elm_Widget_Item *obj, Efl_Canvas_Object *next, Efl_Ui_Focus_Direction dir);
+
+/**
+ * @brief Get the next object item with specific focus direction.
+ *
+ * @param[in] obj The object.
+ * @param[in] dir Focus direction
+ *
+ * @return Focus next object item
+ *
+ * @since 1.16
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI Elm_Widget_Item *elm_object_item_focus_next_item_get(const Elm_Widget_Item *obj, Efl_Ui_Focus_Direction dir);
+
+/**
+ * @brief Set the next object item with specific focus direction.
+ *
+ * @param[in] obj The object.
+ * @param[in] next_item Focus next object item
+ * @param[in] dir Focus direction
+ *
+ * @since 1.16
+ *
+ * @ingroup Elm_Object_Item_Group
+ */
+EAPI void elm_object_item_focus_next_item_set(Elm_Widget_Item *obj, Elm_Widget_Item *next_item, Efl_Ui_Focus_Direction dir);
+
+#endif
}
-#include "elm_widget_item_static_focus.eo.c"
+#include "elm_widget_item_static_focus_eo.c"
+++ /dev/null
-class Elm.Widget.Item.Static_Focus extends Elm.Widget.Item implements Efl.Ui.Focus.Object
-{
- [[A class that ensures that at least ONE focusable target is behind this widget item. If there is none registered to it after a prepare call it will register the view of the item as item.]]
- implements {
- Efl.Object.constructor;
- Efl.Object.destructor;
- Efl.Ui.Focus.Object.setup_order_non_recursive;
- }
-}
--- /dev/null
+
+Efl_Object *_elm_widget_item_static_focus_efl_object_constructor(Eo *obj, Elm_Widget_Item_Static_Focus_Data *pd);
+
+
+void _elm_widget_item_static_focus_efl_object_destructor(Eo *obj, Elm_Widget_Item_Static_Focus_Data *pd);
+
+
+void _elm_widget_item_static_focus_efl_ui_focus_object_setup_order_non_recursive(Eo *obj, Elm_Widget_Item_Static_Focus_Data *pd);
+
+
+static Eina_Bool
+_elm_widget_item_static_focus_class_initializer(Efl_Class *klass)
+{
+ const Efl_Object_Ops *opsp = NULL;
+
+ const Efl_Object_Property_Reflection_Ops *ropsp = NULL;
+
+#ifndef ELM_WIDGET_ITEM_STATIC_FOCUS_EXTRA_OPS
+#define ELM_WIDGET_ITEM_STATIC_FOCUS_EXTRA_OPS
+#endif
+
+ EFL_OPS_DEFINE(ops,
+ EFL_OBJECT_OP_FUNC(efl_constructor, _elm_widget_item_static_focus_efl_object_constructor),
+ EFL_OBJECT_OP_FUNC(efl_destructor, _elm_widget_item_static_focus_efl_object_destructor),
+ EFL_OBJECT_OP_FUNC(efl_ui_focus_object_setup_order_non_recursive, _elm_widget_item_static_focus_efl_ui_focus_object_setup_order_non_recursive),
+ ELM_WIDGET_ITEM_STATIC_FOCUS_EXTRA_OPS
+ );
+ opsp = &ops;
+
+ return efl_class_functions_set(klass, opsp, ropsp);
+}
+
+static const Efl_Class_Description _elm_widget_item_static_focus_class_desc = {
+ EO_VERSION,
+ "Elm.Widget.Item.Static_Focus",
+ EFL_CLASS_TYPE_REGULAR,
+ sizeof(Elm_Widget_Item_Static_Focus_Data),
+ _elm_widget_item_static_focus_class_initializer,
+ NULL,
+ NULL
+};
+
+EFL_DEFINE_CLASS(elm_widget_item_static_focus_class_get, &_elm_widget_item_static_focus_class_desc, ELM_WIDGET_ITEM_CLASS, EFL_UI_FOCUS_OBJECT_MIXIN, NULL);
--- /dev/null
+#ifndef _ELM_WIDGET_ITEM_STATIC_FOCUS_EO_H_
+#define _ELM_WIDGET_ITEM_STATIC_FOCUS_EO_H_
+
+#ifndef _ELM_WIDGET_ITEM_STATIC_FOCUS_EO_CLASS_TYPE
+#define _ELM_WIDGET_ITEM_STATIC_FOCUS_EO_CLASS_TYPE
+
+typedef Eo Elm_Widget_Item_Static_Focus;
+
+#endif
+
+#ifndef _ELM_WIDGET_ITEM_STATIC_FOCUS_EO_TYPES
+#define _ELM_WIDGET_ITEM_STATIC_FOCUS_EO_TYPES
+
+
+#endif
+/** A class that ensures that at least ONE focusable target is behind this
+ * widget item. If there is none registered to it after a prepare call it will
+ * register the view of the item as item.
+ *
+ * @ingroup Elm_Widget_Item_Static_Focus
+ */
+#define ELM_WIDGET_ITEM_STATIC_FOCUS_CLASS elm_widget_item_static_focus_class_get()
+
+EWAPI const Efl_Class *elm_widget_item_static_focus_class_get(void);
+
+#endif
--- /dev/null
+#ifndef _ELM_WIDGET_ITEM_STATIC_FOCUS_EO_LEGACY_H_
+#define _ELM_WIDGET_ITEM_STATIC_FOCUS_EO_LEGACY_H_
+
+#ifndef _ELM_WIDGET_ITEM_STATIC_FOCUS_EO_CLASS_TYPE
+#define _ELM_WIDGET_ITEM_STATIC_FOCUS_EO_CLASS_TYPE
+
+typedef Eo Elm_Widget_Item_Static_Focus;
+
+#endif
+
+#ifndef _ELM_WIDGET_ITEM_STATIC_FOCUS_EO_TYPES
+#define _ELM_WIDGET_ITEM_STATIC_FOCUS_EO_TYPES
+
+
+#endif
+
+#endif
pub_legacy_eo_files = [
'efl_ui_clock_legacy.eo',
- 'elm_widget_item_static_focus.eo',
'elm_ctxpopup_part.eo',
'elm_dayselector_part.eo',
'elm_entry_part.eo',
'efl_ui_radio_legacy_part.eo',
'efl_ui_check_legacy_part.eo',
'efl_ui_progressbar_legacy_part.eo',
- 'elm_widget_item_container.eo',
'elm_multibuttonentry_part.eo',
'elm_interface_scrollable.eo',
'elm_atspi_bridge.eo',
'elm_atspi_app_object.eo',
'efl_ui_image_zoomable_pan.eo',
- 'elm_widget_item.eo',
'efl_ui_text_part.eo',
'efl_ui_caching_factory.eo',
'efl_ui_widget_factory.eo',
'elm_view_list_eo.legacy.h',
'elm_web_eo.h',
'elm_web_eo.legacy.h',
+ 'elm_widget_item_container_eo.h',
+ 'elm_widget_item_container_eo.legacy.h',
+ 'elm_widget_item_eo.h',
+ 'elm_widget_item_eo.legacy.h',
+ 'elm_widget_item_static_focus_eo.h',
+ 'elm_widget_item_static_focus_eo.legacy.h',
]
elementary_header_src = [