From: Jihoon Kim <jihoon48.kim@samsung.com>
authorJihoon Kim <jihoon48.kim@samsung.com>
Thu, 29 Sep 2011 09:02:31 +0000 (09:02 +0000)
committerCarsten Haitzler <raster@rasterman.com>
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.

SVN revision: 63660

legacy/edje/src/lib/edje_entry.c

index b3f74d38da164d4245d098087894c6710d7b3e4a..0ddd22f37739d99f69e0f4e978f64eae2367e0be 100644 (file)
@@ -1446,6 +1446,17 @@ _edje_key_up_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, voi
 #endif
 }
 
+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)
 {
@@ -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);