forked from enlightenment/efl
Text: add markup_range_get
This allows to retrieve the markup representation of the current text. @feature
This commit is contained in:
parent
86a8f832ae
commit
9903e7d556
|
@ -10,6 +10,17 @@ interface Efl.Text_Markup(Efl.Text_Cursor) {
|
||||||
markup: string; [[The markup-text representation set to this text.]]
|
markup: string; [[The markup-text representation set to this text.]]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@property markup_range {
|
||||||
|
[[Markup of a given range in the text]]
|
||||||
|
values {
|
||||||
|
markup: mstring @owned; [[The markup-text representation set to
|
||||||
|
this text of a given range]]
|
||||||
|
}
|
||||||
|
keys {
|
||||||
|
start: ptr(Efl.Text_Cursor_Cursor);
|
||||||
|
end: ptr(Efl.Text_Cursor_Cursor);
|
||||||
|
}
|
||||||
|
}
|
||||||
cursor_markup_insert {
|
cursor_markup_insert {
|
||||||
[[Inserts a markup text to the text object in a given cursor position]]
|
[[Inserts a markup text to the text object in a given cursor position]]
|
||||||
params {
|
params {
|
||||||
|
|
|
@ -355,6 +355,7 @@ class Efl.Canvas.Text (Efl.Canvas.Object, Efl.Text,
|
||||||
Efl.Text_Annotate.cursor_item_insert;
|
Efl.Text_Annotate.cursor_item_insert;
|
||||||
Efl.Text_Markup.markup { set; get; }
|
Efl.Text_Markup.markup { set; get; }
|
||||||
Efl.Text_Markup.cursor_markup_insert;
|
Efl.Text_Markup.cursor_markup_insert;
|
||||||
|
Efl.Text_Markup.markup_range { get;}
|
||||||
Efl.Gfx.Entity.scale { set; }
|
Efl.Gfx.Entity.scale { set; }
|
||||||
}
|
}
|
||||||
events {
|
events {
|
||||||
|
|
|
@ -11418,6 +11418,17 @@ _evas_textblock_cursor_range_text_markup_get(const Efl_Text_Cursor_Cursor *cur1,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EOLIAN char *
|
||||||
|
_efl_canvas_text_efl_text_markup_markup_range_get(const Eo *eo_obj,
|
||||||
|
Efl_Canvas_Text_Data *o EINA_UNUSED, Efl_Text_Cursor_Cursor *start,
|
||||||
|
Efl_Text_Cursor_Cursor *end)
|
||||||
|
{
|
||||||
|
if (!start || !start->node) return NULL;
|
||||||
|
if (!end || !end->node) return NULL;
|
||||||
|
if ((start->obj != eo_obj) || (start->obj != end->obj)) return NULL;
|
||||||
|
return _evas_textblock_cursor_range_text_markup_get(start, end);
|
||||||
|
}
|
||||||
|
|
||||||
static char *
|
static char *
|
||||||
_evas_textblock_cursor_range_text_plain_get(const Efl_Text_Cursor_Cursor *cur1, const Efl_Text_Cursor_Cursor *_cur2)
|
_evas_textblock_cursor_range_text_plain_get(const Efl_Text_Cursor_Cursor *cur1, const Efl_Text_Cursor_Cursor *_cur2)
|
||||||
{
|
{
|
||||||
|
|
|
@ -4612,6 +4612,35 @@ EFL_START_TEST(efl_canvas_text_cursor)
|
||||||
}
|
}
|
||||||
EFL_END_TEST
|
EFL_END_TEST
|
||||||
|
|
||||||
|
|
||||||
|
EFL_START_TEST(efl_canvas_text_markup)
|
||||||
|
{
|
||||||
|
START_EFL_CANVAS_TEXT_TEST();
|
||||||
|
Efl_Text_Cursor_Cursor *start, *end;
|
||||||
|
char *res;
|
||||||
|
|
||||||
|
start = efl_text_cursor_new(txt);
|
||||||
|
end = efl_text_cursor_new(txt);
|
||||||
|
|
||||||
|
efl_text_set(txt, "\n\n\n");
|
||||||
|
|
||||||
|
efl_text_cursor_position_set(txt, start, 1);
|
||||||
|
efl_text_cursor_position_set(txt, end, 2);
|
||||||
|
res = efl_text_markup_range_get(txt, start, end);
|
||||||
|
ck_assert_str_eq(res, "<br>");
|
||||||
|
free(res);
|
||||||
|
|
||||||
|
efl_text_set(txt, "a\u2029bc\ndef\n\u2029");
|
||||||
|
efl_text_cursor_position_set(txt, start, 2);
|
||||||
|
efl_text_cursor_position_set(txt, end, 5);
|
||||||
|
res = efl_text_markup_range_get(txt, start, end);
|
||||||
|
ck_assert_str_eq(res, "bc<br>");
|
||||||
|
free(res);
|
||||||
|
|
||||||
|
END_EFL_CANVAS_TEXT_TEST();
|
||||||
|
}
|
||||||
|
EFL_END_TEST
|
||||||
|
|
||||||
void evas_test_textblock(TCase *tc)
|
void evas_test_textblock(TCase *tc)
|
||||||
{
|
{
|
||||||
tcase_add_test(tc, evas_textblock_simple);
|
tcase_add_test(tc, evas_textblock_simple);
|
||||||
|
@ -4643,5 +4672,6 @@ void evas_test_textblock(TCase *tc)
|
||||||
tcase_add_test(tc, efl_canvas_text_simple);
|
tcase_add_test(tc, efl_canvas_text_simple);
|
||||||
tcase_add_test(tc, efl_text);
|
tcase_add_test(tc, efl_text);
|
||||||
tcase_add_test(tc, efl_canvas_text_cursor);
|
tcase_add_test(tc, efl_canvas_text_cursor);
|
||||||
|
tcase_add_test(tc, efl_canvas_text_markup);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue