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