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 --