jackdanielz pushed a commit to branch master.

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

commit c2a03be424e45d5f3d7f9514382c1e2acd45ac3f
Author: Avi Levin <avi.le...@samsung.com>
Date:   Sun May 17 10:37:49 2015 +0300

    elc_fileselector_entry, elm_bubble: porting evas smart callbacks to eo
---
 src/lib/elc_fileselector_entry.c   | 89 +++++++++++++++++++++-----------------
 src/lib/elm_bubble.c               |  2 +-
 src/lib/elm_fileselector_entry.eo  |  6 ++-
 src/lib/elm_interface_scrollable.c | 20 +++++----
 4 files changed, 66 insertions(+), 51 deletions(-)

diff --git a/src/lib/elc_fileselector_entry.c b/src/lib/elc_fileselector_entry.c
index 32b1f0b..45170c4 100644
--- a/src/lib/elc_fileselector_entry.c
+++ b/src/lib/elc_fileselector_entry.c
@@ -43,28 +43,31 @@ static const Evas_Smart_Cb_Description _smart_callbacks[] =
 };
 #undef ELM_PRIV_FILESELECTOR_ENTRY_SIGNALS
 
-#define SIG_FWD(name)                                                       \
-  static void                                                               \
-  _##name##_fwd(void *data, Evas_Object * obj EINA_UNUSED, void *event_info) \
+#define SIG_FWD(name, event)                                                   
   \
+  static Eina_Bool                                                             
  \
+  _##name##_fwd(void *data,                                          \
+    Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void 
*event_info EINA_UNUSED)\
   {                                                                         \
-     evas_object_smart_callback_call(data, SIG_##name, event_info);         \
+     eo_do(data, eo_event_callback_call(event, event_info));          \
+                                                                      \
+     return EINA_TRUE;                                                \
   }
-SIG_FWD(CHANGED)
-SIG_FWD(PRESS)
-SIG_FWD(LONGPRESSED)
-SIG_FWD(CLICKED)
-SIG_FWD(CLICKED_DOUBLE)
-SIG_FWD(FOCUSED)
-SIG_FWD(UNFOCUSED)
-SIG_FWD(SELECTION_PASTE)
-SIG_FWD(SELECTION_COPY)
-SIG_FWD(SELECTION_CUT)
-SIG_FWD(UNPRESSED)
+SIG_FWD(CHANGED, ELM_FILESELECTOR_ENTRY_EVENT_CHANGED)
+SIG_FWD(PRESS, ELM_FILESELECTOR_ENTRY_EVENT_PRESS)
+SIG_FWD(LONGPRESSED, EVAS_CLICKABLE_INTERFACE_EVENT_LONGPRESSED)
+SIG_FWD(CLICKED, EVAS_CLICKABLE_INTERFACE_EVENT_CLICKED)
+SIG_FWD(CLICKED_DOUBLE, EVAS_CLICKABLE_INTERFACE_EVENT_CLICKED_DOUBLE)
+SIG_FWD(FOCUSED, ELM_LAYOUT_EVENT_FOCUSED)
+SIG_FWD(UNFOCUSED, ELM_LAYOUT_EVENT_UNFOCUSED)
+SIG_FWD(SELECTION_PASTE, EVAS_SELECTABLE_INTERFACE_EVENT_SELECTION_PASTE)
+SIG_FWD(SELECTION_COPY, EVAS_SELECTABLE_INTERFACE_EVENT_SELECTION_COPY)
+SIG_FWD(SELECTION_CUT, EVAS_SELECTABLE_INTERFACE_EVENT_SELECTION_CUT)
+SIG_FWD(UNPRESSED, EVAS_CLICKABLE_INTERFACE_EVENT_UNPRESSED)
 #undef SIG_FWD
 
-static void
+static Eina_Bool
 _FILE_CHOSEN_fwd(void *data,
-                 Evas_Object *obj EINA_UNUSED,
+                 Eo *obj EINA_UNUSED, const Eo_Event_Description *desc 
EINA_UNUSED,
                  void *event_info)
 {
    const char *file = event_info;
@@ -73,15 +76,18 @@ _FILE_CHOSEN_fwd(void *data,
    ELM_FILESELECTOR_ENTRY_DATA_GET(data, sd);
 
    s = elm_entry_utf8_to_markup(file);
-   if (!s) return;
+   if (!s) return EINA_TRUE;
    elm_object_text_set(sd->entry, s);
    free(s);
-   evas_object_smart_callback_call(data, SIG_FILE_CHOSEN, event_info);
+   eo_do(data, eo_event_callback_call
+     (ELM_FILESELECTOR_ENTRY_EVENT_FILE_CHOSEN, event_info));
+
+   return EINA_TRUE;
 }
 
-static void
+static Eina_Bool
 _ACTIVATED_fwd(void *data,
-               Evas_Object *obj EINA_UNUSED,
+               Eo *obj EINA_UNUSED, const Eo_Event_Description *desc 
EINA_UNUSED,
                void *event_info)
 {
    const char *file;
@@ -90,7 +96,10 @@ _ACTIVATED_fwd(void *data,
 
    file = elm_object_text_get(sd->entry);
    elm_fileselector_path_set(sd->button, file);
-   evas_object_smart_callback_call(data, SIG_ACTIVATED, event_info);
+   eo_do(data, eo_event_callback_call
+     (ELM_FILESELECTOR_ENTRY_EVENT_ACTIVATED, event_info));
+
+   return EINA_TRUE;
 }
 
 EOLIAN static void
@@ -284,11 +293,11 @@ _elm_fileselector_entry_evas_object_smart_add(Eo *obj, 
Elm_Fileselector_Entry_Da
    elm_fileselector_expandable_set
      (priv->button, _elm_config->fileselector_expand_enable);
 
-#define SIG_FWD(name) \
-  evas_object_smart_callback_add(priv->button, SIG_##name, _##name##_fwd, obj)
-   SIG_FWD(CLICKED);
-   SIG_FWD(UNPRESSED);
-   SIG_FWD(FILE_CHOSEN);
+#define SIG_FWD(name, event) \
+  eo_do(priv->button, eo_event_callback_add(event, _##name##_fwd, obj))
+   SIG_FWD(CLICKED, EVAS_CLICKABLE_INTERFACE_EVENT_CLICKED);
+   SIG_FWD(UNPRESSED, EVAS_CLICKABLE_INTERFACE_EVENT_UNPRESSED);
+   SIG_FWD(FILE_CHOSEN, ELM_FILESELECTOR_ENTRY_EVENT_FILE_CHOSEN);
 #undef SIG_FWD
 
    priv->entry = elm_entry_add(obj);
@@ -298,19 +307,19 @@ _elm_fileselector_entry_evas_object_smart_add(Eo *obj, 
Elm_Fileselector_Entry_Da
    elm_entry_single_line_set(priv->entry, EINA_TRUE);
    elm_entry_editable_set(priv->entry, EINA_TRUE);
 
-#define SIG_FWD(name) \
-  evas_object_smart_callback_add(priv->entry, SIG_##name, _##name##_fwd, obj)
-   SIG_FWD(CHANGED);
-   SIG_FWD(ACTIVATED);
-   SIG_FWD(PRESS);
-   SIG_FWD(LONGPRESSED);
-   SIG_FWD(CLICKED);
-   SIG_FWD(CLICKED_DOUBLE);
-   SIG_FWD(FOCUSED);
-   SIG_FWD(UNFOCUSED);
-   SIG_FWD(SELECTION_PASTE);
-   SIG_FWD(SELECTION_COPY);
-   SIG_FWD(SELECTION_CUT);
+#define SIG_FWD(name, event) \
+  eo_do(priv->entry, eo_event_callback_add(event, _##name##_fwd, obj))
+   SIG_FWD(CHANGED, ELM_FILESELECTOR_ENTRY_EVENT_CHANGED);
+   SIG_FWD(ACTIVATED, ELM_FILESELECTOR_ENTRY_EVENT_ACTIVATED);
+   SIG_FWD(PRESS, ELM_FILESELECTOR_ENTRY_EVENT_PRESS);
+   SIG_FWD(LONGPRESSED, EVAS_CLICKABLE_INTERFACE_EVENT_LONGPRESSED);
+   SIG_FWD(CLICKED, EVAS_CLICKABLE_INTERFACE_EVENT_CLICKED);
+   SIG_FWD(CLICKED_DOUBLE, EVAS_CLICKABLE_INTERFACE_EVENT_CLICKED_DOUBLE);
+   SIG_FWD(FOCUSED, ELM_LAYOUT_EVENT_FOCUSED);
+   SIG_FWD(UNFOCUSED, ELM_LAYOUT_EVENT_UNFOCUSED);
+   SIG_FWD(SELECTION_PASTE, EVAS_SELECTABLE_INTERFACE_EVENT_SELECTION_PASTE);
+   SIG_FWD(SELECTION_COPY, EVAS_SELECTABLE_INTERFACE_EVENT_SELECTION_COPY);
+   SIG_FWD(SELECTION_CUT, EVAS_SELECTABLE_INTERFACE_EVENT_SELECTION_CUT);
 #undef SIG_FWD
 
    if (!elm_layout_theme_set
diff --git a/src/lib/elm_bubble.c b/src/lib/elm_bubble.c
index 1c81c7b..cec3cc7 100644
--- a/src/lib/elm_bubble.c
+++ b/src/lib/elm_bubble.c
@@ -70,7 +70,7 @@ _on_mouse_up(void *data,
    if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD)
      return;
 
-   evas_object_smart_callback_call(data, SIG_CLICKED, NULL);
+   eo_do(data, eo_event_callback_call(EVAS_CLICKABLE_INTERFACE_EVENT_CLICKED, 
NULL));
 }
 
 /* overriding layout's focus_next() in order to just cycle through the
diff --git a/src/lib/elm_fileselector_entry.eo 
b/src/lib/elm_fileselector_entry.eo
index b651929..065cd84 100644
--- a/src/lib/elm_fileselector_entry.eo
+++ b/src/lib/elm_fileselector_entry.eo
@@ -1,4 +1,5 @@
-class Elm.Fileselector_Entry (Elm.Layout, Elm_Interface_Fileselector)
+class Elm.Fileselector_Entry (Elm.Layout, Elm_Interface_Fileselector,
+                              Evas.Clickable_Interface, 
Evas.Selectable_Interface)
 {
    eo_prefix: elm_obj_fileselector_entry;
    methods {
@@ -122,6 +123,9 @@ class Elm.Fileselector_Entry (Elm.Layout, 
Elm_Interface_Fileselector)
       language,changed;
       access,changed;
       changed;
+      activated;
+      file,chosen;
+      press;
    }
 
 }
diff --git a/src/lib/elm_interface_scrollable.c 
b/src/lib/elm_interface_scrollable.c
index 6d59676..4536fe1 100644
--- a/src/lib/elm_interface_scrollable.c
+++ b/src/lib/elm_interface_scrollable.c
@@ -3731,15 +3731,15 @@ _elm_scroll_pan_resized_cb(void *data,
 }
 
 /* even external pan objects get this */
-static void
+static Eina_Bool
 _elm_scroll_pan_changed_cb(void *data,
-                           Evas_Object *obj EINA_UNUSED,
+                           Eo *obj EINA_UNUSED, const Eo_Event_Description 
*desc EINA_UNUSED,
                            void *event_info EINA_UNUSED)
 {
    Evas_Coord w = 0, h = 0;
    Elm_Scrollable_Smart_Interface_Data *sid = data;
 
-   if (!sid->pan_obj) return;
+   if (!sid->pan_obj) return EINA_TRUE;
 
    eo_do(sid->pan_obj, elm_obj_pan_content_size_get(&w, &h));
    if ((w != sid->content_info.w) || (h != sid->content_info.h))
@@ -3753,6 +3753,8 @@ _elm_scroll_pan_changed_cb(void *data,
         sid->content_info.resized = EINA_TRUE;
         _elm_scroll_wanted_region_set(sid->obj);
      }
+
+   return EINA_TRUE;
 }
 
 static void
@@ -3794,8 +3796,8 @@ _elm_interface_scrollable_content_set(Eo *obj, 
Elm_Scrollable_Smart_Interface_Da
      {
         o = _elm_pan_add(evas_object_evas_get(obj));
         sid->pan_obj = o;
-        evas_object_smart_callback_add
-          (o, SIG_CHANGED, _elm_scroll_pan_changed_cb, sid);
+        eo_do(o, eo_event_callback_add
+          (ELM_PAN_EVENT_CHANGED, _elm_scroll_pan_changed_cb, sid));
         evas_object_event_callback_add(o, EVAS_CALLBACK_RESIZE,
                                        _elm_scroll_pan_resized_cb, sid);
         edje_object_part_swallow(sid->edje_obj, "elm.swallow.content", o);
@@ -3822,8 +3824,8 @@ _elm_interface_scrollable_extern_pan_set(Eo *obj, 
Elm_Scrollable_Smart_Interface
 
    if (sid->pan_obj)
      {
-        evas_object_smart_callback_del
-          (sid->pan_obj, SIG_CHANGED, _elm_scroll_pan_changed_cb);
+        eo_do(sid->pan_obj, eo_event_callback_del(
+           ELM_PAN_EVENT_CHANGED, _elm_scroll_pan_changed_cb, sid));
         evas_object_event_callback_del(sid->pan_obj, EVAS_CALLBACK_RESIZE,
                                        _elm_scroll_pan_resized_cb);
      }
@@ -3850,8 +3852,8 @@ _elm_interface_scrollable_extern_pan_set(Eo *obj, 
Elm_Scrollable_Smart_Interface
    sid->pan_obj = pan;
 
    sid->extern_pan = EINA_TRUE;
-   evas_object_smart_callback_add
-     (sid->pan_obj, SIG_CHANGED, _elm_scroll_pan_changed_cb, sid);
+   eo_do(sid->pan_obj, eo_event_callback_add
+     (ELM_PAN_EVENT_CHANGED, _elm_scroll_pan_changed_cb, sid));
    evas_object_event_callback_add(sid->pan_obj, EVAS_CALLBACK_RESIZE,
                                   _elm_scroll_pan_resized_cb, sid);
    edje_object_part_swallow

-- 


Reply via email to