Menu

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

Functions
Menu

## Functions
EOAPI Elm_Widget_Item * | elm_obj_menu_selected_item_get (void)
| Get the selected item in the menu. More...
EOAPI const Eina_List * | elm_obj_menu_items_get (void)
| Returns a list of the item's items.
EOAPI Elm_Widget_Item * | elm_obj_menu_first_item_get (void)
| Get the first item in the menu.
EOAPI Elm_Widget_Item * | elm_obj_menu_last_item_get (void)
| Get the last item in the menu.
EOAPI void | elm_obj_menu_move (Evas_Coord x, Evas_Coord y)
| Move the menu to a new position. More...
EOAPI Elm_Widget_Item * | elm_obj_menu_item_add (Elm_Widget_Item *parent, const char *icon, const char *label, Evas_Smart_Cb func, const void *data)
| Add an item at the end of the given menu widget. More...
EOAPI void | elm_obj_menu_close (void)
| Close a opened menu. More...
EOAPI Elm_Widget_Item * | elm_obj_menu_item_separator_add (Elm_Widget_Item *parent)
| Add a separator item to menu `obj` under `parent`. More...
Elm_Widget_Item * | elm_menu_selected_item_get (const Elm_Menu *obj)
| Get the selected item in the menu. More...
const Eina_List * | elm_menu_items_get (const Elm_Menu *obj)
| Returns a list of the item's items.
Elm_Widget_Item * | elm_menu_first_item_get (const Elm_Menu *obj)
| Get the first item in the menu.
Elm_Widget_Item * | elm_menu_last_item_get (const Elm_Menu *obj)
| Get the last item in the menu.
void | elm_menu_move (Elm_Menu *obj, Evas_Coord x, Evas_Coord y)
| Move the menu to a new position. More...
Elm_Widget_Item * | elm_menu_item_add (Elm_Menu *obj, Elm_Widget_Item *parent, const char *icon, const char *label, Evas_Smart_Cb func, const void *data)
| Add an item at the end of the given menu widget. More...
void | elm_menu_close (Elm_Menu *obj)
| Close a opened menu. More...
Elm_Widget_Item * | elm_menu_item_separator_add (Elm_Menu *obj, Elm_Widget_Item *parent)
| Add a separator item to menu `obj` under `parent`. More...
Evas_Object * | elm_menu_add (Evas_Object *parent)
| Add a new menu to the parent. More...
void | elm_menu_parent_set (Evas_Object *obj, Evas_Object *parent)
| Set the parent for the given menu widget. More...
Evas_Object * | elm_menu_parent_get (const Evas_Object *obj)
| Get the parent for the given menu widget. More...

## Detailed Description

A menu is a list of items displayed above its parent. When the menu is showing its parent is darkened. Each item can have a sub-menu. The menu object can be used to display a menu on a right click event, in a toolbar, anywhere.

Signals that you can add callbacks for are:

- `"clicked"` - the user clicked the empty space in the menu to dismiss.
- `"dismissed"` - the user clicked the empty space in the menu to dismiss (since 1.8)
- `"language,changed"` - the program's language changed (since 1.9)

Default content parts of the menu items that you can use for are:

- `"default"` - A main content of the menu item

Default text parts of the menu items that you can use for are:

- `"default"` - A label in the menu item

Supported elm_object_item common APIs.

- elm_object_item_del
- elm_object_item_part_text_set
- elm_object_item_part_text_get
- elm_object_item_part_content_set
- elm_object_item_part_content_get
- elm_object_item_disabled_set
- elm_object_item_disabled_get
- elm_object_item_signal_emit (since 1.12)

See also
  Menu Example

## Function Documentation

Evas_Object* elm_menu_add | ( | Evas_Object * | parent | ) |

Add a new menu to the parent.

Parameters

  parent | The parent object.

Returns
  The new object or NULL if it cannot be created.

References ELM_HOVER_AXIS_VERTICAL, elm_hover_best_content_location_get(), elm_hover_target_set(), elm_layout_content_set(), and elm_menu_parent_set().

Referenced by elm_win_util_dialog_add().

void elm_menu_close | ( | Elm_Menu * | obj | ) |

Close a opened menu.

Hides the menu and all it's sub-menus.

References elm_obj_menu_close().

Elm_Widget_Item* elm_menu_item_add | ( | Elm_Menu * | obj,
|  | Elm_Widget_Item * | parent,
|  | const char * | icon,
|  | const char * | label,
|  | Evas_Smart_Cb | func,
|  | const void * | data
| ) |  |

Add an item at the end of the given menu widget.

Note
  This function does not accept relative icon path.

Parameters

  [in] | icon | An icon display on the item. The icon will be destroyed by the menu.
  [in] | label | The label of the item.
  [in] | func | Function called when the user select the item.
  [in] | data | Data sent by the callback.

Returns
  The new menu item.

References elm_obj_menu_item_add().

Referenced by elm_menu_parent_get().

Elm_Widget_Item* elm_menu_item_separator_add | ( | Elm_Menu * | obj,
|  | Elm_Widget_Item * | parent
| ) |  |

Add a separator item to menu `obj` under `parent`.

Parameters

  [in] | parent | The item to add the separator under.

Returns
  The created item or `null`.

References elm_obj_menu_item_separator_add().

Referenced by elm_menu_parent_get().

void elm_menu_move | ( | Elm_Menu * | obj,
|  | Evas_Coord | x,
|  | Evas_Coord | y
| ) |  |

Move the menu to a new position.

Sets the top-left position of the menu to ($x, `y`).

Note
  `x` and `y` coordinates are relative to parent.

Parameters

  [in] | y | The new position.

References elm_obj_menu_move().

Evas_Object* elm_menu_parent_get | ( | const Evas_Object * | obj | ) |

Get the parent for the given menu widget.

Parameters

  obj | The menu object.

Returns
  The parent.

See also
  elm_menu_parent_set()

References elm_box_pack_end(), elm_icon_add(), elm_icon_standard_set(), elm_layout_content_set(), elm_layout_edje_get(), elm_layout_signal_emit(), elm_menu_item_add(), elm_menu_item_separator_add(), and elm_object_item_text_set.

void elm_menu_parent_set | ( | Evas_Object * | obj,
|  | Evas_Object * | parent
| ) |  |

Set the parent for the given menu widget.

Parameters

  obj | The menu object.
  parent | The new parent.

References elm_hover_parent_set().

Referenced by elm_menu_add(), and elm_toolbar_transverse_expanded_get().

Elm_Widget_Item* elm_menu_selected_item_get | ( | const Elm_Menu * | obj | ) |

Get the selected item in the menu.

Returns
  The selected item or `null`.

References elm_obj_menu_selected_item_get().

EOAPI void elm_obj_menu_close | ( | void |  | ) |

Close a opened menu.

Hides the menu and all it's sub-menus.

Referenced by elm_menu_close().

EOAPI Elm_Widget_Item* elm_obj_menu_item_add | ( | Elm_Widget_Item * | parent,
|  | const char * | icon,
|  | const char * | label,
|  | Evas_Smart_Cb | func,
|  | const void * | data
| ) |  |

Add an item at the end of the given menu widget.

Note
  This function does not accept relative icon path.

Parameters

  [in] | icon | An icon display on the item. The icon will be destroyed by the menu.
  [in] | label | The label of the item.
  [in] | func | Function called when the user select the item.
  [in] | data | Data sent by the callback.

Returns
  The new menu item.

Referenced by elm_menu_item_add().

EOAPI Elm_Widget_Item* elm_obj_menu_item_separator_add | ( | Elm_Widget_Item * | parent | ) |

Add a separator item to menu `obj` under `parent`.

Parameters

  [in] | parent | The item to add the separator under.

Returns
  The created item or `null`.

Referenced by elm_menu_item_separator_add().

EOAPI void elm_obj_menu_move | ( | Evas_Coord | x,
|  | Evas_Coord | y
| ) |  |

Move the menu to a new position.

Sets the top-left position of the menu to ($x, `y`).

Note
  `x` and `y` coordinates are relative to parent.

Parameters

  [in] | y | The new position.

Referenced by elm_menu_move().

EOAPI Elm_Widget_Item* elm_obj_menu_selected_item_get | ( | void |  | ) |

Get the selected item in the menu.

Returns
  The selected item or `null`.

Referenced by elm_menu_selected_item_get().