+elm_menu_item_index_get

SVN revision: 61892
This commit is contained in:
Mike Blumenkrantz 2011-07-29 14:00:31 +00:00
parent 6139715778
commit 5db3d88170
2 changed files with 23 additions and 0 deletions

View File

@ -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_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 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_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);

View File

@ -24,6 +24,7 @@ struct _Elm_Menu_Item
const char *icon_str;
const char *label;
Evas_Smart_Cb func;
unsigned int idx;
struct {
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);
elm_box_pack_end(parent->submenu.bx, subitem->base.view);
parent->submenu.items = eina_list_append(parent->submenu.items, subitem);
subitem->idx = eina_list_count(parent->submenu.items) - 1;
}
else
{
elm_box_pack_end(wd->bx, subitem->base.view);
wd->items = eina_list_append(wd->items, subitem);
subitem->idx = eina_list_count(wd->items) - 1;
}
_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);
elm_box_pack_end(parent->submenu.bx, subitem->base.view);
parent->submenu.items = eina_list_append(parent->submenu.items, subitem);
subitem->idx = eina_list_count(parent->submenu.items) - 1;
}
else
{
elm_box_pack_end(wd->bx, subitem->base.view);
wd->items = eina_list_append(wd->items, subitem);
subitem->idx = eina_list_count(wd->items) - 1;
}
_sizing_eval(obj);
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
*