1 #ifndef _ELM_WIDGET_ITEM_EO_LEGACY_H_
2 #define _ELM_WIDGET_ITEM_EO_LEGACY_H_
3 
4 #ifndef _ELM_WIDGET_ITEM_EO_CLASS_TYPE
5 #define _ELM_WIDGET_ITEM_EO_CLASS_TYPE
6 
7 /**
8  * @typedef Elm_Widget_Item
9  * An Elementary widget item handle.
10  * This is a sub component of an Elementary widget and it is the same as
11  * Elementary object item, Elm_Object_Item.
12  * Common functions for Elementary widget item are provided on this page.
13  * Each Elementary widget also provides its own functions to use Elementary
14  * widget item.
15  * For more details about how Elementary widget item is used with Elementary
16  * widget, please refer each Elementary widget's documents.
17  * @ingroup Elm_General
18  */
19 typedef Eo Elm_Widget_Item;
20 
21 #endif
22 
23 #ifndef _ELM_WIDGET_ITEM_EO_TYPES
24 #define _ELM_WIDGET_ITEM_EO_TYPES
25 
26 
27 #endif
28 
29 /**
30  * @brief Control size restriction state of an object's tooltip
31  *
32  * This function returns whether a tooltip is allowed to expand beyond its
33  * parent window's canvas. It will instead be limited only by the size of the
34  * display.
35  *
36  * @param[in] obj The object.
37  * @param[in] disable If @c true, size restrictions are disabled
38  *
39  * @return @c false on failure, @c true on success
40  *
41  * @ingroup Elm_General
42  */
43 EAPI Eina_Bool elm_object_item_tooltip_window_mode_set(Elm_Widget_Item *obj, Eina_Bool disable);
44 
45 /**
46  * @brief Control size restriction state of an object's tooltip
47  *
48  * This function returns whether a tooltip is allowed to expand beyond its
49  * parent window's canvas. It will instead be limited only by the size of the
50  * display.
51  *
52  * @param[in] obj The object.
53  *
54  * @return If @c true, size restrictions are disabled
55  *
56  * @ingroup Elm_General
57  */
58 EAPI Eina_Bool elm_object_item_tooltip_window_mode_get(const Elm_Widget_Item *obj);
59 
60 /**
61  * @brief Control a different style for this item tooltip.
62  *
63  * @note before you set a style you should define a tooltip with
64  * @ref elm_object_item_tooltip_content_cb_set or
65  * @ref elm_object_item_tooltip_text_set
66  *
67  * See: elm_object_tooltip_style_set() for more details.
68  *
69  * @param[in] obj The object.
70  * @param[in] style The theme style used/to use (default, transparent, ...)
71  *
72  * @ingroup Elm_General
73  */
74 EAPI void elm_object_item_tooltip_style_set(Elm_Widget_Item *obj, const char *style);
75 
76 /**
77  * @brief Control a different style for this item tooltip.
78  *
79  * @note before you set a style you should define a tooltip with
80  * @ref elm_object_item_tooltip_content_cb_set or
81  * @ref elm_object_item_tooltip_text_set
82  *
83  * See: elm_object_tooltip_style_set() for more details.
84  *
85  * @param[in] obj The object.
86  *
87  * @return The theme style used/to use (default, transparent, ...)
88  *
89  * @ingroup Elm_General
90  */
91 EAPI const char *elm_object_item_tooltip_style_get(const Elm_Widget_Item *obj);
92 
93 /**
94  * @brief Control the type of mouse pointer/cursor decoration to be shown, when
95  * the mouse pointer is over the given item
96  *
97  * This function works analogously as elm_object_cursor_set(), but here the
98  * cursor's changing area is restricted to the item's area, and not the whole
99  * widget's. Note that that item cursors have precedence over widget cursors,
100  * so that a mouse over an item with custom cursor set will always show that
101  * cursor.
102  *
103  * If this function is called twice for an object, a previously set cursor will
104  * be unset on the second call.
105  *
106  * @param[in] obj The object.
107  * @param[in] cursor The cursor type's name
108  *
109  * @ingroup Elm_General
110  */
111 EAPI void elm_object_item_cursor_set(Elm_Widget_Item *obj, const char *cursor);
112 
113 /**
114  * @brief Control the type of mouse pointer/cursor decoration to be shown, when
115  * the mouse pointer is over the given item
116  *
117  * This function works analogously as elm_object_cursor_set(), but here the
118  * cursor's changing area is restricted to the item's area, and not the whole
119  * widget's. Note that that item cursors have precedence over widget cursors,
120  * so that a mouse over an item with custom cursor set will always show that
121  * cursor.
122  *
123  * If this function is called twice for an object, a previously set cursor will
124  * be unset on the second call.
125  *
126  * @param[in] obj The object.
127  *
128  * @return The cursor type's name
129  *
130  * @ingroup Elm_General
131  */
132 EAPI const char *elm_object_item_cursor_get(const Elm_Widget_Item *obj);
133 
134 /**
135  * @brief Control a different @c style for a given custom cursor set for an
136  * item.
137  *
138  * This function only makes sense when one is using custom mouse cursor
139  * decorations defined in a theme file, which can have, given a cursor
140  * name/type, alternate styles on it. It works analogously as
141  * elm_object_cursor_style_set(), but here applies only to item objects.
142  *
143  * @warning Before you set a cursor style you should have defined a custom
144  * cursor previously on the item, with @ref elm_object_item_cursor_set
145  *
146  * @param[in] obj The object.
147  * @param[in] style The theme style to use/in use (e.g. $"default",
148  * $"transparent", etc)
149  *
150  * @ingroup Elm_General
151  */
152 EAPI void elm_object_item_cursor_style_set(Elm_Widget_Item *obj, const char *style);
153 
154 /**
155  * @brief Control a different @c style for a given custom cursor set for an
156  * item.
157  *
158  * This function only makes sense when one is using custom mouse cursor
159  * decorations defined in a theme file, which can have, given a cursor
160  * name/type, alternate styles on it. It works analogously as
161  * elm_object_cursor_style_set(), but here applies only to item objects.
162  *
163  * @warning Before you set a cursor style you should have defined a custom
164  * cursor previously on the item, with @ref elm_object_item_cursor_set
165  *
166  * @param[in] obj The object.
167  *
168  * @return The theme style to use/in use (e.g. $"default", $"transparent", etc)
169  *
170  * @ingroup Elm_General
171  */
172 EAPI const char *elm_object_item_cursor_style_get(const Elm_Widget_Item *obj);
173 
174 /**
175  * @brief Control if the (custom)cursor for a given item should be searched in
176  * its theme, also, or should only rely on the rendering engine.
177  *
178  * @note This call is of use only if you've set a custom cursor for items, with
179  * @ref elm_object_item_cursor_set.
180  *
181  * @note By default, cursors will only be looked for between those provided by
182  * the rendering engine.
183  *
184  * @param[in] obj The object.
185  * @param[in] engine_only Use @c true to have cursors looked for only on those
186  * provided by the rendering engine, @c false to have them searched on the
187  * widget's theme, as well.
188  *
189  * @ingroup Elm_General
190  */
191 EAPI void elm_object_item_cursor_engine_only_set(Elm_Widget_Item *obj, Eina_Bool engine_only);
192 
193 /**
194  * @brief Control if the (custom)cursor for a given item should be searched in
195  * its theme, also, or should only rely on the rendering engine.
196  *
197  * @note This call is of use only if you've set a custom cursor for items, with
198  * @ref elm_object_item_cursor_set.
199  *
200  * @note By default, cursors will only be looked for between those provided by
201  * the rendering engine.
202  *
203  * @param[in] obj The object.
204  *
205  * @return Use @c true to have cursors looked for only on those provided by the
206  * rendering engine, @c false to have them searched on the widget's theme, as
207  * well.
208  *
209  * @ingroup Elm_General
210  */
211 EAPI Eina_Bool elm_object_item_cursor_engine_only_get(const Elm_Widget_Item *obj);
212 
213 /**
214  * @brief Control a content of an object item
215  *
216  * This sets a new object to an item as a content object. If any object was
217  * already set as a content object in the same part, previous object will be
218  * deleted automatically.
219  *
220  * @param[in] obj The object.
221  * @param[in] part The content part name  (NULL for the default content)
222  * @param[in] content The content of the object item
223  *
224  * @ingroup Elm_General
225  */
226 EAPI void elm_object_item_part_content_set(Elm_Widget_Item *obj, const char *part, Efl_Canvas_Object *content);
227 
228 /**
229  * @brief Control a content of an object item
230  *
231  * This sets a new object to an item as a content object. If any object was
232  * already set as a content object in the same part, previous object will be
233  * deleted automatically.
234  *
235  * @param[in] obj The object.
236  * @param[in] part The content part name  (NULL for the default content)
237  *
238  * @return The content of the object item
239  *
240  * @ingroup Elm_General
241  */
242 EAPI Efl_Canvas_Object *elm_object_item_part_content_get(const Elm_Widget_Item *obj, const char *part);
243 
244 /**
245  * @brief Control a label of an object item
246  *
247  * @note Elementary object items may have many labels
248  *
249  * @param[in] obj The object.
250  * @param[in] part The text part name (NULL for the default label)
251  * @param[in] label Text of the label
252  *
253  * @ingroup Elm_General
254  */
255 EAPI void elm_object_item_part_text_set(Elm_Widget_Item *obj, const char *part, const char *label);
256 
257 /**
258  * @brief Control a label of an object item
259  *
260  * @note Elementary object items may have many labels
261  *
262  * @param[in] obj The object.
263  * @param[in] part The text part name (NULL for the default label)
264  *
265  * @return Text of the label
266  *
267  * @ingroup Elm_General
268  */
269 EAPI const char *elm_object_item_part_text_get(const Elm_Widget_Item *obj, const char *part);
270 
271 
272 
273 /**
274  * @brief Control the object item focused
275  *
276  * @param[in] obj The object.
277  * @param[in] focused The focused state
278  *
279  * @since 1.10
280  *
281  * @ingroup Elm_General
282  */
283 EAPI void elm_object_item_focus_set(Elm_Widget_Item *obj, Eina_Bool focused);
284 
285 /**
286  * @brief Control the object item focused
287  *
288  * @param[in] obj The object.
289  *
290  * @return The focused state
291  *
292  * @since 1.10
293  *
294  * @ingroup Elm_General
295  */
296 EAPI Eina_Bool elm_object_item_focus_get(const Elm_Widget_Item *obj);
297 
298 /**
299  * @brief Control the style of an object item
300  *
301  * @param[in] obj The object.
302  * @param[in] style The style of object item
303  *
304  * @since 1.9
305  *
306  * @ingroup Elm_General
307  */
308 EAPI void elm_object_item_style_set(Elm_Widget_Item *obj, const char *style);
309 
310 /**
311  * @brief Control the style of an object item
312  *
313  * @param[in] obj The object.
314  *
315  * @return The style of object item
316  *
317  * @since 1.9
318  *
319  * @ingroup Elm_General
320  */
321 EAPI const char *elm_object_item_style_get(const Elm_Widget_Item *obj);
322 
323 /**
324  * @brief Control the disabled state of a widget item.
325  *
326  * Elementary object item can be disabled, in which state they won't receive
327  * input and, in general, will be themed differently from their normal state,
328  * usually greyed out. Useful for contexts where you don't want your users to
329  * interact with some of the parts of you interface.
330  *
331  * This sets the state for the widget item, either disabling it or enabling it
332  * back.
333  *
334  * @param[in] obj The object.
335  * @param[in] disable @c true, if the widget item is disabled, @c false if it's
336  * enabled (or on errors)
337  *
338  * @ingroup Elm_General
339  */
340 EAPI void elm_object_item_disabled_set(Elm_Widget_Item *obj, Eina_Bool disable);
341 
342 /**
343  * @brief Control the disabled state of a widget item.
344  *
345  * Elementary object item can be disabled, in which state they won't receive
346  * input and, in general, will be themed differently from their normal state,
347  * usually greyed out. Useful for contexts where you don't want your users to
348  * interact with some of the parts of you interface.
349  *
350  * This sets the state for the widget item, either disabling it or enabling it
351  * back.
352  *
353  * @param[in] obj The object.
354  *
355  * @return @c true, if the widget item is disabled, @c false if it's enabled
356  * (or on errors)
357  *
358  * @ingroup Elm_General
359  */
360 EAPI Eina_Bool elm_object_item_disabled_get(const Elm_Widget_Item *obj);
361 
362 /**
363  * @brief Get highlight order
364  *
365  * @param[in] obj The object.
366  *
367  * @return List of evas canvas objects
368  *
369  * @since 1.8
370  *
371  * @ingroup Elm_General
372  */
373 EAPI const Eina_List *elm_object_item_access_order_get(Elm_Widget_Item *obj);
374 
375 /**
376  * @brief Set highlight order
377  *
378  * @param[in] obj The object.
379  * @param[in] objs Order of objects to pass highlight
380  *
381  * @since 1.8
382  *
383  * @ingroup Elm_General
384  */
385 EAPI void elm_object_item_access_order_set(Elm_Widget_Item *obj, Eina_List *objs);
386 
387 /**
388  * @brief Get the widget object's handle which contains a given item
389  *
390  * @note This returns the widget object itself that an item belongs to. Note:
391  * Every elm_object_item supports this API
392  *
393  * @param[in] obj The object.
394  *
395  * @return The widget object
396  *
397  * @ingroup Elm_General
398  */
399 EAPI Efl_Canvas_Object *elm_object_item_widget_get(const Elm_Widget_Item *obj);
400 
401 
402 /**
403  * @brief Set the text to be shown in a given object item's tooltips.
404  *
405  * Setup the text as tooltip to object. The item can have only one tooltip, so
406  * any previous tooltip data - set with this function or
407  * @ref elm_object_item_tooltip_content_cb_set - is removed.
408  *
409  * See: elm_object_tooltip_text_set() for more details.
410  *
411  * @param[in] obj The object.
412  * @param[in] text The text to set in the content.
413  *
414  * @ingroup Elm_General
415  */
416 EAPI void elm_object_item_tooltip_text_set(Elm_Widget_Item *obj, const char *text);
417 
418 
419 /**
420  * @brief Unset tooltip from item.
421  *
422  * Remove tooltip from item. The callback provided as del_cb to
423  * @ref elm_object_item_tooltip_content_cb_set will be called to notify it is
424  * not used anymore.
425  *
426  * See: elm_object_tooltip_unset() for more details. See:
427  * @ref elm_object_item_tooltip_content_cb_set
428  * @param[in] obj The object.
429  *
430  * @ingroup Elm_General
431  */
432 EAPI void elm_object_item_tooltip_unset(Elm_Widget_Item *obj);
433 
434 /**
435  * @brief Unset any custom mouse pointer/cursor decoration set to be shown,
436  * when the mouse pointer is over the given item, thus making it show the
437  * default cursor again.
438  *
439  * Use this call to undo any custom settings on this item's cursor decoration,
440  * bringing it back to defaults (no custom style set).
441  *
442  * See: elm_object_cursor_unset() See: @ref elm_object_item_cursor_set
443  * @param[in] obj The object.
444  *
445  * @ingroup Elm_General
446  */
447 EAPI void elm_object_item_cursor_unset(Elm_Widget_Item *obj);
448 
449 /**
450  * @brief Unset a content of an object item
451  *
452  * @note Elementary object items may have many contents
453  *
454  * @param[in] obj The object.
455  * @param[in] part The content part name to unset (NULL for the default
456  * content)
457  *
458  * @return Content object
459  *
460  * @ingroup Elm_General
461  */
462 EAPI Efl_Canvas_Object *elm_object_item_part_content_unset(Elm_Widget_Item *obj, const char *part);
463 
464 
465 /**
466  * @brief Add a callback for a signal emitted by object item edje.
467  *
468  * This function connects a callback function to a signal emitted by the edje
469  * object of the object item. Globs can occur in either the emission or source
470  * name.
471  *
472  * @param[in] obj The object.
473  * @param[in] emission The signal's name.
474  * @param[in] source The signal's source.
475  * @param[in] func The callback function to be executed when the signal is
476  * emitted.
477  * @param[in] data A pointer to data to pass to the callback function.
478  *
479  * @since 1.8
480  *
481  * @ingroup Elm_General
482  */
483 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);
484 
485 /**
486  * @brief Remove a signal-triggered callback from a object item edje object.
487  *
488  * This function removes the last callback, previously attached to a signal
489  * emitted by an underlying Edje object of @c it, whose parameters @c emission,
490  * @c source and @c func match exactly with those passed to a previous call to
491  * @ref elm_object_item_signal_callback_add. The data pointer that was passed
492  * to this call will be returned.
493  *
494  * See: @ref elm_object_item_signal_callback_add
495  *
496  * @param[in] obj The object.
497  * @param[in] emission The signal's name.
498  * @param[in] source The signal's source.
499  * @param[in] func The callback function to be executed when the signal is
500  * emitted.
501  *
502  * @return The data pointer of the signal callback or @c NULL, on errors.
503  *
504  * @since 1.8
505  *
506  * @ingroup Elm_General
507  */
508 EAPI void *elm_object_item_signal_callback_del(Elm_Widget_Item *obj, const char *emission, const char *source, Elm_Object_Item_Signal_Cb func);
509 
510 /**
511  * @brief Send a signal to the edje object of the widget item.
512  *
513  * This function sends a signal to the edje object of the obj item. An edje
514  * program can respond to a signal by specifying matching 'signal' and 'source'
515  * fields. Don't use this unless you want to also handle resetting of part
516  * states to default on every unrealize in case of genlist/gengrid.
517  *
518  * @param[in] obj The object.
519  * @param[in] emission The signal's name.
520  * @param[in] source The signal's source.
521  *
522  * @ingroup Elm_General
523  */
524 EAPI void elm_object_item_signal_emit(Elm_Widget_Item *obj, const char *emission, const char *source);
525 
526 /**
527  * @brief Set the text to read out when in accessibility mode
528  *
529  * @param[in] obj The object.
530  * @param[in] txt The text that describes the widget to people with poor or no
531  * vision
532  *
533  * @ingroup Elm_General
534  */
535 EAPI void elm_object_item_access_info_set(Elm_Widget_Item *obj, const char *txt);
536 
537 /**
538  * @brief Get an accessible object of the object item.
539  *
540  * @param[in] obj The object.
541  *
542  * @return Accessible object of the object item or NULL for any error
543  *
544  * @since 1.8
545  *
546  * @ingroup Elm_General
547  */
548 EAPI Efl_Canvas_Object *elm_object_item_access_object_get(const Elm_Widget_Item *obj);
549 
550 /**
551  * @brief Set the text for an object item's part, marking it as translatable.
552  *
553  * The string to set as @c text must be the original one. Do not pass the
554  * return of @c gettext() here. Elementary will translate the string internally
555  * and set it on the object item using @ref elm_object_item_part_text_set, also
556  * storing the original string so that it can be automatically translated when
557  * the language is changed with elm_language_set(). The @c domain will be
558  * stored along to find the translation in the correct catalog. It can be NULL,
559  * in which case it will use whatever domain was set by the application with
560  * @c textdomain(). This is useful in case you are building a library on top of
561  * Elementary that will have its own translatable strings, that should not be
562  * mixed with those of programs using the library.
563  *
564  * @param[in] obj The object.
565  * @param[in] part The name of the part to set
566  * @param[in] domain The translation domain to use
567  * @param[in] label The original, non-translated text to set
568  *
569  * @since 1.8
570  *
571  * @ingroup Elm_General
572  */
573 EAPI void elm_object_item_domain_translatable_part_text_set(Elm_Widget_Item *obj, const char *part, const char *domain, const char *label);
574 
575 /**
576  * @brief Get the original string set as translatable for an object item.
577  *
578  * When setting translated strings, the function
579  * @ref elm_object_item_part_text_get will return the translation returned by
580  * @c gettext(). To get the original string use this function.
581  *
582  * @param[in] obj The object.
583  * @param[in] part The name of the part that was set
584  *
585  * @return The original, untranslated string
586  *
587  * @since 1.8
588  *
589  * @ingroup Elm_General
590  */
591 EAPI const char *elm_object_item_translatable_part_text_get(const Elm_Widget_Item *obj, const char *part);
592 
593 
594 /**
595  * @brief Mark the part text to be translatable or not.
596  *
597  * Once you mark the part text to be translatable, the text will be translated
598  * internally regardless of @ref elm_object_item_part_text_set and
599  * @ref elm_object_item_domain_translatable_part_text_set. In other case, if
600  * you set the Elementary policy that all text will be translatable in default,
601  * you can set the part text to not be translated by calling this API.
602  *
603  * See: @ref elm_object_item_domain_translatable_part_text_set See:
604  * @ref elm_object_item_part_text_set See: elm_policy()
605  *
606  * @param[in] obj The object.
607  * @param[in] part The part name of the translatable text
608  * @param[in] domain The translation domain to use
609  * @param[in] translatable @c true, the part text will be translated
610  * internally. @c false, otherwise.
611  *
612  * @since 1.8
613  *
614  * @ingroup Elm_General
615  */
616 EAPI void elm_object_item_domain_part_text_translatable_set(Elm_Widget_Item *obj, const char *part, const char *domain, Eina_Bool translatable);
617 
618 /**
619  * @brief This returns track object of the item.
620  *
621  * @note This gets a rectangle object that represents the object item's
622  * internal object. If you want to check the geometry, visibility of the item,
623  * you can call the evas apis such as evas_object_geometry_get(),
624  * evas_object_visible_get() to the track object. Note that all of the widget
625  * items may/may not have the internal object so this api may return @c NULL if
626  * the widget item doesn't have it. Additionally, the widget item is
627  * managed/controlled by the widget, the widget item could be changed(moved,
628  * resized even deleted) anytime by it's own widget's decision. So please don't
629  * change the track object as well as don't keep the track object in your side
630  * as possible but get the track object at the moment you need to refer.
631  * Otherwise, you need to add some callbacks to the track object to track it's
632  * attributes changes.
633  *
634  * @warning After use the track object, please call the
635  * @ref elm_object_item_untrack() paired to elm_object_item_track definitely to
636  * free the track object properly. Don't delete the track object.
637  *
638  * See: @ref elm_object_item_untrack See: @ref elm_object_item_track_get
639  *
640  * @param[in] obj The object.
641  *
642  * @return The track object
643  *
644  * @since 1.8
645  *
646  * @ingroup Elm_General
647  */
648 EAPI Efl_Canvas_Object *elm_object_item_track(Elm_Widget_Item *obj);
649 
650 /**
651  * @brief This retrieve the track object of the item.
652  *
653  * @note This retrieves the track object that was returned from
654  * @ref elm_object_item_track.
655  *
656  * See: @ref elm_object_item_track See: @ref elm_object_item_track_get
657  *
658  * @param[in] obj The object.
659  *
660  * @since 1.8
661  *
662  * @ingroup Elm_General
663  */
664 EAPI void elm_object_item_untrack(Elm_Widget_Item *obj);
665 
666 /**
667  * @brief Get the track object reference count.
668  *
669  * @note This gets the reference count for the track object. Whenever you call
670  * the @ref elm_object_item_track, the reference count will be increased by
671  * one. Likely the reference count will be decreased again when you call the
672  * @ref elm_object_item_untrack. Unless the reference count reaches to zero,
673  * the track object won't be deleted. So please be sure to call
674  * @ref elm_object_item_untrack() paired to the elm_object_item_track call
675  * count.
676  *
677  * See: @ref elm_object_item_track See: @ref elm_object_item_track_get
678  *
679  * @param[in] obj The object.
680  *
681  * @return Track object reference count
682  *
683  * @since 1.8
684  *
685  * @ingroup Elm_General
686  */
687 EAPI int elm_object_item_track_get(const Elm_Widget_Item *obj);
688 
689 
690 /**
691  * @brief Set the function to be called when an item from the widget is freed.
692  *
693  * @note Every elm_object_item supports this API
694  *
695  * @param[in] obj The object.
696  * @param[in] del_cb The function called
697  *
698  * @ingroup Elm_General
699  */
700 EAPI void elm_object_item_del_cb_set(Elm_Widget_Item *obj, Evas_Smart_Cb del_cb);
701 
702 /**
703  * @brief Set the content to be shown in the tooltip item.
704  *
705  * Setup the tooltip to item. The item can have only one tooltip, so any
706  * previous tooltip data is removed. @c func(with @c data) will be called every
707  * time that need show the tooltip and it should return a valid Evas_Object.
708  * This object is then managed fully by tooltip system and is deleted when the
709  * tooltip is gone.
710  *
711  * See: elm_object_tooltip_content_cb_set() for more details.
712  *
713  * @param[in] obj The object.
714  * @param[in] func The function used to create the tooltip contents.
715  * @param[in] data What to provide to @c func as callback data/context.
716  * @param[in] del_cb Called when data is not needed anymore, either when
717  * another callback replaces @c func, the tooltip is unset with
718  * @ref elm_object_item_tooltip_unset or the owner @c item dies. This callback
719  * receives as the first parameter the given @c data, and @c event_info is the
720  * item.
721  *
722  * @ingroup Elm_General
723  */
724 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);
725 
726 /**
727  * @brief Register object item as an accessible object.
728  *
729  * @param[in] obj The object.
730  *
731  * @return Accessible object of the object item or NULL for any error
732  *
733  * @since 1.8
734  *
735  * @ingroup Elm_General
736  */
737 EAPI Efl_Canvas_Object *elm_object_item_access_register(Elm_Widget_Item *obj);
738 
739 /** Unregister accessible object of the object item.
740  *
741  * @since 1.8
742  *
743  * @ingroup Elm_General
744  */
745 EAPI void elm_object_item_access_unregister(Elm_Widget_Item *obj);
746 
747 /** Unset highlight order
748  *
749  * @since 1.8
750  *
751  * @ingroup Elm_General
752  */
753 EAPI void elm_object_item_access_order_unset(Elm_Widget_Item *obj);
754 
755 
756 
757 /**
758  * @brief Get the next object with specific focus direction.
759  *
760  * @param[in] obj The object.
761  * @param[in] dir Focus direction
762  *
763  * @return Focus next object
764  *
765  * @since 1.16
766  *
767  * @ingroup Elm_General
768  */
769 EAPI Efl_Canvas_Object *elm_object_item_focus_next_object_get(const Elm_Widget_Item *obj, Elm_Focus_Direction dir);
770 
771 /**
772  * @brief Set the next object with specific focus direction.
773  *
774  * @param[in] obj The object.
775  * @param[in] next Focus next object
776  * @param[in] dir Focus direction
777  *
778  * @since 1.16
779  *
780  * @ingroup Elm_General
781  */
782 EAPI void elm_object_item_focus_next_object_set(Elm_Widget_Item *obj, Efl_Canvas_Object *next, Elm_Focus_Direction dir);
783 
784 /**
785  * @brief Get the next object item with specific focus direction.
786  *
787  * @param[in] obj The object.
788  * @param[in] dir Focus direction
789  *
790  * @return Focus next object item
791  *
792  * @since 1.16
793  *
794  * @ingroup Elm_General
795  */
796 EAPI Elm_Widget_Item *elm_object_item_focus_next_item_get(const Elm_Widget_Item *obj, Elm_Focus_Direction dir);
797 
798 /**
799  * @brief Set the next object item with specific focus direction.
800  *
801  * @param[in] obj The object.
802  * @param[in] next_item Focus next object item
803  * @param[in] dir Focus direction
804  *
805  * @since 1.16
806  *
807  * @ingroup Elm_General
808  */
809 EAPI void elm_object_item_focus_next_item_set(Elm_Widget_Item *obj, Elm_Widget_Item *next_item, Elm_Focus_Direction dir);
810 
811 #endif
812