- Main Page
- Related Pages
- Data Structures
- Files
- Examples

Functions
Hoversel

## Functions
EOAPI void | elm_obj_hoversel_horizontal_set (Eina_Bool horizontal)
| This sets the hoversel to expand horizontally. More...
EOAPI Eina_Bool | elm_obj_hoversel_horizontal_get (void)
| This returns whether the hoversel is set to expand horizontally. More...
EOAPI void | elm_obj_hoversel_hover_parent_set (Evas_Object *parent)
| Set the Hover parent. More...
EOAPI Evas_Object * | elm_obj_hoversel_hover_parent_get (void)
| Get the Hover parent. More...
EOAPI Eina_Bool | elm_obj_hoversel_expanded_get (void)
| Returns whether the hoversel is expanded. More...
EOAPI const Eina_List * | elm_obj_hoversel_items_get (void)
| Get the list of items within the given hoversel. More...
EOAPI void | elm_obj_hoversel_hover_begin (void)
| This triggers the hoversel popup from code, the same as if the user had clicked the button.
EOAPI void | elm_obj_hoversel_clear (void)
| This will remove all the children items from the hoversel. More...
EOAPI void | elm_obj_hoversel_hover_end (void)
| This dismisses the hoversel popup as if the user had clicked outside the hover.
EOAPI Elm_Object_Item * | elm_obj_hoversel_item_add (const char *label, const char *icon_file, Elm_Icon_Type icon_type, Evas_Smart_Cb func, const void *data)
| Add an item to the hoversel button. More...
void | elm_hoversel::hover_begin () const
| This triggers the hoversel popup from code, the same as if the user had clicked the button.
void | elm_hoversel::clear () const
| This will remove all the children items from the hoversel. More...
void | elm_hoversel::hover_end () const
| This dismisses the hoversel popup as if the user had clicked outside the hover.
Elm_Object_Item * | elm_hoversel::item_add (std::string label_, std::string icon_file_, Elm_Icon_Type icon_type_, Evas_Smart_Cb func_, const void *data_) const
| Add an item to the hoversel button. More...
void | elm_hoversel_horizontal_set (Eo *obj, Eina_Bool horizontal)
| This sets the hoversel to expand horizontally. More...
Eina_Bool | elm_hoversel_horizontal_get (const Eo *obj)
| This returns whether the hoversel is set to expand horizontally. More...
void | elm_hoversel_hover_parent_set (Eo *obj, Evas_Object *parent)
| Set the Hover parent. More...
Evas_Object * | elm_hoversel_hover_parent_get (const Eo *obj)
| Get the Hover parent. More...
Eina_Bool | elm_hoversel_expanded_get (const Eo *obj)
| Returns whether the hoversel is expanded. More...
const Eina_List * | elm_hoversel_items_get (const Eo *obj)
| Get the list of items within the given hoversel. More...
void | elm_hoversel_hover_begin (Eo *obj)
| This triggers the hoversel popup from code, the same as if the user had clicked the button.
void | elm_hoversel_clear (Eo *obj)
| This will remove all the children items from the hoversel. More...
void | elm_hoversel_hover_end (Eo *obj)
| This dismisses the hoversel popup as if the user had clicked outside the hover.
Elm_Object_Item * | elm_hoversel_item_add (Eo *obj, const char *label, const char *icon_file, Elm_Icon_Type icon_type, Evas_Smart_Cb func, const void *data)
| Add an item to the hoversel button. More...
Evas_Object * | elm_hoversel_add (Evas_Object *parent)
| Add a new Hoversel object. More...
void | elm_hoversel_item_icon_set (Elm_Object_Item *it, const char *icon_file, const char *icon_group, Elm_Icon_Type icon_type)
| This sets the icon for the given hoversel item. More...
void | elm_hoversel_item_icon_get (const Elm_Object_Item *it, const char **icon_file, const char **icon_group, Elm_Icon_Type *icon_type)
| Get the icon object of the hoversel item. More...

## Detailed Description

A hoversel is a button that pops up a list of items (automatically choosing the direction to display) that have a label and, optionally, an icon to select from. It is a convenience widget to avoid the need to do all the piecing together yourself. It is intended for a small number of items in the hoversel menu (no more than 8), though is capable of many more.

This widget inherits from the Button one, so that all the functions acting on it also work for hoversel objects.

This widget emits the following signals, besides the ones sent from Button:

- `"clicked"` - the user clicked the hoversel button and popped up the sel
- `"selected"` - an item in the hoversel list is selected. event_info is the selected item
- `"dismissed"` - the hover is dismissed
- `"expanded"` - This is called on clicking hoversel and elm_hoversel_hover_begin().
- `"language,changed"` - the program's language changed (since 1.9)
- `"item,focused"` - When the hoversel item has received focus. (since 1.10)
- `"item,unfocused"` - When the hoversel item has lost focus. (since 1.10)

Default content parts of the hoversel widget that you can use for are:

- "icon" - An icon of the hoversel

Default text parts of the hoversel widget that you can use for are:

- "default" - Label of the hoversel

Supported elm_object common APIs.

- elm_object_disabled_set
- elm_object_disabled_get
- elm_object_part_text_set
- elm_object_part_text_get
- elm_object_part_content_set
- elm_object_part_content_unset

Supported elm_object_item common APIs.

- elm_object_item_del
- elm_object_item_part_text_get
- elm_object_item_signal_emit - this works only when the item is created.
- elm_object_item_style_set - this works only when the item is created.
- elm_object_item_style_get - this works only when the item is created.

See Hoversel example for an example.

## Function Documentation

void elm_hoversel::clear | ( |  | ) | const
| inline

This will remove all the children items from the hoversel.

Warning
  Should not be called while the hoversel is active; use elm_hoversel_expanded_get() to check first.

See also
  elm_object_item_del()

References elm_obj_hoversel_clear().

Evas_Object* elm_hoversel_add | ( | Evas_Object * | parent | ) |

Add a new Hoversel object.

Parameters

  parent | The parent object

Returns
  The new object or NULL if it cannot be created

void elm_hoversel_clear | ( | Eo * | obj | ) |

This will remove all the children items from the hoversel.

Warning
  Should not be called while the hoversel is active; use elm_hoversel_expanded_get() to check first.

See also
  elm_object_item_del()

References elm_obj_hoversel_clear().

Eina_Bool elm_hoversel_expanded_get | ( | const Eo * | obj | ) |

Returns whether the hoversel is expanded.

Returns
  This will return `EINA_TRUE` if the hoversel is expanded or `EINA_FALSE` if it is not expanded.

References elm_obj_hoversel_expanded_get().

Eina_Bool elm_hoversel_horizontal_get | ( | const Eo * | obj | ) |

This returns whether the hoversel is set to expand horizontally.

Returns
  If true, the hover will expand horizontally to the right.

See also
  elm_hoversel_horizontal_set()

References elm_obj_hoversel_horizontal_get().

void elm_hoversel_horizontal_set | ( | Eo * | obj,
|  | Eina_Bool | horizontal
| ) |  |

This sets the hoversel to expand horizontally.

Note
  The initial button will display horizontally regardless of this setting.

Parameters

  [in] | horizontal | If true, the hover will expand horizontally to the right.

References elm_obj_hoversel_horizontal_set().

Evas_Object* elm_hoversel_hover_parent_get | ( | const Eo * | obj | ) |

Get the Hover parent.

Returns
  The used parent

Get the hover parent object.

See also
  elm_hoversel_hover_parent_set()

References elm_obj_hoversel_hover_parent_get().

void elm_hoversel_hover_parent_set | ( | Eo * | obj,
|  | Evas_Object * | parent
| ) |  |

Set the Hover parent.

Sets the hover parent object, the area that will be darkened when the hoversel is clicked. Should probably be the window that the hoversel is in. See Hover objects for more information.

Parameters

  [in] | parent | The parent to use

References elm_obj_hoversel_hover_parent_set().

Elm_Object_Item* elm_hoversel_item_add | ( | Eo * | obj,
|  | const char * | label,
|  | const char * | icon_file,
|  | Elm_Icon_Type | icon_type,
|  | Evas_Smart_Cb | func,
|  | const void * | data
| ) |  |

Add an item to the hoversel button.

Returns
  A handle to the item added.

This adds an item to the hoversel to show when it is clicked. Note: if you need to use an icon from an edje file then use elm_hoversel_item_icon_set() right after this function, and set icon_file to NULL here.

For more information on what `icon_file` and `icon_type` are, see the icon documentation.

Parameters

  [in] | label | The text label to use for the item (NULL if not desired)
  [in] | icon_file | An image file path on disk to use for the icon or standard icon name (NULL if not desired)
  [in] | icon_type | The icon type if relevant
  [in] | func | Convenience function to call when this item is selected. The last parameter `event_info` of `func` is the selected item pointer.
  [in] | data | Data to pass to item-related functions

References elm_obj_hoversel_item_add().

void elm_hoversel_item_icon_get | ( | const Elm_Object_Item * | it,
|  | const char ** | icon_file,
|  | const char ** | icon_group,
|  | Elm_Icon_Type * | icon_type
| ) |  |

Get the icon object of the hoversel item.

Parameters

  it | The item to get the icon from
  icon_file | The image file path on disk used for the icon or standard icon name
  icon_group | The edje group used if `icon_file` is an edje file. NULL if the icon is not an edje file
  icon_type | The icon type

See also
  elm_hoversel_item_icon_set()
  elm_hoversel_item_add()

void elm_hoversel_item_icon_set | ( | Elm_Object_Item * | it,
|  | const char * | icon_file,
|  | const char * | icon_group,
|  | Elm_Icon_Type | icon_type
| ) |  |

This sets the icon for the given hoversel item.

Parameters

  it | The item to set the icon
  icon_file | An image file path on disk to use for the icon or standard icon name
  icon_group | The edje group to use if `icon_file` is an edje file. Set this to NULL if the icon is not an edje file
  icon_type | The icon type

The icon can be loaded from the standard set, from an image file, or from an edje file.

See also
  elm_hoversel_item_add()

const Eina_List* elm_hoversel_items_get | ( | const Eo * | obj | ) |

Get the list of items within the given hoversel.

Returns
  Returns a list of Elm_Object_Item

See also
  elm_hoversel_item_add()

References elm_obj_hoversel_items_get().

EOAPI void elm_obj_hoversel_clear | ( | void |  | ) |

This will remove all the children items from the hoversel.

Warning
  Should not be called while the hoversel is active; use elm_hoversel_expanded_get() to check first.

See also
  elm_object_item_del()

Referenced by elm_hoversel::clear(), and elm_hoversel_clear().

EOAPI Eina_Bool elm_obj_hoversel_expanded_get | ( | void |  | ) |

Returns whether the hoversel is expanded.

Returns
  This will return `EINA_TRUE` if the hoversel is expanded or `EINA_FALSE` if it is not expanded.

Referenced by elm_hoversel_expanded_get().

EOAPI Eina_Bool elm_obj_hoversel_horizontal_get | ( | void |  | ) |

This returns whether the hoversel is set to expand horizontally.

Returns
  If true, the hover will expand horizontally to the right.

See also
  elm_hoversel_horizontal_set()

Referenced by elm_hoversel_horizontal_get().

EOAPI void elm_obj_hoversel_horizontal_set | ( | Eina_Bool | horizontal | ) |

This sets the hoversel to expand horizontally.

Note
  The initial button will display horizontally regardless of this setting.

Parameters

  [in] | horizontal | If true, the hover will expand horizontally to the right.

Referenced by elm_hoversel_horizontal_set().

EOAPI Evas_Object* elm_obj_hoversel_hover_parent_get | ( | void |  | ) |

Get the Hover parent.

Returns
  The used parent

Get the hover parent object.

See also
  elm_hoversel_hover_parent_set()

Referenced by elm_hoversel_hover_parent_get().

EOAPI void elm_obj_hoversel_hover_parent_set | ( | Evas_Object * | parent | ) |

Set the Hover parent.

Sets the hover parent object, the area that will be darkened when the hoversel is clicked. Should probably be the window that the hoversel is in. See Hover objects for more information.

Parameters

  [in] | parent | The parent to use

Referenced by elm_hoversel_hover_parent_set().

EOAPI Elm_Object_Item* elm_obj_hoversel_item_add | ( | const char * | label,
|  | const char * | icon_file,
|  | Elm_Icon_Type | icon_type,
|  | Evas_Smart_Cb | func,
|  | const void * | data
| ) |  |

Add an item to the hoversel button.

Returns
  A handle to the item added.

This adds an item to the hoversel to show when it is clicked. Note: if you need to use an icon from an edje file then use elm_hoversel_item_icon_set() right after this function, and set icon_file to NULL here.

For more information on what `icon_file` and `icon_type` are, see the icon documentation.

Parameters

  [in] | label | The text label to use for the item (NULL if not desired)
  [in] | icon_file | An image file path on disk to use for the icon or standard icon name (NULL if not desired)
  [in] | icon_type | The icon type if relevant
  [in] | func | Convenience function to call when this item is selected. The last parameter `event_info` of `func` is the selected item pointer.
  [in] | data | Data to pass to item-related functions

Referenced by elm_hoversel_item_add(), and elm_hoversel::item_add().

EOAPI const Eina_List* elm_obj_hoversel_items_get | ( | void |  | ) |

Get the list of items within the given hoversel.

Returns
  Returns a list of Elm_Object_Item

See also
  elm_hoversel_item_add()

Referenced by elm_hoversel_items_get().

Elm_Object_Item* elm_hoversel::item_add | ( | std::string | label_,
|  | std::string | icon_file_,
|  | Elm_Icon_Type | icon_type_,
|  | Evas_Smart_Cb | func_,
|  | const void * | data_
| ) |  | const
| inline

Add an item to the hoversel button.

Returns
  A handle to the item added.

This adds an item to the hoversel to show when it is clicked. Note: if you need to use an icon from an edje file then use elm_hoversel_item_icon_set() right after this function, and set icon_file to NULL here.

For more information on what `icon_file` and `icon_type` are, see the icon documentation.

Parameters

  label | The text label to use for the item (NULL if not desired)
  icon_file | An image file path on disk to use for the icon or standard icon name (NULL if not desired)
  icon_type | The icon type if relevant
  func | Convenience function to call when this item is selected. The last parameter `event_info` of `func` is the selected item pointer.
  data | Data to pass to item-related functions

References elm_obj_hoversel_item_add().