elm toolbar: add item_unselect_all(). Automatically unselect the item when the menu is closed.

SVN revision: 42917
This commit is contained in:
Jonathan Atton 2009-10-06 18:18:21 +00:00
parent c9b5e05f6b
commit 9029e6ed9e
2 changed files with 19 additions and 0 deletions

View File

@ -601,6 +601,7 @@ extern "C" {
EAPI Evas_Object *elm_toolbar_add(Evas_Object *parent);
EAPI void elm_toolbar_icon_size_set(Evas_Object *obj, int icon_size);
EAPI int elm_toolbar_icon_size_get(Evas_Object *obj);
EAPI void elm_toolbar_item_unselect_all(Evas_Object *obj);
EAPI Elm_Toolbar_Item *elm_toolbar_item_add(Evas_Object *obj, Evas_Object *icon, const char *label, void (*func) (void *data, Evas_Object *obj, void *event_info), const void *data);
EAPI Evas_Object *elm_toolbar_item_icon_get(Elm_Toolbar_Item *item);
EAPI const char *elm_toolbar_item_label_get(Elm_Toolbar_Item *item);

View File

@ -155,6 +155,7 @@ _menu_hide(void *data, Evas_Object *obj, void *event_info)
it->menu_position = NULL;
evas_object_del(it->menu_hover);
it->menu_hover = NULL;
elm_toolbar_item_unselect_all(it->obj);
}
static void
@ -570,6 +571,23 @@ elm_toolbar_menu_parent_set(Evas_Object *obj, Evas_Object *parent)
wd->menu_parent = parent;
}
EAPI void
elm_toolbar_item_unselect_all(Evas_Object *obj)
{
Eina_List *l;
Elm_Toolbar_Item *it;
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
EINA_LIST_FOREACH(wd->items, l, it)
{
if (it->selected)
{
it->selected = EINA_FALSE;
edje_object_signal_emit(it->base, "elm,state,unselected", "elm");
break;
}
}
}
EAPI void
elm_toolbar_item_menu_set(Elm_Toolbar_Item *item, Eina_Bool menu)