tasn pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=46a33339c3c626253e5c1abccd5b7259b98c61fb

commit 46a33339c3c626253e5c1abccd5b7259b98c61fb
Author: shilpa.singh <shilpa.si...@samsung.com>
Date:   Wed Jun 3 10:41:13 2015 +0100

    Elm: Add context,open signal in elm_entry.
    
    Summary:
    When context,open signal is sent from elm_entry before showing context
    menu, dynamic addition of context menu items to entry becomes easier.
    
    @feature
    
    Test Plan:
    Run elementary_test
    Launch Entry Scrolled test
    Right Click on Multiline Markup entry
    
    Reviewers: tasn
    
    Reviewed By: tasn
    
    Subscribers: subodh6129, poornima.srinivasan
    
    Differential Revision: https://phab.enlightenment.org/D2580
---
 src/bin/test_entry.c | 11 +++++++++++
 src/lib/elm_entry.c  |  3 +++
 src/lib/elm_entry.eo |  1 +
 3 files changed, 15 insertions(+)

diff --git a/src/bin/test_entry.c b/src/bin/test_entry.c
index 07550f4..6abf1ec 100644
--- a/src/bin/test_entry.c
+++ b/src/bin/test_entry.c
@@ -301,6 +301,16 @@ _end_hide_cb(void *data, Evas_Object *obj EINA_UNUSED, 
void *event_info EINA_UNU
    elm_entry_end_visible_set(en, EINA_FALSE);
 }
 
+static Eina_Bool
+_context_menu_show_cb(void *data EINA_UNUSED, Eo *obj,
+                const Eo_Event_Description *desc EINA_UNUSED, void *event_info 
EINA_UNUSED)
+{
+   elm_entry_context_menu_clear(obj);
+   elm_entry_context_menu_item_add(obj, "MenuD1", NULL, ELM_ICON_NONE, 
_item_cb, NULL);
+   elm_entry_context_menu_item_add(obj, "MenuD2", NULL, ELM_ICON_NONE, 
_item_cb, NULL);
+   return EO_CALLBACK_CONTINUE;
+}
+
 void
 test_entry_scrolled(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void 
*event_info EINA_UNUSED)
 {
@@ -533,6 +543,7 @@ test_entry_scrolled(void *data EINA_UNUSED, Evas_Object 
*obj EINA_UNUSED, void *
    evas_object_smart_callback_add(en, "anchor,clicked", scrolled_anchor_test, 
en);
    evas_object_show(en);
    elm_box_pack_end(bx, en);
+   eo_do(en, eo_event_callback_add(ELM_ENTRY_EVENT_CONTEXT_OPEN, 
_context_menu_show_cb, NULL));
 
    bx2 = elm_box_add(win);
    elm_box_horizontal_set(bx2, EINA_TRUE);
diff --git a/src/lib/elm_entry.c b/src/lib/elm_entry.c
index 5ab7fd1..c20582e 100644
--- a/src/lib/elm_entry.c
+++ b/src/lib/elm_entry.c
@@ -1454,6 +1454,9 @@ _menu_call(Evas_Object *obj)
    ELM_ENTRY_DATA_GET(obj, sd);
 
    if (sd->anchor_hover.hover) return;
+
+   eo_do(obj, eo_event_callback_call(ELM_ENTRY_EVENT_CONTEXT_OPEN, NULL));
+
    if ((sd->api) && (sd->api->obj_longpress))
      {
         sd->api->obj_longpress(obj);
diff --git a/src/lib/elm_entry.eo b/src/lib/elm_entry.eo
index 4c63d9f..c60e848 100644
--- a/src/lib/elm_entry.eo
+++ b/src/lib/elm_entry.eo
@@ -1232,6 +1232,7 @@ class Elm.Entry (Elm.Layout, Elm_Interface_Scrollable, 
Evas.Clickable_Interface,
       changed;
       changed,user;
       validate;
+      context,open;
    }
 
 }

-- 


Reply via email to