From 54a3e61e071c60571c5161789f39421110928140 Mon Sep 17 00:00:00 2001 From: raster Date: Thu, 29 Sep 2011 09:02:31 +0000 Subject: [PATCH] From: Jihoon Kim Subject: [E-devel] [PATCH] update cursor location when the position of entry is changed The cursor location information should be transferred when the position of entry is changed. For example, an entry can be moved by comformant, rotate event. The transferred cursor location is used for letting candidate word window move the appropriate position. git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/edje@63660 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/lib/edje_entry.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/lib/edje_entry.c b/src/lib/edje_entry.c index b3f74d3..0ddd22f 100644 --- a/src/lib/edje_entry.c +++ b/src/lib/edje_entry.c @@ -1447,6 +1447,17 @@ _edje_key_up_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, voi } static void +_edje_part_move_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) +{ + Edje_Real_Part *rp = data; + Entry *en; + if (!rp) return; + en = rp->entry_data; + if (!en) return; + _edje_entry_imf_cursor_info_set(en); +} + +static void _edje_part_mouse_down_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) { Evas_Coord cx, cy; @@ -1877,6 +1888,8 @@ _edje_entry_real_part_init(Edje_Real_Part *rp) rp->entry_data = en; en->rp = rp; + evas_object_event_callback_add(rp->object, EVAS_CALLBACK_MOVE, _edje_part_move_cb, rp); + evas_object_event_callback_add(rp->object, EVAS_CALLBACK_MOUSE_DOWN, _edje_part_mouse_down_cb, rp); evas_object_event_callback_add(rp->object, EVAS_CALLBACK_MOUSE_UP, _edje_part_mouse_up_cb, rp); evas_object_event_callback_add(rp->object, EVAS_CALLBACK_MOUSE_MOVE, _edje_part_mouse_move_cb, rp); -- 2.7.4