Tooltips
Elementary

The Tooltip is an (internal, for now) smart object used to show a content in a frame on mouse hover of objects(or widgets), with tips/information about them. More...

## Macros

#define | elm_object_tooltip_translatable_text_set(obj, text)

## Typedefs

typedef Evas_Object *(* | Elm_Tooltip_Content_Cb) (void *data, Evas_Object *obj, Evas_Object *tooltip)
| Called back when a widget's tooltip is activated and needs content.
typedef Evas_Object *(* | Elm_Tooltip_Item_Content_Cb) (void *data, Evas_Object *obj, Evas_Object *tooltip, void *item)
| Called back when a widget's item tooltip is activated and needs content.

## Enumerations

enum | Elm_Tooltip_Orient { ELM_TOOLTIP_ORIENT_NONE = 0 , ELM_TOOLTIP_ORIENT_TOP_LEFT , ELM_TOOLTIP_ORIENT_TOP , ELM_TOOLTIP_ORIENT_TOP_RIGHT , ELM_TOOLTIP_ORIENT_LEFT , ELM_TOOLTIP_ORIENT_CENTER , ELM_TOOLTIP_ORIENT_RIGHT , ELM_TOOLTIP_ORIENT_BOTTOM_LEFT , ELM_TOOLTIP_ORIENT_BOTTOM , ELM_TOOLTIP_ORIENT_BOTTOM_RIGHT , ELM_TOOLTIP_ORIENT_LAST }
| Possible orient values for tooltip. More...

## Functions

void | elm_object_tooltip_move_freeze_push (Evas_Object *obj)
| This increments the tooltip movement freeze count by one.
void | elm_object_tooltip_move_freeze_pop (Evas_Object *obj)
| This decrements the tooltip freeze count by one.
int | elm_object_tooltip_move_freeze_get (const Evas_Object *obj)
| Get the movement freeze count.
void | elm_object_tooltip_orient_set (Evas_Object *obj, Elm_Tooltip_Orient orient)
| Sets the orientation of the tooltip around the owner region.
Elm_Tooltip_Orient | elm_object_tooltip_orient_get (const Evas_Object *obj)
| Returns the orientation of Tooltip.
void | elm_object_tooltip_show (Evas_Object *obj)
| Force show tooltip of object.
void | elm_object_tooltip_hide (Evas_Object *obj)
| Force hide tooltip of object.
void | elm_object_tooltip_text_set (Evas_Object *obj, const char *text)
| Set the text to be displayed inside the tooltip.
void | elm_object_tooltip_domain_translatable_text_set (Evas_Object *obj, const char *domain, const char *text)
void | elm_object_tooltip_content_cb_set (Evas_Object *obj, Elm_Tooltip_Content_Cb func, const void *data, Evas_Smart_Cb del_cb)
| Set the content to be shown in the tooltip object.
void | elm_object_tooltip_unset (Evas_Object *obj)
| Unset tooltip from object.
void | elm_object_tooltip_style_set (Evas_Object *obj, const char *style)
| Set a different style for this object tooltip.
const char * | elm_object_tooltip_style_get (const Evas_Object *obj)
| Get the style for this object tooltip.
Eina_Bool | elm_object_tooltip_window_mode_set (Evas_Object *obj, Eina_Bool disable)
| Disable size restrictions on an object's tooltip.
Eina_Bool | elm_object_tooltip_window_mode_get (const Evas_Object *obj)
| Get size restriction state of an object's tooltip.
double | elm_config_tooltip_delay_get (void)
| Get the duration after which tooltip will be shown.
void | elm_config_tooltip_delay_set (double delay)
| Set the duration after which tooltip will be shown.

## Detailed Description

The Tooltip is an (internal, for now) smart object used to show a content in a frame on mouse hover of objects(or widgets), with tips/information about them.

## Macro Definition Documentation

## elm_object_tooltip_translatable_text_set

#define elm_object_tooltip_translatable_text_set | ( |  | obj,
|  |  | text )

Value:
elm_object_tooltip_domain_translatable_text_set((obj), NULL, (text))

## Typedef Documentation

## Elm_Tooltip_Content_Cb

typedef Evas_Object *(* Elm_Tooltip_Content_Cb) (void *data, Evas_Object *obj, Evas_Object *tooltip)

Called back when a widget's tooltip is activated and needs content.

Parameters

  data | user-data given to elm_object_tooltip_content_cb_set()
  obj | owner widget.
  tooltip | The tooltip object (affix content to this!)

## Elm_Tooltip_Item_Content_Cb

typedef Evas_Object *(* Elm_Tooltip_Item_Content_Cb) (void *data, Evas_Object *obj, Evas_Object *tooltip, void *item)

Called back when a widget's item tooltip is activated and needs content.

Parameters

  data | user-data given to elm_object_tooltip_content_cb_set()
  obj | owner widget.
  tooltip | The tooltip object (affix content to this!)
  item | context dependent item. As an example, if tooltip was set on elm_list item, then it is of this type.

## Enumeration Type Documentation

## Elm_Tooltip_Orient

enum Elm_Tooltip_Orient

Possible orient values for tooltip.

These values should be used in conjunction to elm_object_tooltip_orient_set() to set the position around which the tooltip should appear(relative to its parent)

Enumerator
ELM_TOOLTIP_ORIENT_NONE | Default value, Tooltip moves with mouse pointer.
ELM_TOOLTIP_ORIENT_TOP_LEFT | Tooltip should appear at the top left of parent.
ELM_TOOLTIP_ORIENT_TOP | Tooltip should appear at the top of parent.
ELM_TOOLTIP_ORIENT_TOP_RIGHT | Tooltip should appear at the top right of parent.
ELM_TOOLTIP_ORIENT_LEFT | Tooltip should appear at the left of parent.
ELM_TOOLTIP_ORIENT_CENTER | Tooltip should appear at the center of parent.
ELM_TOOLTIP_ORIENT_RIGHT | Tooltip should appear at the right of parent.
ELM_TOOLTIP_ORIENT_BOTTOM_LEFT | Tooltip should appear at the bottom left of parent.
ELM_TOOLTIP_ORIENT_BOTTOM | Tooltip should appear at the bottom of parent.
ELM_TOOLTIP_ORIENT_BOTTOM_RIGHT | Tooltip should appear at the bottom right of parent.
ELM_TOOLTIP_ORIENT_LAST | Sentinel value, don't use.

## Function Documentation

## elm_config_tooltip_delay_get()

double elm_config_tooltip_delay_get | ( | void |  | ) |

Get the duration after which tooltip will be shown.

Returns
  Duration after which tooltip will be shown.

## elm_object_tooltip_move_freeze_push()

void elm_object_tooltip_move_freeze_push | ( | Evas_Object * | obj | ) |

This increments the tooltip movement freeze count by one.

If the count is more than 0, the tooltip position will be fixed.

Parameters

  obj | The tooltip's anchor object

See also
  elm_object_tooltip_move_freeze_pop()
  elm_object_tooltip_move_freeze_get()

Since
  1.9

## elm_object_tooltip_move_freeze_pop()

void elm_object_tooltip_move_freeze_pop | ( | Evas_Object * | obj | ) |

This decrements the tooltip freeze count by one.

Parameters

  obj | The tooltip's anchor object

See also
  elm_object_tooltip_move_freeze_push()

Since
  1.9

## elm_object_tooltip_move_freeze_get()

int elm_object_tooltip_move_freeze_get | ( | const Evas_Object * | obj | ) |

Get the movement freeze count.

This gets the movement freeze count.

Parameters

  obj | The tooltip's anchor object

Returns
  The movement freeze count

See also
  elm_object_tooltip_move_freeze_push()

Since
  1.9

## elm_object_tooltip_orient_set()

void elm_object_tooltip_orient_set | ( | Evas_Object * | obj,
|  | Elm_Tooltip_Orient | orient )

Sets the orientation of the tooltip around the owner region.

Sets the position in which tooltip will appear around its owner. By default, ELM_TOOLTIP_ORIENT_NONE is set.

Parameters

  obj | The owner widget.
  orient | The orientation of the tooltip.

See also
  Elm_Tooltip_Orient for possible values.

Since
  1.9

References ELM_TOOLTIP_ORIENT_LAST, and ELM_TOOLTIP_ORIENT_NONE.

## elm_object_tooltip_orient_get()

Elm_Tooltip_Orient elm_object_tooltip_orient_get | ( | const Evas_Object * | obj | ) |

Returns the orientation of Tooltip.

Parameters

  obj | The owner object

Returns
  The orientation of the tooltip

See also
  elm_object_tooltip_orient_set() Elm_Tooltip_Orient for possible values.

References ELM_TOOLTIP_ORIENT_NONE.

## elm_object_tooltip_show()

void elm_object_tooltip_show | ( | Evas_Object * | obj | ) |

Force show tooltip of object.

Parameters

  obj | Target object

Force show the tooltip and disable hide on mouse_out. If another content is set as tooltip, the visible tooltip will be hidden and showed again with new content. This can force show more than one tooltip at a time.

References EINA_TRUE.

## elm_object_tooltip_hide()

void elm_object_tooltip_hide | ( | Evas_Object * | obj | ) |

Force hide tooltip of object.

Parameters

  obj | Target object

Force hide the tooltip and (re)enable future mouse interations.

References EINA_FALSE.

## elm_object_tooltip_text_set()

void elm_object_tooltip_text_set | ( | Evas_Object * | obj,
|  | const char * | text )

Set the text to be displayed inside the tooltip.

Parameters

  obj | The tooltip object.
  text | The text to be displayed.

References EINA_SAFETY_ON_NULL_RETURN, eina_stringshare_add(), elm_object_tooltip_content_cb_set(), and elm_object_tooltip_unset().

## elm_object_tooltip_content_cb_set()

void elm_object_tooltip_content_cb_set | ( | Evas_Object * | obj,
|  | Elm_Tooltip_Content_Cb | func,
|  | const void * | data,
|  | Evas_Smart_Cb | del_cb )

Set the content to be shown in the tooltip object.

Parameters

  obj | The object being attached a tooltip.
  func | The function used to create the tooltip contents.
  data | What to provide to func as callback data/context.
  del_cb | Function called when data is not needed anymore, either when another callback replaces `func`, the tooltip is unset with elm_object_tooltip_unset() or the owner object obj dies. This callback receives as the first parameter the given data, and `event_info` is NULL.

Setup the tooltip to object. The object 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.

Referenced by elm_object_tooltip_text_set().

## elm_object_tooltip_unset()

void elm_object_tooltip_unset | ( | Evas_Object * | obj | ) |

Unset tooltip from object.

Parameters

  obj | Target object

Remove tooltip from object. The callback provided as del_cb to elm_object_tooltip_content_cb_set() will be called to notify it is not used anymore.

See also
  elm_object_tooltip_content_cb_set()

Referenced by elm_object_tooltip_text_set().

## elm_object_tooltip_style_set()

void elm_object_tooltip_style_set | ( | Evas_Object * | obj,
|  | const char * | style )

Set a different style for this object tooltip.

Note
  before you set a style you should define a tooltip with elm_object_tooltip_content_cb_set() or elm_object_tooltip_text_set().

Parameters

  obj | an object with tooltip already set.
  style | the theme style to use (default, transparent, ...)

References eina_stringshare_replace().

## elm_object_tooltip_style_get()

const char * elm_object_tooltip_style_get | ( | const Evas_Object * | obj | ) |

Get the style for this object tooltip.

Parameters

  obj | an object with tooltip already set.

Returns
  style the theme style in use, defaults to "default". If the object does not have a tooltip set, then NULL is returned.

## elm_object_tooltip_window_mode_set()

Eina_Bool elm_object_tooltip_window_mode_set | ( | Evas_Object * | obj,
|  | Eina_Bool | disable )

Disable size restrictions on an object's tooltip.

Parameters

  obj | The tooltip's anchor object
  disable | If `EINA_TRUE`, size restrictions are disabled

Returns
  `EINA_FALSE` on failure, `EINA_TRUE` on success

This function allows a tooltip to expand beyond its parent window's canvas. It will instead be limited only by the size of the display.

References EINA_FALSE.

## elm_object_tooltip_window_mode_get()

Eina_Bool elm_object_tooltip_window_mode_get | ( | const Evas_Object * | obj | ) |

Get size restriction state of an object's tooltip.

Parameters

  obj | The tooltip's anchor object

Returns
  If `EINA_TRUE`, size restrictions are disabled

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.

References EINA_FALSE.

## elm_config_tooltip_delay_set()

void elm_config_tooltip_delay_set | ( | double | delay | ) |

Set the duration after which tooltip will be shown.

Returns
  `EINA_TRUE` if value is set.

References EINA_TRUE.