From: Jihoon Kim <jihoon48.kim@samsung.com>
authorJihoon Kim <jihoon48.kim@samsung.com>
Thu, 29 Sep 2011 09:02:31 +0000 (09:02 +0000)
committerraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Thu, 29 Sep 2011 09:02:31 +0000 (09:02 +0000)
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: http://svn.enlightenment.org/svn/e/trunk/edje@63660 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/edje_entry.c

index b3f74d3..0ddd22f 100644 (file)
@@ -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);