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.]]
|
||||
}
|
||||
}
|
||||
@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 {
|
||||
[[Inserts a markup text to the text object in a given cursor position]]
|
||||
params {
|
||||
|
|
|
@ -355,6 +355,7 @@ class Efl.Canvas.Text (Efl.Canvas.Object, Efl.Text,
|
|||
Efl.Text_Annotate.cursor_item_insert;
|
||||
Efl.Text_Markup.markup { set; get; }
|
||||
Efl.Text_Markup.cursor_markup_insert;
|
||||
Efl.Text_Markup.markup_range { get;}
|
||||
Efl.Gfx.Entity.scale { set; }
|
||||
}
|
||||
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 *
|
||||
_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_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)
|
||||
{
|
||||
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_text);
|
||||
tcase_add_test(tc, efl_canvas_text_cursor);
|
||||
tcase_add_test(tc, efl_canvas_text_markup);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue