diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | src/bin/test_menu.c | 9 | ||||
-rw-r--r-- | src/lib/elm_menu.c | 4 | ||||
-rw-r--r-- | src/lib/elm_menu.h | 1 |
5 files changed, 18 insertions, 1 deletions
@@ -1640,3 +1640,7 @@ 2013-09-21 Daniel Juyung Seo (SeoZ) * hover: added "dismissed" callback. + +2013-09-21 Daniel Juyung Seo (SeoZ) + + * menu: added "dismissed" callback. @@ -92,6 +92,7 @@ Additions: * elm_object_item : Introduces new APIs, elm_object_item_track(), elm_object_item_untrack(), elm_object_item_track_get(). * Add elm_widget_item_part_text_custom_set(), elm_widget_item_part_text_custom_get(), elm_widget_item_part_text_custom_update(). * Add "dismissed" smart callback for hover. + * Add "dismissed" smart callback for menu. Improvements: diff --git a/src/bin/test_menu.c b/src/bin/test_menu.c index 65a2244c2..9f9fb10cb 100644 --- a/src/bin/test_menu.c +++ b/src/bin/test_menu.c @@ -5,6 +5,13 @@ #ifndef ELM_LIB_QUICKLAUNCH static void +_menu_dismissed_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, + void *event_info EINA_UNUSED) +{ + printf("menu dismissed callback is called!\n"); +} + +static void _menu_show_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info) { @@ -118,6 +125,8 @@ test_menu(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, evas_object_show(rect); menu = elm_menu_add(win); + evas_object_smart_callback_add(menu, "dismissed", _menu_dismissed_cb, NULL); + elm_menu_item_add(menu, NULL, NULL, "first item", NULL, NULL); menu_it = elm_menu_item_add(menu, NULL, "mail-reply-all", "second item", diff --git a/src/lib/elm_menu.c b/src/lib/elm_menu.c index 44b4a749f..7572473df 100644 --- a/src/lib/elm_menu.c +++ b/src/lib/elm_menu.c @@ -14,7 +14,8 @@ EAPI Eo_Op ELM_OBJ_MENU_BASE_ID = EO_NOOP; #define MY_CLASS_NAME "elm_menu" #define ELM_PRIV_MENU_SIGNALS(cmd) \ - cmd(SIG_CLICKED, "clicked", "") + cmd(SIG_CLICKED, "clicked", "") \ + cmd(SIG_DISMISSED, "dismissed", "") ELM_PRIV_MENU_SIGNALS(ELM_PRIV_STATIC_VARIABLE_DECLARE); @@ -391,6 +392,7 @@ _hover_dismissed_cb(void *data, { _menu_hide(data, obj, event_info); evas_object_smart_callback_call(data, SIG_CLICKED, NULL); + evas_object_smart_callback_call(data, SIG_DISMISSED, NULL); } static void diff --git a/src/lib/elm_menu.h b/src/lib/elm_menu.h index 13ba589f8..10cddde61 100644 --- a/src/lib/elm_menu.h +++ b/src/lib/elm_menu.h @@ -15,6 +15,7 @@ * * Signals that you can add callbacks for are: * @li @c "clicked" - the user clicked the empty space in the menu to dismiss. + * @li @c "dismissed" - the user clicked the empty space in the menu to dismiss (since 1.8) * * Default content parts of the menu items that you can use for are: * @li @c "default" - A main content of the menu item |