bdilly pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=6572ad9e029a3b5d0ca25925419929e7c8dabdd9

commit 6572ad9e029a3b5d0ca25925419929e7c8dabdd9
Author: Guilherme Iscaro <[email protected]>
Date:   Fri Nov 18 14:56:20 2016 -0200

    Efl.Canvas.Object: Remove focus,in/out events.
    
    Since this object already inherist Efl.Input.Interface there's no need
    to have those events reimplemented.
---
 src/lib/edje/edje_callbacks.c            |  4 ++--
 src/lib/evas/canvas/efl_canvas_object.eo |  6 ------
 src/lib/evas/canvas/evas_callbacks.c     | 17 ++++++++++++-----
 src/lib/evas/canvas/evas_focus.c         | 23 ++++++++---------------
 4 files changed, 22 insertions(+), 28 deletions(-)

diff --git a/src/lib/edje/edje_callbacks.c b/src/lib/edje/edje_callbacks.c
index 9ec3287..b27049f 100644
--- a/src/lib/edje/edje_callbacks.c
+++ b/src/lib/edje/edje_callbacks.c
@@ -439,8 +439,8 @@ EFL_CALLBACKS_ARRAY_DEFINE(edje_callbacks,
                           { EFL_EVENT_POINTER_WHEEL, 
_edje_mouse_wheel_signal_cb });
 
 EFL_CALLBACKS_ARRAY_DEFINE(edje_focus_callbacks,
-                          { EFL_CANVAS_OBJECT_EVENT_FOCUS_IN, 
_edje_focus_in_signal_cb },
-                          { EFL_CANVAS_OBJECT_EVENT_FOCUS_OUT, 
_edje_focus_out_signal_cb });
+                          { EFL_EVENT_FOCUS_IN, _edje_focus_in_signal_cb },
+                          { EFL_EVENT_FOCUS_OUT, _edje_focus_out_signal_cb });
 
 void
 _edje_callbacks_add(Evas_Object *obj, Edje *ed, Edje_Real_Part *rp)
diff --git a/src/lib/evas/canvas/efl_canvas_object.eo 
b/src/lib/evas/canvas/efl_canvas_object.eo
index 793a004..4b8a8d4 100644
--- a/src/lib/evas/canvas/efl_canvas_object.eo
+++ b/src/lib/evas/canvas/efl_canvas_object.eo
@@ -636,10 +636,4 @@ abstract Efl.Canvas.Object (Efl.Object, Efl.Gfx, 
Efl.Gfx.Stack, Efl.Animator,
       Efl.Gfx.Map.map_enable.set;
       Efl.Gfx.Map.map_enable.get;
    }
-   events {
-       focus,in; [[Focus In Event ]]
-       focus,out; [[Focus Out Event ]]
-       focus,device,in: Efl.Input.Device; [[Focus In event that contains the 
seat device that this object was focused. @since 1.19]]
-       focus,device,out: Efl.Input.Device; [[Focus Out event that contains the 
seat device that this object was unfocused.@since 1.19]]
-   }
 }
diff --git a/src/lib/evas/canvas/evas_callbacks.c 
b/src/lib/evas/canvas/evas_callbacks.c
index 6baef3e..3487543 100644
--- a/src/lib/evas/canvas/evas_callbacks.c
+++ b/src/lib/evas/canvas/evas_callbacks.c
@@ -48,8 +48,8 @@ DEFINE_EVAS_CALLBACKS(_legacy_evas_callback_table, 
EVAS_CALLBACK_LAST,
                       EVAS_OBJECT_EVENT_FREE,
                       EFL_EVENT_KEY_DOWN,
                       EFL_EVENT_KEY_UP,
-                      EFL_CANVAS_OBJECT_EVENT_FOCUS_IN,
-                      EFL_CANVAS_OBJECT_EVENT_FOCUS_OUT,
+                      EFL_EVENT_FOCUS_IN,
+                      EFL_EVENT_FOCUS_OUT,
                       EFL_GFX_EVENT_SHOW,
                       EFL_GFX_EVENT_HIDE,
                       EFL_GFX_EVENT_MOVE,
@@ -93,7 +93,8 @@ typedef enum {
    EFL_EVENT_TYPE_STRUCT,
    EFL_EVENT_TYPE_POINTER,
    EFL_EVENT_TYPE_KEY,
-   EFL_EVENT_TYPE_HOLD
+   EFL_EVENT_TYPE_HOLD,
+   EFL_EVENT_TYPE_FOCUS
 } Efl_Event_Info_Type;
 
 typedef struct
@@ -147,6 +148,10 @@ _evas_event_efl_event_info_type(Evas_Callback_Type type)
       case EVAS_CALLBACK_DEVICE_CHANGED: /* Efl.Input.Device */
         return EFL_EVENT_TYPE_OBJECT;
 
+      case EVAS_CALLBACK_FOCUS_IN:
+      case EVAS_CALLBACK_FOCUS_OUT:
+          return EFL_EVENT_TYPE_FOCUS;
+
       default:
         return EFL_EVENT_TYPE_NULL;
      }
@@ -164,6 +169,7 @@ _eo_evas_object_cb(void *data, const Efl_Event *event)
    if (!info->func) return;
    evas = evas_object_evas_get(event->object);
 
+   event_info = event->info;
    switch (info->efl_event_type)
      {
       case EFL_EVENT_TYPE_POINTER:
@@ -178,12 +184,13 @@ _eo_evas_object_cb(void *data, const Efl_Event *event)
         event_info = efl_input_hold_legacy_info_fill(efl_event_info, 
&event_flags);
         break;
 
+      case EFL_EVENT_TYPE_FOCUS:
+         event_info = NULL;
       case EFL_EVENT_TYPE_NULL:
       case EFL_EVENT_TYPE_STRUCT:
       case EFL_EVENT_TYPE_OBJECT:
-        info->func(info->data, evas, event->object, event->info);
+        info->func(info->data, evas, event->object, event_info);
         return;
-
       default: return;
      }
 
diff --git a/src/lib/evas/canvas/evas_focus.c b/src/lib/evas/canvas/evas_focus.c
index d65422a..9269985 100644
--- a/src/lib/evas/canvas/evas_focus.c
+++ b/src/lib/evas/canvas/evas_focus.c
@@ -69,7 +69,7 @@ _evas_focus_dispatch_event(Evas_Object_Protected_Data *obj, 
Efl_Input_Device *se
    Efl_Input_Focus_Data *ev_data;
    Efl_Input_Focus *evt;
    Evas_Callback_Type cb_evas, cb_obj_evas;
-   const Efl_Event_Description *efl_object_focus_event, 
*efl_object_focus_device_event;
+   const Efl_Event_Description *efl_object_focus_event;
 
    evt = efl_input_instance_get(EFL_INPUT_FOCUS_CLASS, NULL, (void **) 
&ev_data);
    if (!evt) return;
@@ -82,27 +82,20 @@ _evas_focus_dispatch_event(Evas_Object_Protected_Data *obj, 
Efl_Input_Device *se
      {
         cb_obj_evas = EVAS_CALLBACK_FOCUS_IN;
         cb_evas = EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN;
-        efl_object_focus_event = EFL_CANVAS_OBJECT_EVENT_FOCUS_IN;
-        efl_object_focus_device_event = 
EFL_CANVAS_OBJECT_EVENT_FOCUS_DEVICE_IN;
+        efl_object_focus_event = EFL_EVENT_FOCUS_IN;
      }
    else
      {
         cb_obj_evas = EVAS_CALLBACK_FOCUS_OUT;
         cb_evas = EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT;
-        efl_object_focus_event = EFL_CANVAS_OBJECT_EVENT_FOCUS_OUT;
-        efl_object_focus_device_event = 
EFL_CANVAS_OBJECT_EVENT_FOCUS_DEVICE_OUT;
+        efl_object_focus_event = EFL_EVENT_FOCUS_OUT;
      }
 
-   if (seat == obj->layer->evas->default_seat)
-     {
-        evas_object_event_callback_call(obj->object, obj,
-                                        cb_obj_evas,
-                                        NULL, _evas_object_event_new(),
-                                        efl_object_focus_event);
-     }
-   evas_event_callback_call(obj->layer->evas->evas,
-                            cb_evas, evt);
-   efl_event_callback_call(obj->object, efl_object_focus_device_event, seat);
+   evas_object_event_callback_call(obj->object, obj,
+                                   cb_obj_evas,
+                                   evt, _evas_object_event_new(),
+                                   efl_object_focus_event);
+   evas_event_callback_call(obj->layer->evas->evas, cb_evas, evt);
    efl_del(evt);
 }
 

-- 


Reply via email to