forked from enlightenment/efl
parent
6139715778
commit
5db3d88170
|
@ -9823,6 +9823,7 @@ extern "C" {
|
||||||
EAPI void *elm_menu_item_data_get(const Elm_Menu_Item *it) EINA_ARG_NONNULL(1);
|
EAPI void *elm_menu_item_data_get(const Elm_Menu_Item *it) EINA_ARG_NONNULL(1);
|
||||||
EAPI void elm_menu_item_data_set(Elm_Menu_Item *item, const void *data) EINA_ARG_NONNULL(1);
|
EAPI void elm_menu_item_data_set(Elm_Menu_Item *item, const void *data) EINA_ARG_NONNULL(1);
|
||||||
EAPI const Eina_List *elm_menu_item_subitems_get(const Elm_Menu_Item *item) EINA_ARG_NONNULL(1);
|
EAPI const Eina_List *elm_menu_item_subitems_get(const Elm_Menu_Item *item) EINA_ARG_NONNULL(1);
|
||||||
|
EAPI unsigned int elm_menu_item_index_get(const Elm_Menu_Item *item) EINA_ARG_NONNULL(1) EINA_PURE;
|
||||||
EAPI Elm_Menu_Item *elm_menu_selected_item_get(const Evas_Object * obj) EINA_ARG_NONNULL(1);
|
EAPI Elm_Menu_Item *elm_menu_selected_item_get(const Evas_Object * obj) EINA_ARG_NONNULL(1);
|
||||||
EAPI Elm_Menu_Item *elm_menu_last_item_get(const Evas_Object * obj) EINA_ARG_NONNULL(1);
|
EAPI Elm_Menu_Item *elm_menu_last_item_get(const Evas_Object * obj) EINA_ARG_NONNULL(1);
|
||||||
EAPI Elm_Menu_Item *elm_menu_first_item_get(const Evas_Object * obj) EINA_ARG_NONNULL(1);
|
EAPI Elm_Menu_Item *elm_menu_first_item_get(const Evas_Object * obj) EINA_ARG_NONNULL(1);
|
||||||
|
|
|
@ -24,6 +24,7 @@ struct _Elm_Menu_Item
|
||||||
const char *icon_str;
|
const char *icon_str;
|
||||||
const char *label;
|
const char *label;
|
||||||
Evas_Smart_Cb func;
|
Evas_Smart_Cb func;
|
||||||
|
unsigned int idx;
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
Evas_Object *hv, *bx, *location;
|
Evas_Object *hv, *bx, *location;
|
||||||
|
@ -689,11 +690,13 @@ elm_menu_item_add(Evas_Object *obj, Elm_Menu_Item *parent, const char *icon, con
|
||||||
if (!parent->submenu.bx) _item_submenu_obj_create(parent);
|
if (!parent->submenu.bx) _item_submenu_obj_create(parent);
|
||||||
elm_box_pack_end(parent->submenu.bx, subitem->base.view);
|
elm_box_pack_end(parent->submenu.bx, subitem->base.view);
|
||||||
parent->submenu.items = eina_list_append(parent->submenu.items, subitem);
|
parent->submenu.items = eina_list_append(parent->submenu.items, subitem);
|
||||||
|
subitem->idx = eina_list_count(parent->submenu.items) - 1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
elm_box_pack_end(wd->bx, subitem->base.view);
|
elm_box_pack_end(wd->bx, subitem->base.view);
|
||||||
wd->items = eina_list_append(wd->items, subitem);
|
wd->items = eina_list_append(wd->items, subitem);
|
||||||
|
subitem->idx = eina_list_count(wd->items) - 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
_sizing_eval(obj);
|
_sizing_eval(obj);
|
||||||
|
@ -740,17 +743,36 @@ elm_menu_item_add_object(Evas_Object *obj, Elm_Menu_Item *parent, Evas_Object *s
|
||||||
if (!parent->submenu.bx) _item_submenu_obj_create(parent);
|
if (!parent->submenu.bx) _item_submenu_obj_create(parent);
|
||||||
elm_box_pack_end(parent->submenu.bx, subitem->base.view);
|
elm_box_pack_end(parent->submenu.bx, subitem->base.view);
|
||||||
parent->submenu.items = eina_list_append(parent->submenu.items, subitem);
|
parent->submenu.items = eina_list_append(parent->submenu.items, subitem);
|
||||||
|
subitem->idx = eina_list_count(parent->submenu.items) - 1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
elm_box_pack_end(wd->bx, subitem->base.view);
|
elm_box_pack_end(wd->bx, subitem->base.view);
|
||||||
wd->items = eina_list_append(wd->items, subitem);
|
wd->items = eina_list_append(wd->items, subitem);
|
||||||
|
subitem->idx = eina_list_count(wd->items) - 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
_sizing_eval(obj);
|
_sizing_eval(obj);
|
||||||
return subitem;
|
return subitem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the position of a menu item
|
||||||
|
*
|
||||||
|
* This function returns the index position of a menu item in a menu.
|
||||||
|
* For a sub-menu, this number is relative to the first item in the sub-menu.
|
||||||
|
* @param item The menu item
|
||||||
|
* @return The item's index
|
||||||
|
* @note Index values begin with 0
|
||||||
|
* @ingroup Menu
|
||||||
|
*/
|
||||||
|
EAPI unsigned int
|
||||||
|
elm_menu_item_index_get(const Elm_Menu_Item *item)
|
||||||
|
{
|
||||||
|
ELM_WIDGET_ITEM_WIDTYPE_CHECK_OR_RETURN(item, 0);
|
||||||
|
return item->idx;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the label of a menu item
|
* Set the label of a menu item
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue