Enlightenment CVS committal

Author  : devilhorns
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_entry.c e_widget_entry.c 


Log Message:
Delete event callbacks when e_entry is deleted.
Allow apps/modules to trap a "key_down" event for e_widget_entry.

===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_entry.c,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -3 -r1.45 -r1.46
--- e_entry.c   4 Aug 2007 13:12:41 -0000       1.45
+++ e_entry.c   14 Aug 2007 20:32:52 -0000      1.46
@@ -188,8 +188,8 @@
    if ((!entry) || (!(sd = evas_object_smart_data_get(entry))))
      return;
    
-   if (minw)   *minw = sd->min_width;
-   if (minh)   *minh = sd->height;
+   if (minw) *minw = sd->min_width;
+   if (minh) *minh = sd->height;
 }
 
 /**
@@ -928,6 +928,15 @@
    
    if ((!object) || !(sd = evas_object_smart_data_get(object)))
      return;
+
+   evas_object_event_callback_del(object, EVAS_CALLBACK_KEY_DOWN,
+                                  _e_entry_key_down_cb);
+   evas_object_event_callback_del(object, EVAS_CALLBACK_MOUSE_DOWN,
+                                  _e_entry_mouse_down_cb);
+   evas_object_event_callback_del(object, EVAS_CALLBACK_MOUSE_UP,
+                                  _e_entry_mouse_up_cb);
+   evas_object_event_callback_del(object, EVAS_CALLBACK_MOUSE_MOVE,
+                                  _e_entry_mouse_move_cb);
    
    ecore_event_handler_del(sd->selection_handler);
    evas_object_del(sd->editable_object);
===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_widget_entry.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -3 -r1.18 -r1.19
--- e_widget_entry.c    21 Oct 2006 02:32:13 -0000      1.18
+++ e_widget_entry.c    14 Aug 2007 20:32:52 -0000      1.19
@@ -18,7 +18,8 @@
 static void _e_wid_in(void *data, Evas *e, Evas_Object *obj, void *event_info);
 static void _e_wid_out(void *data, Evas *e, Evas_Object *obj, void 
*event_info);
 static void _e_wid_changed_cb(void *data, Evas_Object *obj, void *event_info);
-
+static void _e_wid_key_down_cb(void *data, Evas_Object *obj, void *event_info);
+static void _e_wid_keydown(void *data, Evas *e, Evas_Object *obj, void 
*event_info);
 
 /* externally accessible functions */
 
@@ -55,7 +56,8 @@
    evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN, 
_e_wid_focus_steal, obj);
    evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_IN, _e_wid_in, obj);
    evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_OUT, _e_wid_out, obj);
-   
+   evas_object_event_callback_add(o, EVAS_CALLBACK_KEY_DOWN, _e_wid_keydown, 
obj);
+
    if ((text_location) && (*text_location))
      e_entry_text_set(o, *text_location);
    
@@ -63,7 +65,7 @@
    e_widget_min_size_set(obj, minw, minh);
 
    evas_object_smart_callback_add(o, "changed", _e_wid_changed_cb, obj);
-   
+
    return obj;
 }
 
@@ -253,4 +255,10 @@
      }
    
    e_widget_change(data);
+}
+
+static void 
+_e_wid_keydown(void *data, Evas *e, Evas_Object *obj, void *event_info)
+{
+   evas_object_smart_callback_call(data, "key_down", event_info);
 }



-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to