Hoversel

Functions

Evas_Object * elm_hoversel_add (Evas_Object *parent)
 Add a new Hoversel object.
void elm_hoversel_horizontal_set (Evas_Object *obj, Eina_Bool horizontal)
 This sets the hoversel to expand horizontally.
Eina_Bool elm_hoversel_horizontal_get (const Evas_Object *obj)
 This returns whether the hoversel is set to expand horizontally.
void elm_hoversel_hover_parent_set (Evas_Object *obj, Evas_Object *parent)
 Set the Hover parent.
Evas_Object * elm_hoversel_hover_parent_get (const Evas_Object *obj)
 Get the Hover parent.
void elm_hoversel_hover_begin (Evas_Object *obj)
 This triggers the hoversel popup from code, the same as if the user had clicked the button.
void elm_hoversel_hover_end (Evas_Object *obj)
 This dismisses the hoversel popup as if the user had clicked outside the hover.
Eina_Bool elm_hoversel_expanded_get (const Evas_Object *obj)
 Returns whether the hoversel is expanded.
void elm_hoversel_clear (Evas_Object *obj)
 This will remove all the children items from the hoversel.
const Eina_List * elm_hoversel_items_get (const Evas_Object *obj)
 Get the list of items within the given hoversel.
Elm_Object_Itemelm_hoversel_item_add (Evas_Object *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.
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.
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.

Detailed Description

hoversel_inheritance_tree.png
preview-00.png

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 item
  • "dismissed" - the hover is dismissed

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.

Supported elm_object_item common APIs.

  • elm_object_item_part_text_get

See Hoversel example for an example.


Function Documentation

Evas_Object* elm_hoversel_add ( Evas_Object *  parent)

Add a new Hoversel object.

Parameters:
parentThe parent object
Returns:
The new object or NULL if it cannot be created
void elm_hoversel_clear ( Evas_Object *  obj)

This will remove all the children items from the hoversel.

Parameters:
objThe hoversel object
Warning:
Should not be called while the hoversel is active; use elm_hoversel_expanded_get() to check first.
See also:
elm_object_item_del()
Eina_Bool elm_hoversel_expanded_get ( const Evas_Object *  obj)

Returns whether the hoversel is expanded.

Parameters:
objThe hoversel object
Returns:
This will return EINA_TRUE if the hoversel is expanded or EINA_FALSE if it is not expanded.
Eina_Bool elm_hoversel_horizontal_get ( const Evas_Object *  obj)

This returns whether the hoversel is set to expand horizontally.

Parameters:
objThe hoversel object
Returns:
If true, the hover will expand horizontally to the right.
See also:
elm_hoversel_horizontal_set()
void elm_hoversel_horizontal_set ( Evas_Object *  obj,
Eina_Bool  horizontal 
)

This sets the hoversel to expand horizontally.

Parameters:
objThe hoversel object
horizontalIf true, the hover will expand horizontally to the right.
Note:
The initial button will display horizontally regardless of this setting.
void elm_hoversel_hover_begin ( Evas_Object *  obj)

This triggers the hoversel popup from code, the same as if the user had clicked the button.

Parameters:
objThe hoversel object
void elm_hoversel_hover_end ( Evas_Object *  obj)

This dismisses the hoversel popup as if the user had clicked outside the hover.

Parameters:
objThe hoversel object
Evas_Object* elm_hoversel_hover_parent_get ( const Evas_Object *  obj)

Get the Hover parent.

Parameters:
objThe hoversel object
Returns:
The used parent

Gets the hover parent object.

See also:
elm_hoversel_hover_parent_set()
void elm_hoversel_hover_parent_set ( Evas_Object *  obj,
Evas_Object *  parent 
)

Set the Hover parent.

Parameters:
objThe hoversel object
parentThe parent to use

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.

Elm_Object_Item* elm_hoversel_item_add ( Evas_Object *  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.

Parameters:
objThe hoversel object
labelThe text label to use for the item (NULL if not desired)
icon_fileAn image file path on disk to use for the icon or standard icon name (NULL if not desired)
icon_typeThe icon type if relevant
funcConvenience function to call when this item is selected
dataData to pass to item-related functions
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.

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:
itThe item to get the icon from
icon_fileThe image file path on disk used for the icon or standard icon name
icon_groupThe edje group used if icon_file is an edje file. NULL if the icon is not an edje file
icon_typeThe 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:
itThe item to set the icon
icon_fileAn image file path on disk to use for the icon or standard icon name
icon_groupThe edje group to use if icon_file is an edje file. Set this to NULL if the icon is not an edje file
icon_typeThe 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 Evas_Object *  obj)

Get the list of items within the given hoversel.

Parameters:
objThe hoversel object
Returns:
Returns a list of Elm_Object_Item*
See also:
elm_hoversel_item_add()