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