From: Avi Levin Date: Wed, 13 May 2015 11:34:44 +0000 (+0300) Subject: elm_list, elm_win: porting evas smart callbacks to eo X-Git-Tag: v1.15.0-alpha1~44 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=97e878d818f24f43491241b24dfb2406dd557252;p=platform%2Fupstream%2Felementary.git elm_list, elm_win: porting evas smart callbacks to eo --- diff --git a/src/lib/elm_list.c b/src/lib/elm_list.c index 596e519..7c9d086 100644 --- a/src/lib/elm_list.c +++ b/src/lib/elm_list.c @@ -607,7 +607,8 @@ static Eina_Bool _key_action_select(Evas_Object *obj, const char *params EINA_UN if (eo_it) { ELM_LIST_ITEM_DATA_GET(eo_it, it); - evas_object_smart_callback_call(WIDGET(it), SIG_ACTIVATED, eo_it); + eo_do(WIDGET(it), eo_event_callback_call + (ELM_LIST_EVENT_ACTIVATED, eo_it)); } return EINA_TRUE; @@ -1155,8 +1156,8 @@ _elm_list_item_focused(Elm_Object_Item *eo_it) focus_raise = edje_object_data_get(VIEW(it), "focusraise"); if ((focus_raise) && (!strcmp(focus_raise, "on"))) evas_object_raise(VIEW(it)); - evas_object_smart_callback_call - (WIDGET(it), SIG_ITEM_FOCUSED, eo_it); + eo_do(WIDGET(it), eo_event_callback_call + (ELM_LIST_EVENT_ITEM_FOCUSED, eo_it)); if (_elm_config->atspi_mode) elm_interface_atspi_accessible_state_changed_signal_emit(eo_it, ELM_ATSPI_STATE_FOCUSED, EINA_TRUE); } @@ -1183,7 +1184,7 @@ _elm_list_item_unfocused(Elm_Object_Item *eo_it) } sd->focused_item = NULL; - evas_object_smart_callback_call(obj, SIG_ITEM_UNFOCUSED, eo_it); + eo_do(obj, eo_event_callback_call(ELM_LIST_EVENT_ITEM_UNFOCUSED, eo_it)); if (_elm_config->atspi_mode) elm_interface_atspi_accessible_state_changed_signal_emit(eo_it, ELM_ATSPI_STATE_FOCUSED, EINA_FALSE); } @@ -1364,7 +1365,7 @@ _item_highlight(Elm_List_Item_Data *it) _elm_list_walk(sd); edje_object_signal_emit(VIEW(it), "elm,state,selected", "elm"); - evas_object_smart_callback_call(obj, SIG_HIGHLIGHTED, EO_OBJ(it)); + eo_do(obj, eo_event_callback_call(ELM_LIST_EVENT_HIGHLIGHTED, EO_OBJ(it))); select_raise = edje_object_data_get(VIEW(it), "selectraise"); if ((select_raise) && (!strcmp(select_raise, "on"))) evas_object_raise(VIEW(it)); @@ -1416,7 +1417,7 @@ call: _elm_list_walk(sd); if (it->func) it->func((void *)WIDGET_ITEM_DATA_GET(eo_it), WIDGET(it), eo_it); - evas_object_smart_callback_call(obj, SIG_SELECTED, eo_it); + eo_do(obj, eo_event_callback_call(EVAS_SELECTABLE_INTERFACE_EVENT_SELECTED, eo_it)); sd->last_selected_item = eo_it; _elm_list_unwalk(obj, sd); @@ -1441,7 +1442,8 @@ _item_unhighlight(Elm_List_Item_Data *it) _elm_list_walk(sd); edje_object_signal_emit(VIEW(it), "elm,state,unselected", "elm"); - evas_object_smart_callback_call(obj, SIG_UNHIGHLIGHTED, EO_OBJ(it)); + eo_do(obj, eo_event_callback_call + (ELM_LIST_EVENT_UNHIGHLIGHTED, EO_OBJ(it))); stacking = edje_object_data_get(VIEW(it), "stacking"); select_raise = edje_object_data_get(VIEW(it), "selectraise"); if ((select_raise) && (!strcmp(select_raise, "on"))) @@ -1482,7 +1484,8 @@ _item_unselect(Elm_List_Item_Data *it) sd->selected = eina_list_remove(sd->selected, EO_OBJ(it)); if (!(it->base->disabled || (sd->select_mode == ELM_OBJECT_SELECT_MODE_NONE))) - evas_object_smart_callback_call(WIDGET(it), SIG_UNSELECTED, EO_OBJ(it)); + eo_do(WIDGET(it), eo_event_callback_call + (EVAS_SELECTABLE_INTERFACE_EVENT_UNSELECTED, EO_OBJ(it))); } _elm_list_unwalk(obj, sd); @@ -1507,28 +1510,28 @@ static void _edge_left_cb(Evas_Object *obj, void *data EINA_UNUSED) { - evas_object_smart_callback_call(obj, SIG_EDGE_LEFT, NULL); + eo_do(obj, eo_event_callback_call(ELM_LIST_EVENT_EDGE_LEFT, NULL)); } static void _edge_right_cb(Evas_Object *obj, void *data EINA_UNUSED) { - evas_object_smart_callback_call(obj, SIG_EDGE_RIGHT, NULL); + eo_do(obj, eo_event_callback_call(ELM_LIST_EVENT_EDGE_RIGHT, NULL)); } static void _edge_top_cb(Evas_Object *obj, void *data EINA_UNUSED) { - evas_object_smart_callback_call(obj, SIG_EDGE_TOP, NULL); + eo_do(obj, eo_event_callback_call(ELM_LIST_EVENT_EDGE_TOP, NULL)); } static void _edge_bottom_cb(Evas_Object *obj, void *data EINA_UNUSED) { - evas_object_smart_callback_call(obj, SIG_EDGE_BOTTOM, NULL); + eo_do(obj, eo_event_callback_call(ELM_LIST_EVENT_EDGE_BOTTOM, NULL)); } static Eina_Bool @@ -1545,7 +1548,8 @@ _long_press_cb(void *data) if (it->base->disabled) goto end; sd->longpressed = EINA_TRUE; - evas_object_smart_callback_call(WIDGET(it), SIG_LONGPRESSED, EO_OBJ(it)); + eo_do(WIDGET(it), eo_event_callback_call + (EVAS_CLICKABLE_INTERFACE_EVENT_LONGPRESSED, EO_OBJ(it))); end: return ECORE_CALLBACK_CANCEL; @@ -1569,7 +1573,8 @@ _swipe_do(Elm_List_Item_Data *it) sum /= sd->movements; if (abs(sum - sd->history[0].x) <= 10) return; - evas_object_smart_callback_call(WIDGET(it), SIG_SWIPE, EO_OBJ(it)); + eo_do(WIDGET(it), eo_event_callback_call + (ELM_LIST_EVENT_SWIPE, EO_OBJ(it))); } static void @@ -1694,8 +1699,10 @@ _mouse_down_cb(void *data, /* Always call the callbacks last - the user may delete our context! */ if (ev->flags & EVAS_BUTTON_DOUBLE_CLICK) { - evas_object_smart_callback_call(WIDGET(it), SIG_CLICKED_DOUBLE, EO_OBJ(it)); - evas_object_smart_callback_call(WIDGET(it), SIG_ACTIVATED, EO_OBJ(it)); + eo_do(WIDGET(it), eo_event_callback_call + (EVAS_CLICKABLE_INTERFACE_EVENT_CLICKED_DOUBLE, EO_OBJ(it))); + eo_do(WIDGET(it), eo_event_callback_call + (ELM_LIST_EVENT_ACTIVATED, EO_OBJ(it))); } sd->swipe = EINA_FALSE; sd->movements = 0; @@ -1728,7 +1735,8 @@ _mouse_up_cb(void *data, if (dx < 0) dx = -dx; if (dy < 0) dy = -dy; if ((dx < 5) && (dy < 5)) - evas_object_smart_callback_call(obj, SIG_CLICKED_RIGHT, EO_OBJ(it)); + eo_do(obj, eo_event_callback_call + (EVAS_CLICKABLE_INTERFACE_EVENT_CLICKED_RIGHT, EO_OBJ(it))); return; } diff --git a/src/lib/elm_list.eo b/src/lib/elm_list.eo index 4bb4dc7..decb447 100644 --- a/src/lib/elm_list.eo +++ b/src/lib/elm_list.eo @@ -1,7 +1,8 @@ import elm_general; class Elm.List (Elm.Layout, Elm_Interface_Scrollable, - Elm_Interface_Atspi_Widget_Action, Elm_Interface_Atspi_Selection) + Elm_Interface_Atspi_Widget_Action, Elm_Interface_Atspi_Selection, + Evas.Clickable_Interface, Evas.Selectable_Interface) { eo_prefix: elm_obj_list; methods { @@ -621,10 +622,6 @@ class Elm.List (Elm.Layout, Elm_Interface_Scrollable, } events { activated; - clicked,double; - selected; - unselected; - longpressed; edge,top; edge,bottom; edge,left; @@ -638,8 +635,6 @@ class Elm.List (Elm.Layout, Elm_Interface_Scrollable, item,reorder,anim,stop; language,changed; access,changed; - focused; - unfocused; } } diff --git a/src/lib/elm_win.c b/src/lib/elm_win.c index f38dbc4..1d1a614 100644 --- a/src/lib/elm_win.c +++ b/src/lib/elm_win.c @@ -67,8 +67,8 @@ static const Elm_Win_Trap *trap = NULL; { \ edje_object_signal_emit(cursd->edje, \ "elm,action,hide_blocker", "elm"); \ - evas_object_smart_callback_call(cursd->main_menu, \ - "elm,action,unblock_menu", NULL); \ + eo_do(cursd->main_menu, eo_event_callback_call \ + (ELM_MENU_EVENT_ELM_ACTION_UNBLOCK_MENU, NULL)); \ } \ } @@ -84,8 +84,8 @@ static const Elm_Win_Trap *trap = NULL; { \ edje_object_signal_emit(cursd->edje, \ "elm,action,show_blocker", "elm"); \ - evas_object_smart_callback_call(cursd->main_menu, \ - "elm,action,block_menu", NULL); \ + eo_do(cursd->main_menu, eo_event_callback_call \ + (ELM_WIN_EVENT_ELM_ACTION_BLOCK_MENU, NULL)); \ } \ } @@ -812,7 +812,7 @@ _elm_win_move(Ecore_Evas *ee) ecore_evas_geometry_get(ee, &x, &y, NULL, NULL); sd->screen.x = x; sd->screen.y = y; - evas_object_smart_callback_call(sd->obj, SIG_MOVED, NULL); + eo_do(sd->obj, eo_event_callback_call(ELM_WIN_EVENT_MOVED, NULL)); evas_nochange_push(evas_object_evas_get(sd->obj)); evas_object_move(sd->obj, x, y); evas_nochange_pop(evas_object_evas_get(sd->obj)); @@ -1080,7 +1080,7 @@ _elm_win_focus_in(Ecore_Evas *ee) else elm_widget_focus_restore(obj); } - evas_object_smart_callback_call(obj, SIG_FOCUS_IN, NULL); + eo_do(obj, eo_event_callback_call(ELM_WIN_EVENT_FOCUSED, NULL)); sd->focus_highlight.cur.visible = EINA_TRUE; _elm_win_focus_highlight_reconfigure_job_start(sd); if (sd->frame_obj) @@ -1112,7 +1112,7 @@ _elm_win_focus_out(Ecore_Evas *ee) elm_object_focus_set(obj, EINA_FALSE); _elm_widget_top_win_focused_set(obj, EINA_FALSE); - evas_object_smart_callback_call(obj, SIG_FOCUS_OUT, NULL); + eo_do(obj, eo_event_callback_call(ELM_WIN_EVENT_UNFOCUSED, NULL)); sd->focus_highlight.cur.visible = EINA_FALSE; _elm_win_focus_highlight_reconfigure_job_start(sd); if (sd->frame_obj) @@ -1218,7 +1218,7 @@ _elm_win_profile_update(Elm_Win_Data *sd) EINA_LIST_FOREACH(sub, l, ee2) ecore_evas_window_profile_set(ee2, sd->profile.name); - evas_object_smart_callback_call(sd->obj, SIG_PROFILE_CHANGED, NULL); + eo_do(sd->obj, eo_event_callback_call(ELM_WIN_EVENT_PROFILE_CHANGED, NULL)); } static void @@ -1320,26 +1320,28 @@ _elm_win_state_change(Ecore_Evas *ee) if ((ch_withdrawn) || (ch_iconified)) { if (sd->withdrawn) - evas_object_smart_callback_call(obj, SIG_WITHDRAWN, NULL); + eo_do(obj, eo_event_callback_call(ELM_WIN_EVENT_WITHDRAWN, NULL)); else if (sd->iconified) { - evas_object_smart_callback_call(obj, SIG_ICONIFIED, NULL); + eo_do(obj, eo_event_callback_call(ELM_WIN_EVENT_ICONIFIED, NULL)); if (_elm_config->atspi_mode) - eo_do(obj, eo_event_callback_call(ELM_INTERFACE_ATSPI_WINDOW_EVENT_WINDOW_MINIMIZED, NULL)); + eo_do(obj, eo_event_callback_call + (ELM_INTERFACE_ATSPI_WINDOW_EVENT_WINDOW_MINIMIZED, NULL)); } else { - evas_object_smart_callback_call(obj, SIG_NORMAL, NULL); + eo_do(obj, eo_event_callback_call(ELM_WIN_EVENT_NORMAL, NULL)); if (_elm_config->atspi_mode) - eo_do(obj, eo_event_callback_call(ELM_INTERFACE_ATSPI_WINDOW_EVENT_WINDOW_RESTORED, NULL)); + eo_do(obj, eo_event_callback_call + (ELM_INTERFACE_ATSPI_WINDOW_EVENT_WINDOW_RESTORED, NULL)); } } if (ch_sticky) { if (sd->sticky) - evas_object_smart_callback_call(obj, SIG_STICK, NULL); + eo_do(obj, eo_event_callback_call(ELM_WIN_EVENT_STICK, NULL)); else - evas_object_smart_callback_call(obj, SIG_UNSTICK, NULL); + eo_do(obj, eo_event_callback_call(ELM_WIN_EVENT_UNSTICK, NULL)); } if (ch_fullscreen) { @@ -1348,7 +1350,8 @@ _elm_win_state_change(Ecore_Evas *ee) { int w, h; - evas_object_smart_callback_call(obj, SIG_FULLSCREEN, NULL); + eo_do(obj, eo_event_callback_call + (ELM_WIN_EVENT_FULLSCREEN, NULL)); if (sd->frame_obj) evas_object_hide(sd->frame_obj); ecore_evas_geometry_get(sd->ee, NULL, NULL, &w, &h); @@ -1356,7 +1359,8 @@ _elm_win_state_change(Ecore_Evas *ee) } else { - evas_object_smart_callback_call(obj, SIG_UNFULLSCREEN, NULL); + eo_do(obj, eo_event_callback_call + (ELM_WIN_EVENT_UNFULLSCREEN, NULL)); if (sd->frame_obj) evas_object_show(sd->frame_obj); } @@ -1365,15 +1369,17 @@ _elm_win_state_change(Ecore_Evas *ee) { if (sd->maximized) { - evas_object_smart_callback_call(obj, SIG_MAXIMIZED, NULL); + eo_do(obj, eo_event_callback_call(ELM_WIN_EVENT_MAXIMIZED, NULL)); if (_elm_config->atspi_mode) - eo_do(obj, eo_event_callback_call(ELM_INTERFACE_ATSPI_WINDOW_EVENT_WINDOW_MAXIMIZED, NULL)); + eo_do(obj, eo_event_callback_call + (ELM_INTERFACE_ATSPI_WINDOW_EVENT_WINDOW_MAXIMIZED, NULL)); } else { - evas_object_smart_callback_call(obj, SIG_UNMAXIMIZED, NULL); + eo_do(obj, eo_event_callback_call(ELM_WIN_EVENT_UNMAXIMIZED, NULL)); if (_elm_config->atspi_mode) - eo_do(obj, eo_event_callback_call(ELM_INTERFACE_ATSPI_WINDOW_EVENT_WINDOW_RESTORED, NULL)); + eo_do(obj, eo_event_callback_call + (ELM_INTERFACE_ATSPI_WINDOW_EVENT_WINDOW_RESTORED, NULL)); } } if (ch_profile) @@ -1388,8 +1394,10 @@ _elm_win_state_change(Ecore_Evas *ee) _elm_win_xwin_update(sd); #endif elm_widget_orientation_set(obj, sd->rot); - evas_object_smart_callback_call(obj, SIG_ROTATION_CHANGED, NULL); - evas_object_smart_callback_call(obj, SIG_WM_ROTATION_CHANGED, NULL); + eo_do(obj, eo_event_callback_call + (ELM_WIN_EVENT_ROTATION_CHANGED, NULL)); + eo_do(obj, eo_event_callback_call + (ELM_WIN_EVENT_WM_ROTATION_CHANGED, NULL)); } } @@ -1955,7 +1963,7 @@ _elm_win_evas_object_smart_move(Eo *obj, Elm_Win_Data *sd, Evas_Coord x, Evas_Co { sd->screen.x = x; sd->screen.y = y; - evas_object_smart_callback_call(obj, SIG_MOVED, NULL); + eo_do(obj, eo_event_callback_call(ELM_WIN_EVENT_MOVED, NULL)); } return; } @@ -1971,7 +1979,7 @@ _elm_win_evas_object_smart_move(Eo *obj, Elm_Win_Data *sd, Evas_Coord x, Evas_Co { sd->screen.x = x; sd->screen.y = y; - evas_object_smart_callback_call(obj, SIG_MOVED, NULL); + eo_do(obj, eo_event_callback_call(ELM_WIN_EVENT_MOVED, NULL)); } if (sd->frame_obj) { @@ -2025,7 +2033,7 @@ _elm_win_delete_request(Ecore_Evas *ee) int autodel = sd->autodel; sd->autodel_clear = &autodel; evas_object_ref(obj); - evas_object_smart_callback_call(obj, SIG_DELETE_REQUEST, NULL); + eo_do(obj, eo_event_callback_call(ELM_WIN_EVENT_DELETE_REQUEST, NULL)); if (sd->autohide) evas_object_hide(obj); // FIXME: if above callback deletes - then the below will be invalid @@ -2497,7 +2505,8 @@ _elm_win_property_change(void *data, if (e->win == sd->x.xwin) { sd->indmode = (Elm_Win_Indicator_Mode)ecore_x_e_illume_indicator_state_get(e->win); - evas_object_smart_callback_call(sd->obj, SIG_INDICATOR_PROP_CHANGED, NULL); + eo_do(sd->obj, eo_event_callback_call + (ELM_WIN_EVENT_INDICATOR_PROP_CHANGED, NULL)); } } return ECORE_CALLBACK_PASS_ON; @@ -2830,7 +2839,7 @@ _elm_win_frame_cb_close(void *data, int autodel = sd->autodel; sd->autodel_clear = &autodel; evas_object_ref(win); - evas_object_smart_callback_call(win, SIG_DELETE_REQUEST, NULL); + eo_do(win, eo_event_callback_call(ELM_WIN_EVENT_DELETE_REQUEST, NULL)); if (sd->autohide) evas_object_hide(win); // FIXME: if above callback deletes - then the below will be invalid @@ -3051,7 +3060,7 @@ _elm_x_io_err(void *data EINA_UNUSED) Evas_Object *obj; EINA_LIST_FOREACH(_elm_win_list, l, obj) - evas_object_smart_callback_call(obj, SIG_IOERR, NULL); + eo_do(obj, eo_event_callback_call(ELM_WIN_EVENT_IOERR, NULL)); elm_exit(); } #endif @@ -4631,7 +4640,8 @@ _win_rotate(Evas_Object *obj, Elm_Win_Data *sd, int rotation, Eina_Bool resize) #endif _elm_win_frame_obj_update(sd); elm_widget_orientation_set(obj, rotation); - evas_object_smart_callback_call(obj, SIG_ROTATION_CHANGED, NULL); + eo_do(obj, eo_event_callback_call + (ELM_WIN_EVENT_ROTATION_CHANGED, NULL)); } EOLIAN static void @@ -4850,7 +4860,8 @@ _elm_win_indicator_mode_set(Eo *obj EINA_UNUSED, Elm_Win_Data *sd, Elm_Win_Indic (sd->x.xwin, ECORE_X_ILLUME_INDICATOR_STATE_OFF); } #endif - evas_object_smart_callback_call(obj, SIG_INDICATOR_PROP_CHANGED, NULL); + eo_do(obj, eo_event_callback_call + (ELM_WIN_EVENT_INDICATOR_PROP_CHANGED, NULL)); } EOLIAN static Elm_Win_Indicator_Mode @@ -4879,7 +4890,8 @@ _elm_win_indicator_opacity_set(Eo *obj EINA_UNUSED, Elm_Win_Data *sd, Elm_Win_In (sd->x.xwin, ECORE_X_ILLUME_INDICATOR_TRANSPARENT); } #endif - evas_object_smart_callback_call(obj, SIG_INDICATOR_PROP_CHANGED, NULL); + eo_do(obj, eo_event_callback_call + (ELM_WIN_EVENT_INDICATOR_PROP_CHANGED, NULL)); } EOLIAN static Elm_Win_Indicator_Opacity_Mode @@ -5184,7 +5196,7 @@ _elm_win_theme_internal(Eo *obj, Elm_Win_Data *sd) edje_object_scale_set(sd->edje, elm_widget_scale_get(obj) * elm_config_scale_get()); - evas_object_smart_callback_call(obj, SIG_THEME_CHANGED, NULL); + eo_do(obj, eo_event_callback_call(ELM_WIN_EVENT_THEME_CHANGED, NULL)); eo_do(obj, ret = elm_obj_widget_disable()); if (!sd->theme_alpha && !sd->application_alpha) diff --git a/src/lib/elm_win.eo b/src/lib/elm_win.eo index 0a07769..faec4c9 100644 --- a/src/lib/elm_win.eo +++ b/src/lib/elm_win.eo @@ -1649,8 +1649,6 @@ class Elm.Win (Elm.Widget, Elm_Interface_Atspi_Window, } events { delete,request; - focus,out; - focus,in; moved; withdrawn; iconified; @@ -1670,6 +1668,7 @@ class Elm.Win (Elm.Widget, Elm_Interface_Atspi_Window, wm,rotation,changed; animator,tick; theme,changed; + elm,action,block_menu; } }