summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Hirt <daniel.hirt@samsung.com>2016-04-25 16:51:19 +0300
committerDaniel Hirt <daniel.hirt@samsung.com>2016-05-16 11:17:54 +0300
commit194a6e58e3bf98e2866efe8d249f7cacb9f82512 (patch)
tree2dee32d98a2e1cd58196d54302919f4d66db1e06
parente0eedda9feed1722fe39c2ce447ebf433106dc0d (diff)
downloadefl-194a6e58e3bf98e2866efe8d249f7cacb9f82512.tar.gz
Evas textblock: port cursor_range_delete to eo
-rw-r--r--src/lib/evas/canvas/evas_object_textblock.c14
-rw-r--r--src/lib/evas/canvas/evas_textblock.eo7
2 files changed, 17 insertions, 4 deletions
diff --git a/src/lib/evas/canvas/evas_object_textblock.c b/src/lib/evas/canvas/evas_object_textblock.c
index 58a26661e9..31b8def617 100644
--- a/src/lib/evas/canvas/evas_object_textblock.c
+++ b/src/lib/evas/canvas/evas_object_textblock.c
@@ -9964,8 +9964,10 @@ evas_textblock_cursor_char_delete(Evas_Textblock_Cursor *cur)
evas_obj_textblock_cursor_char_delete(cur->obj, cur);
}
-EAPI void
-evas_textblock_cursor_range_delete(Evas_Textblock_Cursor *cur1, Evas_Textblock_Cursor *cur2)
+EOLIAN static void
+_evas_textblock_cursor_range_delete(Eo *eo_obj,
+ Evas_Textblock_Data *o,
+ Evas_Textblock_Cursor *cur1, Evas_Textblock_Cursor *cur2)
{
Evas_Object_Textblock_Node_Format *fnode = NULL;
Evas_Object_Textblock_Node_Text *n1, *n2;
@@ -9974,9 +9976,8 @@ evas_textblock_cursor_range_delete(Evas_Textblock_Cursor *cur1, Evas_Textblock_C
if (!cur1 || !cur1->node) return;
if (!cur2 || !cur2->node) return;
if (cur1->obj != cur2->obj) return;
- Evas_Object_Protected_Data *obj = eo_data_scope_get(cur1->obj, EVAS_OBJECT_CLASS);
+ Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, EVAS_OBJECT_CLASS);
evas_object_async_block(obj);
- Evas_Textblock_Data *o = eo_data_scope_get(cur1->obj, MY_CLASS);
if (evas_textblock_cursor_compare(cur1, cur2) > 0)
{
Evas_Textblock_Cursor *tc;
@@ -10068,6 +10069,11 @@ evas_textblock_cursor_range_delete(Evas_Textblock_Cursor *cur1, Evas_Textblock_C
_evas_textblock_changed(o, cur1->obj);
}
+EAPI void
+evas_textblock_cursor_range_delete(Evas_Textblock_Cursor *cur1, Evas_Textblock_Cursor *cur2)
+{
+ evas_obj_textblock_cursor_range_delete(cur1->obj, cur1, cur2);
+}
EAPI char *
evas_textblock_cursor_content_get(const Evas_Textblock_Cursor *cur)
diff --git a/src/lib/evas/canvas/evas_textblock.eo b/src/lib/evas/canvas/evas_textblock.eo
index 1715ef2f20..d59d12f893 100644
--- a/src/lib/evas/canvas/evas_textblock.eo
+++ b/src/lib/evas/canvas/evas_textblock.eo
@@ -406,6 +406,13 @@ class Evas.Textblock (Evas.Object)
@in cur: Evas.Textblock.Cursor *; [[The cursor pointing to the current location.]]
}
}
+ cursor_range_delete {
+ [[Delete the range between given cursors.]]
+ params {
+ @in cur1: Evas.Textblock.Cursor *; [[Range start position.]]
+ @in cur2: Evas.Textblock.Cursor *; [[Range end position.]]
+ }
+ }
style_user_peek @const {
[[Get (don't remove) the style at the top of the user style stack.