elm_list, elm_win: porting evas smart callbacks to eo
authorAvi Levin <avi.levin@samsung.com>
Wed, 13 May 2015 11:34:44 +0000 (14:34 +0300)
committerDaniel Zaoui <daniel.zaoui@yahoo.com>
Sun, 5 Jul 2015 10:05:38 +0000 (13:05 +0300)
src/lib/elm_list.c
src/lib/elm_list.eo
src/lib/elm_win.c
src/lib/elm_win.eo

index 596e519..7c9d086 100644 (file)
@@ -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;
      }
 
index 4bb4dc7..decb447 100644 (file)
@@ -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;
    }
 
 }
index f38dbc4..1d1a614 100644 (file)
@@ -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)
index 0a07769..faec4c9 100644 (file)
@@ -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;
    }
 
 }