Fix namespace clashes for Efl.Text.Cursor

Three renames are applied here:
Efl.Text.Cursor -> Efl.Text_Cursor.Object (class)
Efl.Text.Cursor_Type -> Efl.Text_Cursor.Type (enum)
Efl.Text.Cursor_Move_Type -> Efl.Text_Cursor.Move_Type (enum)

Nothing changes for the enums on the C side. For the class... Well,
the method names are a bit more verbose now.

These renames are required to avoid clashing with the Efl.Text interface.
This did not cause trouble to C# because interfaces are prefixed with "I",
but it did cause trouble to Eolian when the EO files were installed and
somebody tried to use them.
Ref T8648

Differential Revision: https://phab.enlightenment.org/D11663
This commit is contained in:
Xavi Artigas 2020-04-07 11:11:13 +00:00 committed by Marcel Hollerbach
parent 8a155aecb6
commit f526ad8c26
19 changed files with 619 additions and 620 deletions

View File

@ -8,13 +8,13 @@
static void static void
_apply_style(Eo *obj, size_t start_pos, size_t end_pos, const char *style) _apply_style(Eo *obj, size_t start_pos, size_t end_pos, const char *style)
{ {
Efl_Text_Cursor *start, *end; Efl_Text_Cursor_Object *start, *end;
start = efl_ui_textbox_cursor_create(obj); start = efl_ui_textbox_cursor_create(obj);
end = efl_ui_textbox_cursor_create(obj); end = efl_ui_textbox_cursor_create(obj);
efl_text_cursor_position_set(start, start_pos); efl_text_cursor_object_position_set(start, start_pos);
efl_text_cursor_position_set(end, end_pos); efl_text_cursor_object_position_set(end, end_pos);
efl_text_formatter_attribute_insert(start, end, style); efl_text_formatter_attribute_insert(start, end, style);
@ -101,15 +101,15 @@ typedef struct
static void static void
_on_bt3_clicked(void *data, const Efl_Event *event EINA_UNUSED) _on_bt3_clicked(void *data, const Efl_Event *event EINA_UNUSED)
{ {
Efl_Text_Cursor *sel_start, *sel_end; Efl_Text_Cursor_Object *sel_start, *sel_end;
Eo *en = data; Eo *en = data;
efl_text_interactive_selection_cursors_get(en, &sel_start, &sel_end); efl_text_interactive_selection_cursors_get(en, &sel_start, &sel_end);
const char *s = efl_text_cursor_range_text_get(sel_start, sel_end); const char *s = efl_text_cursor_object_range_text_get(sel_start, sel_end);
printf("SELECTION REGION: %d - %d\n", printf("SELECTION REGION: %d - %d\n",
efl_text_cursor_position_get( sel_start), efl_text_cursor_object_position_get( sel_start),
efl_text_cursor_position_get(sel_end)); efl_text_cursor_object_position_get(sel_end));
printf("SELECTION:\n"); printf("SELECTION:\n");
if (s) printf("%s\n", s); if (s) printf("%s\n", s);
} }

View File

@ -13,7 +13,7 @@ interface Efl.Text_Interactive extends Efl.Text, Efl.Text_Font_Properties,
[[The cursor used to insert new text, the one that's visible to the user.]] [[The cursor used to insert new text, the one that's visible to the user.]]
get {} get {}
values { values {
cursor: Efl.Text.Cursor; [[The cursor visible to the user.]] cursor: Efl.Text_Cursor.Object; [[The cursor visible to the user.]]
} }
} }
@property selection_allowed { @property selection_allowed {
@ -34,12 +34,12 @@ interface Efl.Text_Interactive extends Efl.Text, Efl.Text_Font_Properties,
} }
set { set {
[[The positions of passed cursors will be used to set selection cursors positions. [[The positions of passed cursors will be used to set selection cursors positions.
Further modification for passed @Efl.Text.Cursor objects, will not affect selection. Further modification for passed @Efl.Text_Cursor.Object objects, will not affect selection.
Setter is recommended to set new range for selection.]] Setter is recommended to set new range for selection.]]
} }
values { values {
start: Efl.Text.Cursor; [[The start of the selection.]] start: Efl.Text_Cursor.Object; [[The start of the selection.]]
end: Efl.Text.Cursor; [[The end of the selection.]] end: Efl.Text_Cursor.Object; [[The end of the selection.]]
} }
} }
@property editable { @property editable {

View File

@ -13,10 +13,10 @@
typedef struct _Efl_Ui_Internal_Text_Interactive_Data typedef struct _Efl_Ui_Internal_Text_Interactive_Data
{ {
Efl_Text_Cursor *sel_start, *sel_end; Efl_Text_Cursor_Object *sel_start, *sel_end;
Eina_Bool watch_selection; Eina_Bool watch_selection;
Efl_Text_Cursor *main_cursor; Efl_Text_Cursor_Object *main_cursor;
Efl_Text_Cursor *preedit_start, *preedit_end; Efl_Text_Cursor_Object *preedit_start, *preedit_end;
Ecore_Timer *pw_timer; Ecore_Timer *pw_timer;
Eina_List *seq; Eina_List *seq;
char *selection; char *selection;
@ -48,9 +48,9 @@ typedef struct _Efl_Ui_Internal_Text_Interactive_Data
} Efl_Ui_Internal_Text_Interactive_Data; } Efl_Ui_Internal_Text_Interactive_Data;
static void _sel_range_del_emit(Evas_Object *obj, Efl_Ui_Internal_Text_Interactive_Data *en); static void _sel_range_del_emit(Evas_Object *obj, Efl_Ui_Internal_Text_Interactive_Data *en);
static void _sel_init(Efl_Text_Cursor *c, Efl_Ui_Internal_Text_Interactive_Data *en); static void _sel_init(Efl_Text_Cursor_Object *c, Efl_Ui_Internal_Text_Interactive_Data *en);
static void _sel_enable(Evas_Object *o,Efl_Ui_Internal_Text_Interactive_Data *en); static void _sel_enable(Evas_Object *o,Efl_Ui_Internal_Text_Interactive_Data *en);
static void _sel_extend(Efl_Text_Cursor *c, Evas_Object *o, Efl_Ui_Internal_Text_Interactive_Data *en); static void _sel_extend(Efl_Text_Cursor_Object *c, Evas_Object *o, Efl_Ui_Internal_Text_Interactive_Data *en);
static void _sel_clear(Evas_Object *o EINA_UNUSED, Efl_Ui_Internal_Text_Interactive_Data *en); static void _sel_clear(Evas_Object *o EINA_UNUSED, Efl_Ui_Internal_Text_Interactive_Data *en);
static void _emit_sel_state( Eo *o, Efl_Ui_Internal_Text_Interactive_Data *en); static void _emit_sel_state( Eo *o, Efl_Ui_Internal_Text_Interactive_Data *en);
static const char *_entry_selection_get(Efl_Ui_Internal_Text_Interactive *obj, Efl_Ui_Internal_Text_Interactive_Data *en); static const char *_entry_selection_get(Efl_Ui_Internal_Text_Interactive *obj, Efl_Ui_Internal_Text_Interactive_Data *en);
@ -61,33 +61,33 @@ static void _sel_watch_thaw(Efl_Ui_Internal_Text_Interactive_Data *en);
static void static void
_text_filter_format_prepend(Efl_Canvas_Textblock *obj, Efl_Ui_Internal_Text_Interactive_Data *en, _text_filter_format_prepend(Efl_Canvas_Textblock *obj, Efl_Ui_Internal_Text_Interactive_Data *en,
Efl_Text_Cursor *c, const char *text); Efl_Text_Cursor_Object *c, const char *text);
static Efl_Text_Change_Info * static Efl_Text_Change_Info *
_text_filter_text_prepend(Efl_Canvas_Textblock *obj, Efl_Ui_Internal_Text_Interactive_Data *en, _text_filter_text_prepend(Efl_Canvas_Textblock *obj, Efl_Ui_Internal_Text_Interactive_Data *en,
Efl_Text_Cursor *c, Efl_Text_Cursor_Object *c,
const char *text, const char *text,
const char *fmtpre, const char *fmtpost, const char *fmtpre, const char *fmtpost,
Eina_Bool clearsel, Eina_Bool changeinfo); Eina_Bool clearsel, Eina_Bool changeinfo);
static Efl_Text_Change_Info * static Efl_Text_Change_Info *
_text_filter_markup_prepend_internal(Efl_Canvas_Textblock *obj, Efl_Ui_Internal_Text_Interactive_Data *en, _text_filter_markup_prepend_internal(Efl_Canvas_Textblock *obj, Efl_Ui_Internal_Text_Interactive_Data *en,
Efl_Text_Cursor *c, Efl_Text_Cursor_Object *c,
char *text, char *text,
const char *fmtpre, const char *fmtpost, const char *fmtpre, const char *fmtpost,
Eina_Bool clearsel, Eina_Bool changeinfo); Eina_Bool clearsel, Eina_Bool changeinfo);
static Efl_Text_Change_Info * static Efl_Text_Change_Info *
_text_filter_markup_prepend(Efl_Canvas_Textblock *obj, Efl_Ui_Internal_Text_Interactive_Data *en, _text_filter_markup_prepend(Efl_Canvas_Textblock *obj, Efl_Ui_Internal_Text_Interactive_Data *en,
Efl_Text_Cursor *c, Efl_Text_Cursor_Object *c,
const char *text, const char *text,
const char *fmtpre, const char *fmtpost, const char *fmtpre, const char *fmtpost,
Eina_Bool clearsel, Eina_Bool changeinfo); Eina_Bool clearsel, Eina_Bool changeinfo);
static void static void
_cur_pos_copy(Efl_Text_Cursor *src, Efl_Text_Cursor *dest) _cur_pos_copy(Efl_Text_Cursor_Object *src, Efl_Text_Cursor_Object *dest)
{ {
efl_text_cursor_position_set(dest, efl_text_cursor_position_get(src)); efl_text_cursor_object_position_set(dest, efl_text_cursor_object_position_get(src));
} }
static void static void
@ -126,17 +126,17 @@ _preedit_del(Eo *obj EINA_UNUSED, Efl_Ui_Internal_Text_Interactive_Data *en)
{ {
if (!en || !en->have_preedit) return; if (!en || !en->have_preedit) return;
if (!en->preedit_start || !en->preedit_end) return; if (!en->preedit_start || !en->preedit_end) return;
if (efl_text_cursor_equal(en->preedit_start, en->preedit_end)) return; if (efl_text_cursor_object_equal(en->preedit_start, en->preedit_end)) return;
/* delete the preedit characters */ /* delete the preedit characters */
efl_text_cursor_range_delete(en->preedit_start, en->preedit_end); efl_text_cursor_object_range_delete(en->preedit_start, en->preedit_end);
} }
static Eina_Bool static Eina_Bool
_entry_imf_retrieve_surrounding_cb(void *data, Ecore_IMF_Context *ctx EINA_UNUSED, char **text, int *cursor_pos) _entry_imf_retrieve_surrounding_cb(void *data, Ecore_IMF_Context *ctx EINA_UNUSED, char **text, int *cursor_pos)
{ {
Efl_Canvas_Textblock *obj = data; Efl_Canvas_Textblock *obj = data;
Efl_Text_Cursor *cur = efl_text_interactive_main_cursor_get(obj); Efl_Text_Cursor_Object *cur = efl_text_interactive_main_cursor_get(obj);
const char *str; const char *str;
if (text) if (text)
@ -153,7 +153,7 @@ _entry_imf_retrieve_surrounding_cb(void *data, Ecore_IMF_Context *ctx EINA_UNUSE
if (cursor_pos) if (cursor_pos)
{ {
if (cur) if (cur)
*cursor_pos = efl_text_cursor_position_get(cur); *cursor_pos = efl_text_cursor_object_position_get(cur);
else else
*cursor_pos = 0; *cursor_pos = 0;
} }
@ -262,7 +262,7 @@ _entry_imf_event_commit_cb(void *data, Ecore_IMF_Context *ctx EINA_UNUSED, void
static Efl_Text_Change_Info * static Efl_Text_Change_Info *
_text_filter_markup_prepend_internal(Efl_Canvas_Textblock *obj, Efl_Ui_Internal_Text_Interactive_Data *en, _text_filter_markup_prepend_internal(Efl_Canvas_Textblock *obj, Efl_Ui_Internal_Text_Interactive_Data *en,
Efl_Text_Cursor *c, Efl_Text_Cursor_Object *c,
char *text, char *text,
const char *fmtpre, const char *fmtpost, const char *fmtpre, const char *fmtpost,
Eina_Bool clearsel, Eina_Bool changeinfo) Eina_Bool clearsel, Eina_Bool changeinfo)
@ -301,11 +301,11 @@ _text_filter_markup_prepend_internal(Efl_Canvas_Textblock *obj, Efl_Ui_Internal_
info->mergeable = EINA_TRUE; info->mergeable = EINA_TRUE;
} }
info->position = info->position =
efl_text_cursor_position_get(efl_text_interactive_main_cursor_get(obj)); efl_text_cursor_object_position_get(efl_text_interactive_main_cursor_get(obj));
} }
if (fmtpre) _text_filter_format_prepend(obj, en, efl_text_interactive_main_cursor_get(obj), fmtpre); if (fmtpre) _text_filter_format_prepend(obj, en, efl_text_interactive_main_cursor_get(obj), fmtpre);
//evas_object_textblock_text_markup_prepend(c, text); //evas_object_textblock_text_markup_prepend(c, text);
efl_text_cursor_text_insert(c, text); efl_text_cursor_object_text_insert(c, text);
free(text); free(text);
if (fmtpost) _text_filter_format_prepend(obj, en, efl_text_interactive_main_cursor_get(obj), fmtpost); if (fmtpost) _text_filter_format_prepend(obj, en, efl_text_interactive_main_cursor_get(obj), fmtpost);
return info; return info;
@ -315,7 +315,7 @@ _text_filter_markup_prepend_internal(Efl_Canvas_Textblock *obj, Efl_Ui_Internal_
static Efl_Text_Change_Info * static Efl_Text_Change_Info *
_text_filter_markup_prepend(Efl_Canvas_Textblock *obj, Efl_Ui_Internal_Text_Interactive_Data *en, _text_filter_markup_prepend(Efl_Canvas_Textblock *obj, Efl_Ui_Internal_Text_Interactive_Data *en,
Efl_Text_Cursor *c, Efl_Text_Cursor_Object *c,
const char *text, const char *text,
const char *fmtpre, const char *fmtpost, const char *fmtpre, const char *fmtpost,
Eina_Bool clearsel, Eina_Bool changeinfo) Eina_Bool clearsel, Eina_Bool changeinfo)
@ -344,7 +344,7 @@ _text_filter_markup_prepend(Efl_Canvas_Textblock *obj, Efl_Ui_Internal_Text_Inte
static Efl_Text_Change_Info * static Efl_Text_Change_Info *
_text_filter_text_prepend(Efl_Canvas_Textblock *obj, Efl_Ui_Internal_Text_Interactive_Data *en, _text_filter_text_prepend(Efl_Canvas_Textblock *obj, Efl_Ui_Internal_Text_Interactive_Data *en,
Efl_Text_Cursor *c, Efl_Text_Cursor_Object *c,
const char *text, const char *text,
const char *fmtpre, const char *fmtpost, const char *fmtpre, const char *fmtpost,
Eina_Bool clearsel, Eina_Bool changeinfo) Eina_Bool clearsel, Eina_Bool changeinfo)
@ -369,7 +369,7 @@ _text_filter_text_prepend(Efl_Canvas_Textblock *obj, Efl_Ui_Internal_Text_Intera
static void static void
_text_filter_format_prepend(Efl_Canvas_Textblock *obj, Efl_Ui_Internal_Text_Interactive_Data *en, _text_filter_format_prepend(Efl_Canvas_Textblock *obj, Efl_Ui_Internal_Text_Interactive_Data *en,
Efl_Text_Cursor *c, const char *text) Efl_Text_Cursor_Object *c, const char *text)
{ {
EINA_SAFETY_ON_NULL_RETURN(text); EINA_SAFETY_ON_NULL_RETURN(text);
@ -443,7 +443,7 @@ static void
_entry_imf_event_preedit_changed_cb(void *data, Ecore_IMF_Context *ctx EINA_UNUSED, void *event_info EINA_UNUSED) _entry_imf_event_preedit_changed_cb(void *data, Ecore_IMF_Context *ctx EINA_UNUSED, void *event_info EINA_UNUSED)
{ {
Efl_Canvas_Textblock *obj = data; Efl_Canvas_Textblock *obj = data;
Efl_Text_Cursor *cur = efl_text_interactive_main_cursor_get(obj); Efl_Text_Cursor_Object *cur = efl_text_interactive_main_cursor_get(obj);
Efl_Ui_Internal_Text_Interactive_Data *en = efl_data_scope_get(obj, MY_CLASS); Efl_Ui_Internal_Text_Interactive_Data *en = efl_data_scope_get(obj, MY_CLASS);
Efl_Text_Change_Info *info = NULL; Efl_Text_Change_Info *info = NULL;
int cursor_pos; int cursor_pos;
@ -482,7 +482,7 @@ _entry_imf_event_preedit_changed_cb(void *data, Ecore_IMF_Context *ctx EINA_UNUS
/* delete preedit characters */ /* delete preedit characters */
_preedit_del(obj, en); _preedit_del(obj, en);
preedit_start_pos = efl_text_cursor_position_get(cur); preedit_start_pos = efl_text_cursor_object_position_get(cur);
/* insert preedit character(s) */ /* insert preedit character(s) */
if (strlen(preedit_string) > 0) if (strlen(preedit_string) > 0)
@ -552,17 +552,17 @@ _entry_imf_event_preedit_changed_cb(void *data, Ecore_IMF_Context *ctx EINA_UNUS
en->preedit_end = efl_canvas_textblock_cursor_create(obj); en->preedit_end = efl_canvas_textblock_cursor_create(obj);
_cur_pos_copy(cur, en->preedit_end); _cur_pos_copy(cur, en->preedit_end);
preedit_end_pos = efl_text_cursor_position_get(cur); preedit_end_pos = efl_text_cursor_object_position_get(cur);
for (i = 0; i < (preedit_end_pos - preedit_start_pos); i++) for (i = 0; i < (preedit_end_pos - preedit_start_pos); i++)
{ {
efl_text_cursor_move(en->preedit_start, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_PREVIOUS); efl_text_cursor_object_move(en->preedit_start, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_PREVIOUS);
} }
en->have_preedit = EINA_TRUE; en->have_preedit = EINA_TRUE;
/* set cursor position */ /* set cursor position */
efl_text_cursor_position_set(cur, preedit_start_pos + cursor_pos); efl_text_cursor_object_position_set(cur, preedit_start_pos + cursor_pos);
} }
if (info) if (info)
@ -588,35 +588,35 @@ static void
_entry_imf_event_delete_surrounding_cb(void *data, Ecore_IMF_Context *ctx EINA_UNUSED, void *event_info) _entry_imf_event_delete_surrounding_cb(void *data, Ecore_IMF_Context *ctx EINA_UNUSED, void *event_info)
{ {
Efl_Canvas_Textblock *obj = data; Efl_Canvas_Textblock *obj = data;
Efl_Text_Cursor *cur = efl_text_interactive_main_cursor_get(obj); Efl_Text_Cursor_Object *cur = efl_text_interactive_main_cursor_get(obj);
Efl_Ui_Internal_Text_Interactive_Data *en = efl_data_scope_get(obj, MY_CLASS); Efl_Ui_Internal_Text_Interactive_Data *en = efl_data_scope_get(obj, MY_CLASS);
Ecore_IMF_Event_Delete_Surrounding *ev = event_info; Ecore_IMF_Event_Delete_Surrounding *ev = event_info;
Efl_Text_Cursor *del_start, *del_end; Efl_Text_Cursor_Object *del_start, *del_end;
Efl_Text_Change_Info info = { NULL, 0, 0, 0, 0 }; Efl_Text_Change_Info info = { NULL, 0, 0, 0, 0 };
int cursor_pos; int cursor_pos;
int start, end; int start, end;
char *tmp; char *tmp;
cursor_pos = efl_text_cursor_position_get(cur); cursor_pos = efl_text_cursor_object_position_get(cur);
del_start = efl_canvas_textblock_cursor_create(obj); del_start = efl_canvas_textblock_cursor_create(obj);
efl_text_cursor_position_set(del_start, cursor_pos + ev->offset); efl_text_cursor_object_position_set(del_start, cursor_pos + ev->offset);
del_end = efl_canvas_textblock_cursor_create(obj); del_end = efl_canvas_textblock_cursor_create(obj);
efl_text_cursor_position_set(del_end, cursor_pos + ev->offset + ev->n_chars); efl_text_cursor_object_position_set(del_end, cursor_pos + ev->offset + ev->n_chars);
start = efl_text_cursor_position_get(del_start); start = efl_text_cursor_object_position_get(del_start);
end = efl_text_cursor_position_get(del_end); end = efl_text_cursor_object_position_get(del_end);
if (start == end) goto end; if (start == end) goto end;
tmp = efl_text_cursor_range_text_get(del_start, del_end); tmp = efl_text_cursor_object_range_text_get(del_start, del_end);
info.type = EFL_TEXT_CHANGE_TYPE_REMOVE; info.type = EFL_TEXT_CHANGE_TYPE_REMOVE;
info.position = start; info.position = start;
info.length = end - start; info.length = end - start;
info.content = tmp; info.content = tmp;
efl_text_cursor_range_delete(del_start, del_end); efl_text_cursor_object_range_delete(del_start, del_end);
efl_event_callback_call(obj, EFL_TEXT_INTERACTIVE_EVENT_CHANGED_USER, &info); efl_event_callback_call(obj, EFL_TEXT_INTERACTIVE_EVENT_CHANGED_USER, &info);
free(tmp); free(tmp);
@ -632,21 +632,21 @@ static void
_entry_imf_event_selection_set_cb(void *data, Ecore_IMF_Context *ctx EINA_UNUSED, void *event_info) _entry_imf_event_selection_set_cb(void *data, Ecore_IMF_Context *ctx EINA_UNUSED, void *event_info)
{ {
Efl_Canvas_Textblock *obj = data; Efl_Canvas_Textblock *obj = data;
Efl_Text_Cursor *cur = efl_text_interactive_main_cursor_get(obj); Efl_Text_Cursor_Object *cur = efl_text_interactive_main_cursor_get(obj);
Efl_Ui_Internal_Text_Interactive_Data *en = efl_data_scope_get(obj, MY_CLASS); Efl_Ui_Internal_Text_Interactive_Data *en = efl_data_scope_get(obj, MY_CLASS);
Ecore_IMF_Event_Selection *ev = event_info; Ecore_IMF_Event_Selection *ev = event_info;
if (ev->start == ev->end) if (ev->start == ev->end)
{ {
efl_text_cursor_position_set(cur, ev->start); efl_text_cursor_object_position_set(cur, ev->start);
} }
else else
{ {
_sel_clear(obj, en); _sel_clear(obj, en);
efl_text_cursor_position_set(cur, ev->start); efl_text_cursor_object_position_set(cur, ev->start);
_sel_enable(obj, en); _sel_enable(obj, en);
_sel_init(cur, en); _sel_init(cur, en);
efl_text_cursor_position_set(cur, ev->end); efl_text_cursor_object_position_set(cur, ev->end);
_sel_extend(cur, obj, en); _sel_extend(cur, obj, en);
} }
} }
@ -680,7 +680,7 @@ _entry_imf_cursor_location_set(Efl_Ui_Internal_Text_Interactive_Data *en)
Eina_Rect rect; Eina_Rect rect;
if (!en->imf_context) return; if (!en->imf_context) return;
rect = efl_text_cursor_geometry_get(en->main_cursor ,EFL_TEXT_CURSOR_TYPE_BEFORE); rect = efl_text_cursor_object_cursor_geometry_get(en->main_cursor ,EFL_TEXT_CURSOR_TYPE_BEFORE);
ecore_imf_context_cursor_location_set(en->imf_context, rect.x, rect.y, rect.w, rect.h); ecore_imf_context_cursor_location_set(en->imf_context, rect.x, rect.y, rect.w, rect.h);
// FIXME: ecore_imf_context_bidi_direction_set(en->imf_context, (Ecore_IMF_BiDi_Direction)dir); // FIXME: ecore_imf_context_bidi_direction_set(en->imf_context, (Ecore_IMF_BiDi_Direction)dir);
#else #else
@ -698,13 +698,13 @@ _entry_imf_cursor_info_set(Efl_Ui_Internal_Text_Interactive_Data *en)
if (en->have_selection) if (en->have_selection)
{ {
if (efl_text_cursor_compare(en->sel_start, en->sel_end) < 0) if (efl_text_cursor_object_compare(en->sel_start, en->sel_end) < 0)
cursor_pos = efl_text_cursor_position_get(en->sel_start); cursor_pos = efl_text_cursor_object_position_get(en->sel_start);
else else
cursor_pos = efl_text_cursor_position_get(en->sel_end); cursor_pos = efl_text_cursor_object_position_get(en->sel_end);
} }
else else
cursor_pos = efl_text_cursor_position_get(en->main_cursor); cursor_pos = efl_text_cursor_object_position_get(en->main_cursor);
ecore_imf_context_cursor_position_set(en->imf_context, cursor_pos); ecore_imf_context_cursor_position_set(en->imf_context, cursor_pos);
@ -758,7 +758,7 @@ static const char *
_entry_selection_get(Efl_Ui_Internal_Text_Interactive *obj EINA_UNUSED, Efl_Ui_Internal_Text_Interactive_Data *en) _entry_selection_get(Efl_Ui_Internal_Text_Interactive *obj EINA_UNUSED, Efl_Ui_Internal_Text_Interactive_Data *en)
{ {
if ((!en->selection) && (en->have_selection)) if ((!en->selection) && (en->have_selection))
en->selection = efl_text_cursor_range_text_get(en->sel_start, en->sel_end); en->selection = efl_text_cursor_object_range_text_get(en->sel_start, en->sel_end);
return en->selection; return en->selection;
} }
@ -768,12 +768,12 @@ _sel_reset(Eo *obj, Efl_Ui_Internal_Text_Interactive_Data *en){
if (!en->watch_selection) if (!en->watch_selection)
return; return;
if (!en->have_selection && efl_text_cursor_equal(en->sel_start, en->sel_end)) if (!en->have_selection && efl_text_cursor_object_equal(en->sel_start, en->sel_end))
return; return;
if (en->have_selection) if (en->have_selection)
{ {
if (efl_text_cursor_equal(en->sel_start, en->sel_end)) if (efl_text_cursor_object_equal(en->sel_start, en->sel_end))
{ {
_sel_clear(obj, en); _sel_clear(obj, en);
} }
@ -790,7 +790,7 @@ _sel_reset(Eo *obj, Efl_Ui_Internal_Text_Interactive_Data *en){
} }
else else
{ {
if (!efl_text_cursor_equal(en->sel_start, en->sel_end)) if (!efl_text_cursor_object_equal(en->sel_start, en->sel_end))
{ {
_sel_enable(obj, en); _sel_enable(obj, en);
_entry_imf_cursor_info_set(en); _entry_imf_cursor_info_set(en);
@ -817,7 +817,7 @@ _sel_cursor_changed(void *data EINA_UNUSED, const Efl_Event *event EINA_UNUSED)
} }
static void static void
_sel_init(Efl_Text_Cursor *c, Efl_Ui_Internal_Text_Interactive_Data *en) _sel_init(Efl_Text_Cursor_Object *c, Efl_Ui_Internal_Text_Interactive_Data *en)
{ {
if (en->have_selection) if (en->have_selection)
return; return;
@ -854,23 +854,23 @@ _sel_enable(Eo *o, Efl_Ui_Internal_Text_Interactive_Data *en)
static void static void
_emit_sel_state( Eo *o, Efl_Ui_Internal_Text_Interactive_Data *en) _emit_sel_state( Eo *o, Efl_Ui_Internal_Text_Interactive_Data *en)
{ {
if (!efl_text_cursor_compare(en->sel_start, en->sel_end)) if (!efl_text_cursor_object_compare(en->sel_start, en->sel_end))
{ {
_sel_clear(o, en); _sel_clear(o, en);
} }
else else
{ {
Eina_Range range = eina_range_from_to(efl_text_cursor_position_get(en->sel_start), Eina_Range range = eina_range_from_to(efl_text_cursor_object_position_get(en->sel_start),
efl_text_cursor_position_get(en->sel_end)); efl_text_cursor_object_position_get(en->sel_end));
efl_event_callback_call(o, EFL_TEXT_INTERACTIVE_EVENT_SELECTION_CHANGED, &range); efl_event_callback_call(o, EFL_TEXT_INTERACTIVE_EVENT_SELECTION_CHANGED, &range);
} }
} }
static void static void
_sel_extend(Efl_Text_Cursor *c, Evas_Object *o, Efl_Ui_Internal_Text_Interactive_Data *en) _sel_extend(Efl_Text_Cursor_Object *c, Evas_Object *o, Efl_Ui_Internal_Text_Interactive_Data *en)
{ {
_sel_enable(o, en); _sel_enable(o, en);
if (efl_text_cursor_equal(c, en->sel_end)) return; if (efl_text_cursor_object_equal(c, en->sel_end)) return;
_sel_watch_freeze(en); _sel_watch_freeze(en);
_cur_pos_copy(c, en->sel_end); _cur_pos_copy(c, en->sel_end);
@ -919,7 +919,7 @@ _efl_ui_internal_text_interactive_efl_text_interactive_have_selection_get(
const Eo *obj EINA_UNUSED, Efl_Ui_Internal_Text_Interactive_Data *en) const Eo *obj EINA_UNUSED, Efl_Ui_Internal_Text_Interactive_Data *en)
{ {
if (!en->have_selection) return en->have_selection; if (!en->have_selection) return en->have_selection;
return !efl_text_cursor_equal(en->sel_start, en->sel_end); return !efl_text_cursor_object_equal(en->sel_start, en->sel_end);
} }
@ -933,8 +933,8 @@ _efl_ui_internal_text_interactive_efl_text_interactive_all_select(
Eo *c1 = efl_canvas_textblock_cursor_create(obj); Eo *c1 = efl_canvas_textblock_cursor_create(obj);
Eo *c2 = efl_canvas_textblock_cursor_create(obj); Eo *c2 = efl_canvas_textblock_cursor_create(obj);
efl_text_cursor_move(c1, EFL_TEXT_CURSOR_MOVE_TYPE_FIRST); efl_text_cursor_object_move(c1, EFL_TEXT_CURSOR_MOVE_TYPE_FIRST);
efl_text_cursor_move(c2, EFL_TEXT_CURSOR_MOVE_TYPE_LAST); efl_text_cursor_object_move(c2, EFL_TEXT_CURSOR_MOVE_TYPE_LAST);
efl_text_interactive_selection_cursors_set(obj, c1, c2); efl_text_interactive_selection_cursors_set(obj, c1, c2);
@ -944,14 +944,14 @@ _efl_ui_internal_text_interactive_efl_text_interactive_all_select(
static void static void
_range_del_emit(Evas_Object *obj, Efl_Text_Cursor *cur1, Efl_Text_Cursor *cur2) _range_del_emit(Evas_Object *obj, Efl_Text_Cursor_Object *cur1, Efl_Text_Cursor_Object *cur2)
{ {
size_t start, end; size_t start, end;
char *tmp; char *tmp;
Efl_Text_Change_Info info = { NULL, 0, 0, 0, 0 }; Efl_Text_Change_Info info = { NULL, 0, 0, 0, 0 };
start = efl_text_cursor_position_get(cur1); start = efl_text_cursor_object_position_get(cur1);
end = efl_text_cursor_position_get(cur2); end = efl_text_cursor_object_position_get(cur2);
if (start == end) if (start == end)
return; return;
@ -959,10 +959,10 @@ _range_del_emit(Evas_Object *obj, Efl_Text_Cursor *cur1, Efl_Text_Cursor *cur2)
info.position = start; info.position = start;
info.length = end - start; info.length = end - start;
tmp = efl_text_cursor_range_text_get(cur1, cur2); tmp = efl_text_cursor_object_range_text_get(cur1, cur2);
info.content = tmp; info.content = tmp;
efl_text_cursor_range_delete(cur1, cur2); efl_text_cursor_object_range_delete(cur1, cur2);
efl_event_callback_call(obj, EFL_TEXT_INTERACTIVE_EVENT_CHANGED_USER, &info); efl_event_callback_call(obj, EFL_TEXT_INTERACTIVE_EVENT_CHANGED_USER, &info);
if (tmp) free(tmp); if (tmp) free(tmp);
@ -976,25 +976,25 @@ _sel_range_del_emit(Evas_Object *obj, Efl_Ui_Internal_Text_Interactive_Data *en)
} }
static void static void
_delete_emit(Eo *obj, Efl_Text_Cursor *c, Efl_Ui_Internal_Text_Interactive_Data *en EINA_UNUSED, size_t pos, _delete_emit(Eo *obj, Efl_Text_Cursor_Object *c, Efl_Ui_Internal_Text_Interactive_Data *en EINA_UNUSED, size_t pos,
Eina_Bool backspace) Eina_Bool backspace)
{ {
Eo * cur = efl_duplicate(c); Eo * cur = efl_duplicate(c);
if (backspace) if (backspace)
{ {
if (!efl_text_cursor_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_PREVIOUS)) if (!efl_text_cursor_object_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_PREVIOUS))
{ {
return; return;
} }
efl_text_cursor_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_NEXT); efl_text_cursor_object_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_NEXT);
} }
else else
{ {
if (!efl_text_cursor_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_NEXT)) if (!efl_text_cursor_object_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_NEXT))
{ {
return; return;
} }
efl_text_cursor_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_PREVIOUS); efl_text_cursor_object_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_PREVIOUS);
} }
efl_del(cur); efl_del(cur);
cur = NULL; cur = NULL;
@ -1006,7 +1006,7 @@ _delete_emit(Eo *obj, Efl_Text_Cursor *c, Efl_Ui_Internal_Text_Interactive_Data
{ {
Evas_Textblock_Cursor *cc = evas_object_textblock_cursor_new(obj); Evas_Textblock_Cursor *cc = evas_object_textblock_cursor_new(obj);
evas_textblock_cursor_copy(efl_text_cursor_handle_get(c), cc); evas_textblock_cursor_copy(efl_text_cursor_object_handle_get(c), cc);
Eina_Bool remove_cluster = evas_textblock_cursor_at_cluster_as_single_glyph(cc,EINA_FALSE); Eina_Bool remove_cluster = evas_textblock_cursor_at_cluster_as_single_glyph(cc,EINA_FALSE);
if (remove_cluster) if (remove_cluster)
{ {
@ -1020,14 +1020,14 @@ _delete_emit(Eo *obj, Efl_Text_Cursor *c, Efl_Ui_Internal_Text_Interactive_Data
info.position = evas_textblock_cursor_pos_get(cc); info.position = evas_textblock_cursor_pos_get(cc);
info.length = pos -info.position; info.length = pos -info.position;
tmp = evas_textblock_cursor_range_text_get(efl_text_cursor_handle_get(c), cc, EVAS_TEXTBLOCK_TEXT_MARKUP); tmp = evas_textblock_cursor_range_text_get(efl_text_cursor_object_handle_get(c), cc, EVAS_TEXTBLOCK_TEXT_MARKUP);
evas_textblock_cursor_range_delete(efl_text_cursor_handle_get(c), cc); evas_textblock_cursor_range_delete(efl_text_cursor_object_handle_get(c), cc);
evas_textblock_cursor_free(cc); evas_textblock_cursor_free(cc);
} }
else else
{ {
Evas_Textblock_Cursor *cc = evas_object_textblock_cursor_new(obj); Evas_Textblock_Cursor *cc = evas_object_textblock_cursor_new(obj);
evas_textblock_cursor_copy(efl_text_cursor_handle_get(c), cc); evas_textblock_cursor_copy(efl_text_cursor_object_handle_get(c), cc);
Eina_Bool remove_cluster = evas_textblock_cursor_at_cluster_as_single_glyph(cc,EINA_TRUE); Eina_Bool remove_cluster = evas_textblock_cursor_at_cluster_as_single_glyph(cc,EINA_TRUE);
if (remove_cluster) if (remove_cluster)
@ -1042,8 +1042,8 @@ _delete_emit(Eo *obj, Efl_Text_Cursor *c, Efl_Ui_Internal_Text_Interactive_Data
info.position = pos; info.position = pos;
info.length = evas_textblock_cursor_pos_get(cc) - info.position; info.length = evas_textblock_cursor_pos_get(cc) - info.position;
tmp = evas_textblock_cursor_range_text_get(efl_text_cursor_handle_get(c), cc, EVAS_TEXTBLOCK_TEXT_MARKUP); tmp = evas_textblock_cursor_range_text_get(efl_text_cursor_object_handle_get(c), cc, EVAS_TEXTBLOCK_TEXT_MARKUP);
evas_textblock_cursor_range_delete(efl_text_cursor_handle_get(c), cc); evas_textblock_cursor_range_delete(efl_text_cursor_object_handle_get(c), cc);
evas_textblock_cursor_free(cc); evas_textblock_cursor_free(cc);
} }
@ -1087,7 +1087,7 @@ _compose_seq_reset(Efl_Ui_Internal_Text_Interactive_Data *en)
* movement_forward: if the movement we are going to do is forward (towards the end of the textblock) * movement_forward: if the movement we are going to do is forward (towards the end of the textblock)
*/ */
static void static void
_key_down_sel_pre(Efl_Ui_Internal_Text_Interactive *obj, Efl_Text_Cursor *cur, Efl_Ui_Internal_Text_Interactive_Data *en, Eina_Bool shift, Eina_Bool movement_forward) _key_down_sel_pre(Efl_Ui_Internal_Text_Interactive *obj, Efl_Text_Cursor_Object *cur, Efl_Ui_Internal_Text_Interactive_Data *en, Eina_Bool shift, Eina_Bool movement_forward)
{ {
if (en->select_allow) if (en->select_allow)
{ {
@ -1097,7 +1097,7 @@ _key_down_sel_pre(Efl_Ui_Internal_Text_Interactive *obj, Efl_Text_Cursor *cur, E
} }
else if (en->have_selection) else if (en->have_selection)
{ {
Eina_Bool sel_forward = efl_text_cursor_compare(en->sel_start, en->sel_end); Eina_Bool sel_forward = efl_text_cursor_object_compare(en->sel_start, en->sel_end);
if ((sel_forward && movement_forward) || (!sel_forward && !movement_forward)) if ((sel_forward && movement_forward) || (!sel_forward && !movement_forward))
_cur_pos_copy(en->sel_end, cur); _cur_pos_copy(en->sel_end, cur);
else else
@ -1109,7 +1109,7 @@ _key_down_sel_pre(Efl_Ui_Internal_Text_Interactive *obj, Efl_Text_Cursor *cur, E
} }
static void static void
_key_down_sel_post(Efl_Ui_Internal_Text_Interactive *obj, Efl_Text_Cursor *cur, Efl_Ui_Internal_Text_Interactive_Data *en, Eina_Bool shift) _key_down_sel_post(Efl_Ui_Internal_Text_Interactive *obj, Efl_Text_Cursor_Object *cur, Efl_Ui_Internal_Text_Interactive_Data *en, Eina_Bool shift)
{ {
if (en->select_allow) if (en->select_allow)
{ {
@ -1122,7 +1122,7 @@ static void
_key_down_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_info) _key_down_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj, void *event_info)
{ {
Evas_Event_Key_Down *ev = event_info; Evas_Event_Key_Down *ev = event_info;
Efl_Text_Cursor *cur; Efl_Text_Cursor_Object *cur;
Eina_Bool control, alt, shift; Eina_Bool control, alt, shift;
#if defined(__APPLE__) && defined(__MACH__) #if defined(__APPLE__) && defined(__MACH__)
Eina_Bool super, altgr; Eina_Bool super, altgr;
@ -1162,7 +1162,7 @@ _key_down_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj, void
#endif #endif
cur = efl_text_interactive_main_cursor_get(obj); cur = efl_text_interactive_main_cursor_get(obj);
old_cur_pos = efl_text_cursor_position_get(cur); old_cur_pos = efl_text_cursor_object_position_get(cur);
if (old_cur_pos < 0) return; if (old_cur_pos < 0) return;
control = evas_key_modifier_is_set(ev->modifiers, "Control"); control = evas_key_modifier_is_set(ev->modifiers, "Control");
@ -1217,7 +1217,7 @@ _key_down_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj, void
if (efl_text_interactive_have_selection_get(obj)) if (efl_text_interactive_have_selection_get(obj))
ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
if (efl_text_cursor_line_jump_by(cur, -1)) if (efl_text_cursor_object_line_jump_by(cur, -1))
ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
_key_down_sel_post(obj, cur, en, shift); _key_down_sel_post(obj, cur, en, shift);
@ -1233,7 +1233,7 @@ _key_down_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj, void
if (efl_text_interactive_have_selection_get(obj)) if (efl_text_interactive_have_selection_get(obj))
ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
if (efl_text_cursor_line_jump_by(cur, 1)) if (efl_text_cursor_object_line_jump_by(cur, 1))
ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
_key_down_sel_post(obj, cur, en, shift); _key_down_sel_post(obj, cur, en, shift);
@ -1246,14 +1246,14 @@ _key_down_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj, void
_key_down_sel_pre(obj, cur, en, shift, EINA_FALSE); _key_down_sel_pre(obj, cur, en, shift, EINA_FALSE);
#if defined(__APPLE__) && defined(__MACH__) #if defined(__APPLE__) && defined(__MACH__)
if (altgr) efl_text_cursor_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_START); if (altgr) efl_text_cursor_object_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_START);
#else #else
/* If control is pressed, go to the start of the word */ /* If control is pressed, go to the start of the word */
if (control) efl_text_cursor_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_START); if (control) efl_text_cursor_object_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_START);
#endif #endif
if (efl_text_interactive_have_selection_get(obj)) if (efl_text_interactive_have_selection_get(obj))
ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
if (efl_text_cursor_move(cur,EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_PREVIOUS)) if (efl_text_cursor_object_move(cur,EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_PREVIOUS))
ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
_key_down_sel_post(obj, cur, en, shift); _key_down_sel_post(obj, cur, en, shift);
@ -1265,14 +1265,14 @@ _key_down_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj, void
_key_down_sel_pre(obj, cur, en, shift, EINA_TRUE); _key_down_sel_pre(obj, cur, en, shift, EINA_TRUE);
#if defined(__APPLE__) && defined(__MACH__) #if defined(__APPLE__) && defined(__MACH__)
if (altgr) efl_text_cursor_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_END); if (altgr) efl_text_cursor_object_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_END);
#else #else
/* If control is pressed, go to the end of the word */ /* If control is pressed, go to the end of the word */
if (control) efl_text_cursor_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_END); if (control) efl_text_cursor_object_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_END);
#endif #endif
if (efl_text_interactive_have_selection_get(obj)) if (efl_text_interactive_have_selection_get(obj))
ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
if (efl_text_cursor_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_NEXT)) if (efl_text_cursor_object_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_NEXT))
ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
_key_down_sel_post(obj, cur, en, shift); _key_down_sel_post(obj, cur, en, shift);
@ -1283,10 +1283,10 @@ _key_down_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj, void
if (control && !en->have_selection) if (control && !en->have_selection)
{ {
// del to start of previous word // del to start of previous word
Efl_Text_Cursor *tc = efl_canvas_textblock_cursor_create(obj); Efl_Text_Cursor_Object *tc = efl_canvas_textblock_cursor_create(obj);
_cur_pos_copy(cur, tc); _cur_pos_copy(cur, tc);
efl_text_cursor_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_PREVIOUS); efl_text_cursor_object_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_PREVIOUS);
efl_text_cursor_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_START); efl_text_cursor_object_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_START);
_range_del_emit(obj, cur, tc); _range_del_emit(obj, cur, tc);
@ -1317,11 +1317,11 @@ _key_down_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj, void
if (control) if (control)
{ {
// del to end of next word // del to end of next word
Efl_Text_Cursor *tc = efl_canvas_textblock_cursor_create(obj); Efl_Text_Cursor_Object *tc = efl_canvas_textblock_cursor_create(obj);
_cur_pos_copy(cur, tc); _cur_pos_copy(cur, tc);
efl_text_cursor_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_END); efl_text_cursor_object_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_END);
efl_text_cursor_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_NEXT); efl_text_cursor_object_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_NEXT);
_range_del_emit(obj, cur, tc); _range_del_emit(obj, cur, tc);
@ -1354,9 +1354,9 @@ _key_down_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj, void
_key_down_sel_pre(obj, cur, en, shift, EINA_FALSE); _key_down_sel_pre(obj, cur, en, shift, EINA_FALSE);
if ((control) && (multiline)) if ((control) && (multiline))
efl_text_cursor_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_FIRST); efl_text_cursor_object_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_FIRST);
else else
efl_text_cursor_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_START); efl_text_cursor_object_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_START);
_key_down_sel_post(obj, cur, en, shift); _key_down_sel_post(obj, cur, en, shift);
ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
@ -1369,9 +1369,9 @@ _key_down_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj, void
_key_down_sel_pre(obj, cur, en, shift, EINA_TRUE); _key_down_sel_pre(obj, cur, en, shift, EINA_TRUE);
if ((control) && (multiline)) if ((control) && (multiline))
efl_text_cursor_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_LAST); efl_text_cursor_object_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_LAST);
else else
efl_text_cursor_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_END); efl_text_cursor_object_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_END);
_key_down_sel_post(obj, cur, en, shift); _key_down_sel_post(obj, cur, en, shift);
ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
@ -1444,7 +1444,7 @@ _key_down_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj, void
_compose_seq_reset(en); _compose_seq_reset(en);
_key_down_sel_pre(obj, cur, en, shift, EINA_FALSE); _key_down_sel_pre(obj, cur, en, shift, EINA_FALSE);
efl_text_cursor_line_jump_by(cur, -10); efl_text_cursor_object_line_jump_by(cur, -10);
_key_down_sel_post(obj, cur, en, shift); _key_down_sel_post(obj, cur, en, shift);
ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
@ -1455,7 +1455,7 @@ _key_down_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj, void
_compose_seq_reset(en); _compose_seq_reset(en);
_key_down_sel_pre(obj, cur, en, shift, EINA_TRUE); _key_down_sel_pre(obj, cur, en, shift, EINA_TRUE);
efl_text_cursor_line_jump_by(cur, 10); efl_text_cursor_object_line_jump_by(cur, 10);
_key_down_sel_post(obj, cur, en, shift); _key_down_sel_post(obj, cur, en, shift);
ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
@ -1533,10 +1533,10 @@ _key_down_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj, void
} }
info.type = EFL_TEXT_CHANGE_TYPE_INSERT; info.type = EFL_TEXT_CHANGE_TYPE_INSERT;
info.content = string; info.content = string;
info.position = efl_text_cursor_position_get(cur); info.position = efl_text_cursor_object_position_get(cur);
info.length = eina_unicode_utf8_get_len(string); info.length = eina_unicode_utf8_get_len(string);
efl_text_cursor_text_insert(cur, string); efl_text_cursor_object_text_insert(cur, string);
changed_user = EINA_TRUE; changed_user = EINA_TRUE;
ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD; ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
@ -1553,12 +1553,12 @@ end:
} }
static void static void
_cursor_char_coord_set(Efl_Canvas_Textblock *obj, Efl_Text_Cursor *cur, Evas_Coord canvasx, Evas_Coord canvasy, Evas_Coord *_cx, Evas_Coord *_cy) _cursor_char_coord_set(Efl_Canvas_Textblock *obj, Efl_Text_Cursor_Object *cur, Evas_Coord canvasx, Evas_Coord canvasy, Evas_Coord *_cx, Evas_Coord *_cy)
{ {
Evas_Coord cx, cy; Evas_Coord cx, cy;
Evas_Coord x, y, lh = 0, cly = 0; Evas_Coord x, y, lh = 0, cly = 0;
Efl_Text_Cursor *line_cur; Efl_Text_Cursor_Object *line_cur;
Efl_Text_Cursor *tc; Efl_Text_Cursor_Object *tc;
tc = efl_canvas_textblock_cursor_create(obj); tc = efl_canvas_textblock_cursor_create(obj);
_cur_pos_copy(cur, tc); _cur_pos_copy(cur, tc);
@ -1567,15 +1567,15 @@ _cursor_char_coord_set(Efl_Canvas_Textblock *obj, Efl_Text_Cursor *cur, Evas_Coo
cy = canvasy - y; cy = canvasy - y;
line_cur = efl_canvas_textblock_cursor_create(obj); line_cur = efl_canvas_textblock_cursor_create(obj);
efl_text_cursor_move(line_cur, EFL_TEXT_CURSOR_MOVE_TYPE_LAST); efl_text_cursor_object_move(line_cur, EFL_TEXT_CURSOR_MOVE_TYPE_LAST);
evas_textblock_cursor_line_geometry_get(efl_text_cursor_handle_get(line_cur), NULL, &cly, NULL, &lh); evas_textblock_cursor_line_geometry_get(efl_text_cursor_object_handle_get(line_cur), NULL, &cly, NULL, &lh);
/* Consider a threshold of half the line height */ /* Consider a threshold of half the line height */
if (cy > (cly + lh) && cy < (cly + lh + lh / 2)) if (cy > (cly + lh) && cy < (cly + lh + lh / 2))
{ {
cy = cly + lh - 1; // Make it inside Textblock cy = cly + lh - 1; // Make it inside Textblock
} }
efl_text_cursor_move(line_cur, EFL_TEXT_CURSOR_MOVE_TYPE_FIRST); efl_text_cursor_object_move(line_cur, EFL_TEXT_CURSOR_MOVE_TYPE_FIRST);
evas_textblock_cursor_line_geometry_get(efl_text_cursor_handle_get(line_cur), NULL, &cly, NULL, NULL); evas_textblock_cursor_line_geometry_get(efl_text_cursor_object_handle_get(line_cur), NULL, &cly, NULL, NULL);
if (cy < cly && cy > (cly - lh / 2)) if (cy < cly && cy > (cly - lh / 2))
{ {
@ -1584,7 +1584,7 @@ _cursor_char_coord_set(Efl_Canvas_Textblock *obj, Efl_Text_Cursor *cur, Evas_Coo
efl_del(line_cur); efl_del(line_cur);
/* No need to check return value if not able to set the char coord Textblock /* No need to check return value if not able to set the char coord Textblock
* will take care */ * will take care */
efl_text_cursor_char_coord_set(cur, EINA_POSITION2D(cx, cy)); efl_text_cursor_object_char_coord_set(cur, EINA_POSITION2D(cx, cy));
if (_cx) *_cx = cx; if (_cx) *_cx = cx;
if (_cy) *_cy = cy; if (_cy) *_cy = cy;
} }
@ -1595,8 +1595,8 @@ _mouse_down_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj EIN
Evas_Coord cx, cy; Evas_Coord cx, cy;
Evas_Event_Mouse_Down *ev = event_info; Evas_Event_Mouse_Down *ev = event_info;
Efl_Ui_Internal_Text_Interactive_Data *en = efl_data_scope_get(obj, MY_CLASS); Efl_Ui_Internal_Text_Interactive_Data *en = efl_data_scope_get(obj, MY_CLASS);
Efl_Text_Cursor *cur = efl_text_interactive_main_cursor_get(obj); Efl_Text_Cursor_Object *cur = efl_text_interactive_main_cursor_get(obj);
Efl_Text_Cursor *tc = NULL; Efl_Text_Cursor_Object *tc = NULL;
Eina_Bool dosel = EINA_FALSE; Eina_Bool dosel = EINA_FALSE;
Eina_Bool shift; Eina_Bool shift;
@ -1627,10 +1627,10 @@ _mouse_down_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj EIN
{ {
tc = efl_canvas_textblock_cursor_create(obj); tc = efl_canvas_textblock_cursor_create(obj);
_cur_pos_copy(cur, tc); _cur_pos_copy(cur, tc);
if (efl_text_cursor_compare(cur, en->sel_start) < 0) if (efl_text_cursor_object_compare(cur, en->sel_start) < 0)
efl_text_cursor_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_START); efl_text_cursor_object_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_START);
else else
efl_text_cursor_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_END); efl_text_cursor_object_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_END);
_sel_extend(cur, obj, en); _sel_extend(cur, obj, en);
} }
else else
@ -1640,9 +1640,9 @@ _mouse_down_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj EIN
_sel_clear(obj, en); _sel_clear(obj, en);
tc = efl_canvas_textblock_cursor_create(obj); tc = efl_canvas_textblock_cursor_create(obj);
_cur_pos_copy(cur, tc); _cur_pos_copy(cur, tc);
efl_text_cursor_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_START); efl_text_cursor_object_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_START);
_sel_init(cur, en); _sel_init(cur, en);
efl_text_cursor_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_END); efl_text_cursor_object_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_END);
_sel_extend(cur, obj, en); _sel_extend(cur, obj, en);
} }
goto end; goto end;
@ -1653,12 +1653,12 @@ _mouse_down_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj EIN
{ {
tc = efl_canvas_textblock_cursor_create(obj); tc = efl_canvas_textblock_cursor_create(obj);
_cur_pos_copy(cur, tc); _cur_pos_copy(cur, tc);
if (efl_text_cursor_compare(cur, en->sel_start) < 0) if (efl_text_cursor_object_compare(cur, en->sel_start) < 0)
efl_text_cursor_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_START); efl_text_cursor_object_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_START);
else else
{ {
efl_text_cursor_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_END); efl_text_cursor_object_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_END);
efl_text_cursor_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_NEXT); efl_text_cursor_object_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_NEXT);
} }
_sel_extend(cur, obj, en); _sel_extend(cur, obj, en);
} }
@ -1669,10 +1669,10 @@ _mouse_down_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj EIN
_sel_clear(obj, en); _sel_clear(obj, en);
tc = efl_canvas_textblock_cursor_create(obj); tc = efl_canvas_textblock_cursor_create(obj);
_cur_pos_copy(cur, tc); _cur_pos_copy(cur, tc);
efl_text_cursor_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_START); efl_text_cursor_object_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_START);
_sel_init(cur, en); _sel_init(cur, en);
efl_text_cursor_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_END); efl_text_cursor_object_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_END);
efl_text_cursor_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_NEXT); efl_text_cursor_object_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_NEXT);
_sel_extend(cur, obj, en); _sel_extend(cur, obj, en);
} }
goto end; goto end;
@ -1703,7 +1703,7 @@ _mouse_up_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj, void
{ {
Evas_Coord cx, cy; Evas_Coord cx, cy;
Efl_Ui_Internal_Text_Interactive_Data *en = efl_data_scope_get(obj, MY_CLASS); Efl_Ui_Internal_Text_Interactive_Data *en = efl_data_scope_get(obj, MY_CLASS);
Efl_Text_Cursor *cur = efl_text_interactive_main_cursor_get(obj); Efl_Text_Cursor_Object *cur = efl_text_interactive_main_cursor_get(obj);
Evas_Event_Mouse_Up *ev = event_info; Evas_Event_Mouse_Up *ev = event_info;
if ((!ev) || (ev->button != 1)) return; if ((!ev) || (ev->button != 1)) return;
@ -1744,10 +1744,10 @@ _mouse_move_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj, vo
{ {
Evas_Coord cx, cy; Evas_Coord cx, cy;
Efl_Ui_Internal_Text_Interactive_Data *en = efl_data_scope_get(obj, MY_CLASS); Efl_Ui_Internal_Text_Interactive_Data *en = efl_data_scope_get(obj, MY_CLASS);
Efl_Text_Cursor *cur = efl_text_interactive_main_cursor_get(obj); Efl_Text_Cursor_Object *cur = efl_text_interactive_main_cursor_get(obj);
Evas_Event_Mouse_Move *ev = event_info; Evas_Event_Mouse_Move *ev = event_info;
Evas_Coord x, y, w, h; Evas_Coord x, y, w, h;
Efl_Text_Cursor *tc; Efl_Text_Cursor_Object *tc;
Eina_Bool multiline; Eina_Bool multiline;
multiline = efl_text_multiline_get(obj); multiline = efl_text_multiline_get(obj);
@ -1774,28 +1774,28 @@ _mouse_move_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object *obj, vo
if (multiline) if (multiline)
{ {
efl_text_cursor_char_coord_set(cur, EINA_POSITION2D(cx, cy)); efl_text_cursor_object_char_coord_set(cur, EINA_POSITION2D(cx, cy));
} }
else else
{ {
Evas_Coord lx, ly, lw, lh; Evas_Coord lx, ly, lw, lh;
efl_text_cursor_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_FIRST); efl_text_cursor_object_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_FIRST);
evas_textblock_cursor_line_geometry_get(efl_text_cursor_handle_get(cur), &lx, &ly, &lw, &lh); evas_textblock_cursor_line_geometry_get(efl_text_cursor_object_handle_get(cur), &lx, &ly, &lw, &lh);
efl_text_cursor_char_coord_set(cur, EINA_POSITION2D(cx, ly + (lh / 2))); efl_text_cursor_object_char_coord_set(cur, EINA_POSITION2D(cx, ly + (lh / 2)));
} }
if (en->select_allow) if (en->select_allow)
{ {
_sel_extend(cur, obj, en); _sel_extend(cur, obj, en);
if (!efl_text_cursor_equal(en->sel_start, en->sel_end)) if (!efl_text_cursor_object_equal(en->sel_start, en->sel_end))
_sel_enable(obj, en); _sel_enable(obj, en);
} }
efl_del(tc); efl_del(tc);
} }
} }
EOLIAN static Efl_Text_Cursor * EOLIAN static Efl_Text_Cursor_Object *
_efl_ui_internal_text_interactive_efl_text_interactive_main_cursor_get(const Eo *obj EINA_UNUSED, Efl_Ui_Internal_Text_Interactive_Data *pd) _efl_ui_internal_text_interactive_efl_text_interactive_main_cursor_get(const Eo *obj EINA_UNUSED, Efl_Ui_Internal_Text_Interactive_Data *pd)
{ {
return pd->main_cursor; return pd->main_cursor;
@ -1833,9 +1833,9 @@ _efl_ui_internal_text_interactive_efl_object_finalize(Eo *obj, Efl_Ui_Internal_T
en->sel_start = efl_canvas_textblock_cursor_create(obj); en->sel_start = efl_canvas_textblock_cursor_create(obj);
en->sel_end = efl_canvas_textblock_cursor_create(obj); en->sel_end = efl_canvas_textblock_cursor_create(obj);
efl_event_callback_add(en->sel_start, EFL_TEXT_CURSOR_EVENT_CHANGED, efl_event_callback_add(en->sel_start, EFL_TEXT_CURSOR_OBJECT_EVENT_CHANGED,
_sel_cursor_changed, obj); _sel_cursor_changed, obj);
efl_event_callback_add(en->sel_end, EFL_TEXT_CURSOR_EVENT_CHANGED, efl_event_callback_add(en->sel_end, EFL_TEXT_CURSOR_OBJECT_EVENT_CHANGED,
_sel_cursor_changed, obj); _sel_cursor_changed, obj);
#ifdef HAVE_ECORE_IMF #ifdef HAVE_ECORE_IMF
@ -1908,7 +1908,7 @@ _efl_ui_internal_text_interactive_efl_text_text_set(Eo *eo_obj, Efl_Ui_Internal_
const char *text) const char *text)
{ {
efl_text_set(efl_super(eo_obj, MY_CLASS), text); efl_text_set(efl_super(eo_obj, MY_CLASS), text);
efl_text_cursor_move(o->main_cursor, EFL_TEXT_CURSOR_MOVE_TYPE_LAST); efl_text_cursor_object_move(o->main_cursor, EFL_TEXT_CURSOR_MOVE_TYPE_LAST);
} }
EOLIAN void EOLIAN void
@ -1916,7 +1916,7 @@ _efl_ui_internal_text_interactive_efl_text_markup_markup_set(Eo *eo_obj, Efl_Ui_
const char *text) const char *text)
{ {
efl_text_markup_set(efl_super(eo_obj, MY_CLASS), text); efl_text_markup_set(efl_super(eo_obj, MY_CLASS), text);
efl_text_cursor_move(o->main_cursor, EFL_TEXT_CURSOR_MOVE_TYPE_LAST); efl_text_cursor_object_move(o->main_cursor, EFL_TEXT_CURSOR_MOVE_TYPE_LAST);
} }
EOLIAN static void EOLIAN static void
@ -1939,10 +1939,10 @@ _efl_ui_internal_text_interactive_efl_text_interactive_selection_allowed_get(con
} }
EOLIAN static void EOLIAN static void
_efl_ui_internal_text_interactive_efl_text_interactive_selection_cursors_get(const Eo *obj EINA_UNUSED, Efl_Ui_Internal_Text_Interactive_Data *pd, Efl_Text_Cursor **start, Efl_Text_Cursor **end) _efl_ui_internal_text_interactive_efl_text_interactive_selection_cursors_get(const Eo *obj EINA_UNUSED, Efl_Ui_Internal_Text_Interactive_Data *pd, Efl_Text_Cursor_Object **start, Efl_Text_Cursor_Object **end)
{ {
if (efl_text_cursor_position_get(pd->sel_start) > if (efl_text_cursor_object_position_get(pd->sel_start) >
efl_text_cursor_position_get(pd->sel_end)) efl_text_cursor_object_position_get(pd->sel_end))
{ {
if (start) *start = pd->sel_end; if (start) *start = pd->sel_end;
if (end) *end = pd->sel_start; if (end) *end = pd->sel_start;
@ -1955,16 +1955,16 @@ _efl_ui_internal_text_interactive_efl_text_interactive_selection_cursors_get(con
} }
EOLIAN static void EOLIAN static void
_efl_ui_internal_text_interactive_efl_text_interactive_selection_cursors_set(Eo *obj EINA_UNUSED, Efl_Ui_Internal_Text_Interactive_Data *en, Efl_Text_Cursor *start, Efl_Text_Cursor *end) _efl_ui_internal_text_interactive_efl_text_interactive_selection_cursors_set(Eo *obj EINA_UNUSED, Efl_Ui_Internal_Text_Interactive_Data *en, Efl_Text_Cursor_Object *start, Efl_Text_Cursor_Object *end)
{ {
if (!efl_text_interactive_selection_allowed_get(obj)) if (!efl_text_interactive_selection_allowed_get(obj))
return; return;
int new_sel_start_pos = efl_text_cursor_position_get(start); int new_sel_start_pos = efl_text_cursor_object_position_get(start);
int new_sel_end_pos = efl_text_cursor_position_get(end); int new_sel_end_pos = efl_text_cursor_object_position_get(end);
int current_sel_start_pos = efl_text_cursor_position_get(en->sel_start); int current_sel_start_pos = efl_text_cursor_object_position_get(en->sel_start);
int current_sel_end_pos = efl_text_cursor_position_get(en->sel_end); int current_sel_end_pos = efl_text_cursor_object_position_get(en->sel_end);
Eina_Bool b_start_changed = (new_sel_start_pos == current_sel_start_pos); Eina_Bool b_start_changed = (new_sel_start_pos == current_sel_start_pos);
Eina_Bool b_end_changed = (new_sel_end_pos == current_sel_end_pos); Eina_Bool b_end_changed = (new_sel_end_pos == current_sel_end_pos);
@ -1973,8 +1973,8 @@ _efl_ui_internal_text_interactive_efl_text_interactive_selection_cursors_set(Eo
return; return;
_sel_watch_freeze(en); _sel_watch_freeze(en);
efl_text_cursor_position_set(en->sel_start, new_sel_start_pos); efl_text_cursor_object_position_set(en->sel_start, new_sel_start_pos);
efl_text_cursor_position_set(en->sel_end, new_sel_end_pos); efl_text_cursor_object_position_set(en->sel_end, new_sel_end_pos);
_sel_watch_thaw(en); _sel_watch_thaw(en);
_sel_reset(obj, en); _sel_reset(obj, en);
} }

View File

@ -59,7 +59,7 @@ struct _Efl_Ui_Textbox_Data
Mod_Api *api; // module api if supplied Mod_Api *api; // module api if supplied
int cursor_pos; int cursor_pos;
Elm_Scroller_Policy policy_h, policy_v; Elm_Scroller_Policy policy_h, policy_v;
Efl_Text_Cursor *sel_handler_cursor; Efl_Text_Cursor_Object *sel_handler_cursor;
struct struct
{ {
Evas_Object *hover_parent; /**< hover parent object. entry is a hover parent object by default */ Evas_Object *hover_parent; /**< hover parent object. entry is a hover parent object by default */
@ -311,7 +311,7 @@ _update_selection_handler(Eo *obj)
Eina_Position2D off; Eina_Position2D off;
Evas_Coord hx, hy; Evas_Coord hx, hy;
Eina_Bool hidden = EINA_FALSE; Eina_Bool hidden = EINA_FALSE;
Efl_Text_Cursor *sel_start, *sel_end; Efl_Text_Cursor_Object *sel_start, *sel_end;
Eina_Rect rc_tmp; Eina_Rect rc_tmp;
efl_text_interactive_selection_cursors_get(obj, &sel_start, &sel_end); efl_text_interactive_selection_cursors_get(obj, &sel_start, &sel_end);
@ -321,7 +321,7 @@ _update_selection_handler(Eo *obj)
//evas_object_geometry_get(sd->entry_edje, &ent_x, &ent_y, NULL, NULL); //evas_object_geometry_get(sd->entry_edje, &ent_x, &ent_y, NULL, NULL);
rc_tmp = efl_text_cursor_geometry_get(sel_start, EFL_TEXT_CURSOR_TYPE_BEFORE); rc_tmp = efl_text_cursor_object_cursor_geometry_get(sel_start, EFL_TEXT_CURSOR_TYPE_BEFORE);
sx = rc_tmp.x; sx = rc_tmp.x;
sy = rc_tmp.y; sy = rc_tmp.y;
sh = rc_tmp.h; sh = rc_tmp.h;
@ -352,7 +352,7 @@ _update_selection_handler(Eo *obj)
} }
hidden = EINA_FALSE; hidden = EINA_FALSE;
rc_tmp = efl_text_cursor_geometry_get(sel_end, EFL_TEXT_CURSOR_TYPE_BEFORE); rc_tmp = efl_text_cursor_object_cursor_geometry_get(sel_end, EFL_TEXT_CURSOR_TYPE_BEFORE);
ex = rc_tmp.x; ex = rc_tmp.x;
ey = rc_tmp.y; ey = rc_tmp.y;
eh = rc_tmp.h; eh = rc_tmp.h;
@ -401,7 +401,7 @@ _selection_data_cb(Efl_Ui_Textbox *obj, void *data EINA_UNUSED, const Eina_Value
{ {
Eina_Content *content; Eina_Content *content;
Eina_Slice slice; Eina_Slice slice;
Efl_Text_Cursor *cur, *start, *end; Efl_Text_Cursor_Object *cur, *start, *end;
Efl_Text_Change_Info info = { NULL, 0, 0, 0, 0 }; Efl_Text_Change_Info info = { NULL, 0, 0, 0, 0 };
if (eina_value_type_get(&value) != EINA_VALUE_TYPE_CONTENT) if (eina_value_type_get(&value) != EINA_VALUE_TYPE_CONTENT)
@ -410,19 +410,19 @@ _selection_data_cb(Efl_Ui_Textbox *obj, void *data EINA_UNUSED, const Eina_Value
content = eina_value_to_content(&value); content = eina_value_to_content(&value);
slice = eina_content_data_get(content); slice = eina_content_data_get(content);
efl_text_interactive_selection_cursors_get(obj, &start, &end); efl_text_interactive_selection_cursors_get(obj, &start, &end);
if (!efl_text_cursor_equal(start, end)) if (!efl_text_cursor_object_equal(start, end))
{ {
efl_text_cursor_range_delete(start, end); efl_text_cursor_object_range_delete(start, end);
efl_text_interactive_all_unselect(obj); efl_text_interactive_all_unselect(obj);
} }
cur = efl_text_interactive_main_cursor_get(obj); cur = efl_text_interactive_main_cursor_get(obj);
info.type = EFL_TEXT_CHANGE_TYPE_INSERT; info.type = EFL_TEXT_CHANGE_TYPE_INSERT;
info.position = efl_text_cursor_position_get(cur); info.position = efl_text_cursor_object_position_get(cur);
info.length = slice.len; info.length = slice.len;
info.content = slice.mem; info.content = slice.mem;
if (eina_streq(eina_content_type_get(content), "application/x-elementary-markup")) if (eina_streq(eina_content_type_get(content), "application/x-elementary-markup"))
{ {
efl_text_cursor_markup_insert(cur, slice.mem); efl_text_cursor_object_markup_insert(cur, slice.mem);
} }
else if (!strncmp(eina_content_type_get(content), "image/", strlen("image/"))) else if (!strncmp(eina_content_type_get(content), "image/", strlen("image/")))
{ {
@ -430,12 +430,12 @@ _selection_data_cb(Efl_Ui_Textbox *obj, void *data EINA_UNUSED, const Eina_Value
eina_strbuf_append_printf(result, "<item absize=240x180 href="); eina_strbuf_append_printf(result, "<item absize=240x180 href=");
eina_strbuf_append_slice(result, slice); eina_strbuf_append_slice(result, slice);
eina_strbuf_append_printf(result, "></item>"); eina_strbuf_append_printf(result, "></item>");
efl_text_cursor_markup_insert(cur, eina_strbuf_string_get(result)); efl_text_cursor_object_markup_insert(cur, eina_strbuf_string_get(result));
eina_strbuf_free(result); eina_strbuf_free(result);
} }
else // TEXT else // TEXT
{ {
efl_text_cursor_text_insert(cur, slice.mem); efl_text_cursor_object_text_insert(cur, slice.mem);
} }
efl_event_callback_call(obj, EFL_TEXT_INTERACTIVE_EVENT_CHANGED_USER, &info); efl_event_callback_call(obj, EFL_TEXT_INTERACTIVE_EVENT_CHANGED_USER, &info);
@ -649,10 +649,10 @@ _cursor_geometry_recalc(Evas_Object *obj)
cx = cy = cw = ch = 0; cx = cy = cw = ch = 0;
Efl_Text_Cursor *main_cur = Efl_Text_Cursor_Object *main_cur =
efl_text_interactive_main_cursor_get(obj); efl_text_interactive_main_cursor_get(obj);
rc = efl_text_cursor_geometry_get(main_cur, EFL_TEXT_CURSOR_TYPE_BEFORE); rc = efl_text_cursor_object_cursor_geometry_get(main_cur, EFL_TEXT_CURSOR_TYPE_BEFORE);
cx = rc.x; cx = rc.x;
cy = rc.y; cy = rc.y;
cw = rc.w; cw = rc.w;
@ -779,7 +779,7 @@ _efl_ui_textbox_efl_ui_widget_interest_region_get(const Eo *obj EINA_UNUSED, Efl
Eina_Rect edje, elm; Eina_Rect edje, elm;
Eina_Rect r = {}; Eina_Rect r = {};
r = efl_text_cursor_geometry_get( r = efl_text_cursor_object_cursor_geometry_get(
efl_text_interactive_main_cursor_get(obj), EFL_TEXT_CURSOR_TYPE_BEFORE); efl_text_interactive_main_cursor_get(obj), EFL_TEXT_CURSOR_TYPE_BEFORE);
if (!efl_text_multiline_get(obj)) if (!efl_text_multiline_get(obj))
@ -849,11 +849,11 @@ _selection_store(Efl_Ui_Cnp_Buffer buffer,
Evas_Object *obj) Evas_Object *obj)
{ {
char *sel; char *sel;
Efl_Text_Cursor *start, *end; Efl_Text_Cursor_Object *start, *end;
Eina_Content *content; Eina_Content *content;
efl_text_interactive_selection_cursors_get(obj, &start, &end); efl_text_interactive_selection_cursors_get(obj, &start, &end);
sel = efl_text_cursor_range_markup_get(start, end); sel = efl_text_cursor_object_range_markup_get(start, end);
if ((!sel) || (!sel[0])) return; /* avoid deleting our own selection */ if ((!sel) || (!sel[0])) return; /* avoid deleting our own selection */
@ -1254,7 +1254,7 @@ _selection_handlers_offset_calc(Evas_Object *obj, Evas_Object *handler)
EFL_UI_TEXT_DATA_GET(obj, sd); EFL_UI_TEXT_DATA_GET(obj, sd);
pos = efl_gfx_entity_position_get(sd->text_obj); pos = efl_gfx_entity_position_get(sd->text_obj);
rc = efl_text_cursor_geometry_get( rc = efl_text_cursor_object_cursor_geometry_get(
efl_text_interactive_main_cursor_get(obj), EFL_TEXT_CURSOR_TYPE_BEFORE); efl_text_interactive_main_cursor_get(obj), EFL_TEXT_CURSOR_TYPE_BEFORE);
cx = rc.x; cx = rc.x;
cy = rc.y; cy = rc.y;
@ -1283,8 +1283,8 @@ _start_handler_mouse_down_cb(void *data, const Efl_Event *event EINA_UNUSED)
EFL_UI_TEXT_DATA_GET(data, sd); EFL_UI_TEXT_DATA_GET(data, sd);
int start_pos, end_pos, pos; int start_pos, end_pos, pos;
Efl_Text_Cursor *sel_start, *sel_end; Efl_Text_Cursor_Object *sel_start, *sel_end;
Efl_Text_Cursor *main_cur; Efl_Text_Cursor_Object *main_cur;
Eo *text_obj = sd->text_obj; Eo *text_obj = sd->text_obj;
@ -1294,8 +1294,8 @@ _start_handler_mouse_down_cb(void *data, const Efl_Event *event EINA_UNUSED)
efl_text_interactive_selection_cursors_get(text_obj, &sel_start, &sel_end); efl_text_interactive_selection_cursors_get(text_obj, &sel_start, &sel_end);
main_cur = efl_text_interactive_main_cursor_get(text_obj); main_cur = efl_text_interactive_main_cursor_get(text_obj);
start_pos = efl_text_cursor_position_get(sel_start); start_pos = efl_text_cursor_object_position_get(sel_start);
end_pos = efl_text_cursor_position_get(sel_end); end_pos = efl_text_cursor_object_position_get(sel_end);
if (start_pos <= end_pos) if (start_pos <= end_pos)
{ {
@ -1307,7 +1307,7 @@ _start_handler_mouse_down_cb(void *data, const Efl_Event *event EINA_UNUSED)
pos = end_pos; pos = end_pos;
sd->sel_handler_cursor = sel_end; sd->sel_handler_cursor = sel_end;
} }
efl_text_cursor_position_set(main_cur, pos); efl_text_cursor_object_position_set(main_cur, pos);
_selection_handlers_offset_calc(data, sd->start_handler); _selection_handlers_offset_calc(data, sd->start_handler);
} }
@ -1341,11 +1341,11 @@ _start_handler_mouse_move_cb(void *data, const Efl_Event *event)
cy = ev->cur.y - sd->oy - re.y; cy = ev->cur.y - sd->oy - re.y;
if (cx <= 0) cx = 1; if (cx <= 0) cx = 1;
efl_text_cursor_char_coord_set(sd->sel_handler_cursor, EINA_POSITION2D(cx, cy)); efl_text_cursor_object_char_coord_set(sd->sel_handler_cursor, EINA_POSITION2D(cx, cy));
pos = efl_text_cursor_position_get(sd->sel_handler_cursor); pos = efl_text_cursor_object_position_get(sd->sel_handler_cursor);
/* Set the main cursor. */ /* Set the main cursor. */
efl_text_cursor_position_set( efl_text_cursor_object_position_set(
efl_text_interactive_main_cursor_get(sd->text_obj), pos); efl_text_interactive_main_cursor_get(sd->text_obj), pos);
efl_input_clickable_longpress_abort(data, 1); efl_input_clickable_longpress_abort(data, 1);
@ -1357,8 +1357,8 @@ _end_handler_mouse_down_cb(void *data, const Efl_Event *event EINA_UNUSED)
{ {
EFL_UI_TEXT_DATA_GET(data, sd); EFL_UI_TEXT_DATA_GET(data, sd);
Efl_Text_Cursor *sel_start, *sel_end; Efl_Text_Cursor_Object *sel_start, *sel_end;
Efl_Text_Cursor *main_cur; Efl_Text_Cursor_Object *main_cur;
int pos, start_pos, end_pos; int pos, start_pos, end_pos;
sd->end_handler_down = EINA_TRUE; sd->end_handler_down = EINA_TRUE;
@ -1368,8 +1368,8 @@ _end_handler_mouse_down_cb(void *data, const Efl_Event *event EINA_UNUSED)
efl_text_interactive_selection_cursors_get(text_obj, &sel_start, &sel_end); efl_text_interactive_selection_cursors_get(text_obj, &sel_start, &sel_end);
main_cur = efl_text_interactive_main_cursor_get(text_obj); main_cur = efl_text_interactive_main_cursor_get(text_obj);
start_pos = efl_text_cursor_position_get(sel_start); start_pos = efl_text_cursor_object_position_get(sel_start);
end_pos = efl_text_cursor_position_get(sel_end); end_pos = efl_text_cursor_object_position_get(sel_end);
if (start_pos < end_pos) if (start_pos < end_pos)
{ {
@ -1382,7 +1382,7 @@ _end_handler_mouse_down_cb(void *data, const Efl_Event *event EINA_UNUSED)
sd->sel_handler_cursor = sel_start; sd->sel_handler_cursor = sel_start;
} }
efl_text_cursor_position_set(main_cur, pos); efl_text_cursor_object_position_set(main_cur, pos);
_selection_handlers_offset_calc(data, sd->end_handler); _selection_handlers_offset_calc(data, sd->end_handler);
} }
@ -1416,10 +1416,10 @@ _end_handler_mouse_move_cb(void *data, const Efl_Event *event)
cy = ev->cur.y - sd->oy - re.y; cy = ev->cur.y - sd->oy - re.y;
if (cx <= 0) cx = 1; if (cx <= 0) cx = 1;
efl_text_cursor_char_coord_set(sd->sel_handler_cursor, EINA_POSITION2D(cx, cy)); efl_text_cursor_object_char_coord_set(sd->sel_handler_cursor, EINA_POSITION2D(cx, cy));
pos = efl_text_cursor_position_get(sd->sel_handler_cursor); pos = efl_text_cursor_object_position_get(sd->sel_handler_cursor);
/* Set the main cursor. */ /* Set the main cursor. */
efl_text_cursor_position_set(efl_text_interactive_main_cursor_get(data), pos); efl_text_cursor_object_position_set(efl_text_interactive_main_cursor_get(data), pos);
efl_input_clickable_longpress_abort(data, 1); efl_input_clickable_longpress_abort(data, 1);
sd->long_pressed = EINA_FALSE; sd->long_pressed = EINA_FALSE;
} }
@ -1707,7 +1707,7 @@ _efl_ui_textbox_efl_object_finalize(Eo *obj,
_efl_ui_textbox_selection_start_clear_cb, obj); _efl_ui_textbox_selection_start_clear_cb, obj);
efl_event_callback_add(sd->text_obj, EFL_TEXT_INTERACTIVE_EVENT_SELECTION_CHANGED, efl_event_callback_add(sd->text_obj, EFL_TEXT_INTERACTIVE_EVENT_SELECTION_CHANGED,
_efl_ui_textbox_selection_changed_cb, obj); _efl_ui_textbox_selection_changed_cb, obj);
efl_event_callback_add(efl_text_interactive_main_cursor_get(sd->text_obj), EFL_TEXT_CURSOR_EVENT_CHANGED, efl_event_callback_add(efl_text_interactive_main_cursor_get(sd->text_obj), EFL_TEXT_CURSOR_OBJECT_EVENT_CHANGED,
_efl_ui_textbox_cursor_changed_cb, obj); _efl_ui_textbox_cursor_changed_cb, obj);
efl_event_callback_add(sd->text_obj, EFL_GFX_ENTITY_EVENT_POSITION_CHANGED, efl_event_callback_add(sd->text_obj, EFL_GFX_ENTITY_EVENT_POSITION_CHANGED,
_text_position_changed_cb, obj); _text_position_changed_cb, obj);
@ -1822,12 +1822,12 @@ _efl_ui_textbox_calc_force(Eo *obj, Efl_Ui_Textbox_Data *sd)
static const char* static const char*
_efl_ui_textbox_selection_get(const Eo *obj, Efl_Ui_Textbox_Data *sd EINA_UNUSED) _efl_ui_textbox_selection_get(const Eo *obj, Efl_Ui_Textbox_Data *sd EINA_UNUSED)
{ {
Efl_Text_Cursor *start_obj, *end_obj; Efl_Text_Cursor_Object *start_obj, *end_obj;
if ((efl_text_password_get(obj))) return NULL; if ((efl_text_password_get(obj))) return NULL;
efl_text_interactive_selection_cursors_get(obj, &start_obj, &end_obj); efl_text_interactive_selection_cursors_get(obj, &start_obj, &end_obj);
return efl_text_cursor_range_text_get(start_obj, end_obj); return efl_text_cursor_object_range_text_get(start_obj, end_obj);
} }
EOLIAN static void EOLIAN static void
@ -1846,17 +1846,17 @@ _efl_ui_textbox_selection_handles_enabled_get(const Eo *obj EINA_UNUSED, Efl_Ui_
static void static void
_efl_ui_textbox_entry_insert(Eo *obj, Efl_Ui_Textbox_Data *sd, const char *entry) _efl_ui_textbox_entry_insert(Eo *obj, Efl_Ui_Textbox_Data *sd, const char *entry)
{ {
Efl_Text_Cursor *cur_obj = efl_text_interactive_main_cursor_get(obj); Efl_Text_Cursor_Object *cur_obj = efl_text_interactive_main_cursor_get(obj);
efl_text_cursor_text_insert(cur_obj, entry); efl_text_cursor_object_text_insert(cur_obj, entry);
sd->text_changed = EINA_TRUE; sd->text_changed = EINA_TRUE;
efl_canvas_group_change(obj); efl_canvas_group_change(obj);
} }
EOLIAN static Efl_Text_Cursor * EOLIAN static Efl_Text_Cursor_Object *
_efl_ui_textbox_cursor_create(Eo *obj, Efl_Ui_Textbox_Data *pd) _efl_ui_textbox_cursor_create(Eo *obj, Efl_Ui_Textbox_Data *pd)
{ {
Eo* cursor = efl_text_cursor_create(pd->text_obj);; Eo* cursor = efl_text_cursor_object_create(pd->text_obj);;
efl_text_cursor_text_object_set(cursor, pd->text_obj, obj); efl_text_cursor_object_text_object_set(cursor, pd->text_obj, obj);
return cursor; return cursor;
} }
@ -1887,31 +1887,31 @@ _efl_ui_textbox_efl_text_interactive_editable_set(Eo *obj, Efl_Ui_Textbox_Data *
static void static void
_efl_ui_textbox_select_region_set(Eo *obj, Efl_Ui_Textbox_Data *sd EINA_UNUSED, int start, int end) _efl_ui_textbox_select_region_set(Eo *obj, Efl_Ui_Textbox_Data *sd EINA_UNUSED, int start, int end)
{ {
Efl_Text_Cursor *sel_start, *sel_end; Efl_Text_Cursor_Object *sel_start, *sel_end;
if (efl_text_password_get(obj)) return; if (efl_text_password_get(obj)) return;
efl_text_interactive_selection_cursors_get(obj, &sel_start, &sel_end); efl_text_interactive_selection_cursors_get(obj, &sel_start, &sel_end);
efl_text_cursor_position_set(sel_start, start); efl_text_cursor_object_position_set(sel_start, start);
efl_text_cursor_position_set(sel_end, end); efl_text_cursor_object_position_set(sel_end, end);
} }
static void static void
_efl_ui_textbox_select_region_get(Eo *obj, int *start, int *end) _efl_ui_textbox_select_region_get(Eo *obj, int *start, int *end)
{ {
Efl_Text_Cursor *sel_start, *sel_end; Efl_Text_Cursor_Object *sel_start, *sel_end;
efl_text_interactive_selection_cursors_get(obj, &sel_start, &sel_end); efl_text_interactive_selection_cursors_get(obj, &sel_start, &sel_end);
if(start) *start = efl_text_cursor_position_get(sel_start); if(start) *start = efl_text_cursor_object_position_get(sel_start);
if(end) *end = efl_text_cursor_position_get(sel_end); if(end) *end = efl_text_cursor_object_position_get(sel_end);
} }
EOLIAN static void EOLIAN static void
_efl_ui_textbox_selection_cut(Eo *obj, Efl_Ui_Textbox_Data *sd) _efl_ui_textbox_selection_cut(Eo *obj, Efl_Ui_Textbox_Data *sd)
{ {
Efl_Text_Cursor *start, *end; Efl_Text_Cursor_Object *start, *end;
Efl_Text_Change_Info info = { NULL, 0, 0, 0, 0 }; Efl_Text_Change_Info info = { NULL, 0, 0, 0, 0 };
char *tmp; char *tmp;
int end_pos, start_pos; int end_pos, start_pos;
@ -1931,14 +1931,14 @@ _efl_ui_textbox_selection_cut(Eo *obj, Efl_Ui_Textbox_Data *sd)
_selection_store(EFL_UI_CNP_BUFFER_COPY_AND_PASTE, obj); _selection_store(EFL_UI_CNP_BUFFER_COPY_AND_PASTE, obj);
efl_text_interactive_selection_cursors_get(obj, &start, &end); efl_text_interactive_selection_cursors_get(obj, &start, &end);
start_pos = efl_text_cursor_position_get(start); start_pos = efl_text_cursor_object_position_get(start);
end_pos = efl_text_cursor_position_get(end); end_pos = efl_text_cursor_object_position_get(end);
tmp = efl_text_cursor_range_text_get(start, end); tmp = efl_text_cursor_object_range_text_get(start, end);
info.type = EFL_TEXT_CHANGE_TYPE_REMOVE; info.type = EFL_TEXT_CHANGE_TYPE_REMOVE;
info.position = start_pos; info.position = start_pos;
info.length = end_pos - start_pos; info.length = end_pos - start_pos;
info.content = tmp; info.content = tmp;
efl_text_cursor_range_delete(start, end); efl_text_cursor_object_range_delete(start, end);
efl_event_callback_call(obj, EFL_TEXT_INTERACTIVE_EVENT_CHANGED_USER, &info); efl_event_callback_call(obj, EFL_TEXT_INTERACTIVE_EVENT_CHANGED_USER, &info);
free(tmp); free(tmp);
tmp = NULL; tmp = NULL;
@ -2220,13 +2220,13 @@ fail:
EOLIAN static int EOLIAN static int
_efl_ui_textbox_efl_access_text_caret_offset_get(const Eo *obj, Efl_Ui_Textbox_Data *_pd EINA_UNUSED) _efl_ui_textbox_efl_access_text_caret_offset_get(const Eo *obj, Efl_Ui_Textbox_Data *_pd EINA_UNUSED)
{ {
return efl_text_cursor_position_get(efl_text_interactive_main_cursor_get(obj)); return efl_text_cursor_object_position_get(efl_text_interactive_main_cursor_get(obj));
} }
EOLIAN static Eina_Bool EOLIAN static Eina_Bool
_efl_ui_textbox_efl_access_text_caret_offset_set(Eo *obj, Efl_Ui_Textbox_Data *_pd EINA_UNUSED, int offset) _efl_ui_textbox_efl_access_text_caret_offset_set(Eo *obj, Efl_Ui_Textbox_Data *_pd EINA_UNUSED, int offset)
{ {
efl_text_cursor_position_set(efl_text_interactive_main_cursor_get(obj), offset); efl_text_cursor_object_position_set(efl_text_interactive_main_cursor_get(obj), offset);
return EINA_TRUE; return EINA_TRUE;
} }
@ -2410,7 +2410,7 @@ _textblock_node_format_to_atspi_text_attr(Efl_Text_Attribute_Handle *annotation)
EOLIAN static Eina_Bool EOLIAN static Eina_Bool
_efl_ui_textbox_efl_access_text_attribute_get(const Eo *obj, Efl_Ui_Textbox_Data *_pd EINA_UNUSED, const char *attr_name EINA_UNUSED, int *start_offset, int *end_offset, char **value) _efl_ui_textbox_efl_access_text_attribute_get(const Eo *obj, Efl_Ui_Textbox_Data *_pd EINA_UNUSED, const char *attr_name EINA_UNUSED, int *start_offset, int *end_offset, char **value)
{ {
Efl_Text_Cursor *cur1, *cur2; Efl_Text_Cursor_Object *cur1, *cur2;
Efl_Access_Text_Attribute *attr; Efl_Access_Text_Attribute *attr;
Eina_Iterator *annotations; Eina_Iterator *annotations;
Efl_Text_Attribute_Handle *an; Efl_Text_Attribute_Handle *an;
@ -2426,8 +2426,8 @@ _efl_ui_textbox_efl_access_text_attribute_get(const Eo *obj, Efl_Ui_Textbox_Data
return EINA_FALSE; return EINA_FALSE;
} }
efl_text_cursor_position_set(cur1, *start_offset); efl_text_cursor_object_position_set(cur1, *start_offset);
efl_text_cursor_position_set(cur2, *end_offset); efl_text_cursor_object_position_set(cur2, *end_offset);
annotations = efl_text_formatter_range_attributes_get(cur1, cur2); annotations = efl_text_formatter_range_attributes_get(cur1, cur2);
@ -2456,7 +2456,7 @@ _efl_ui_textbox_efl_access_text_attribute_get(const Eo *obj, Efl_Ui_Textbox_Data
EOLIAN static Eina_List* EOLIAN static Eina_List*
_efl_ui_textbox_efl_access_text_text_attributes_get(const Eo *obj, Efl_Ui_Textbox_Data *pd EINA_UNUSED, int *start_offset, int *end_offset) _efl_ui_textbox_efl_access_text_text_attributes_get(const Eo *obj, Efl_Ui_Textbox_Data *pd EINA_UNUSED, int *start_offset, int *end_offset)
{ {
Efl_Text_Cursor *cur1, *cur2; Efl_Text_Cursor_Object *cur1, *cur2;
Eina_List *ret = NULL; Eina_List *ret = NULL;
Efl_Access_Text_Attribute *attr; Efl_Access_Text_Attribute *attr;
Eina_Iterator *annotations; Eina_Iterator *annotations;
@ -2472,8 +2472,8 @@ _efl_ui_textbox_efl_access_text_text_attributes_get(const Eo *obj, Efl_Ui_Textbo
return NULL; return NULL;
} }
efl_text_cursor_position_set(cur1, *start_offset); efl_text_cursor_object_position_set(cur1, *start_offset);
efl_text_cursor_position_set(cur2, *end_offset); efl_text_cursor_object_position_set(cur2, *end_offset);
annotations = efl_text_formatter_range_attributes_get(cur1, cur2); annotations = efl_text_formatter_range_attributes_get(cur1, cur2);
@ -2498,7 +2498,7 @@ _efl_ui_textbox_efl_access_text_default_attributes_get(const Eo *obj, Efl_Ui_Tex
{ {
Eina_List *ret = NULL; Eina_List *ret = NULL;
Efl_Access_Text_Attribute *attr; Efl_Access_Text_Attribute *attr;
Efl_Text_Cursor *start, *end; Efl_Text_Cursor_Object *start, *end;
Eina_Iterator *annotations; Eina_Iterator *annotations;
Efl_Text_Attribute_Handle *an; Efl_Text_Attribute_Handle *an;
@ -2507,8 +2507,8 @@ _efl_ui_textbox_efl_access_text_default_attributes_get(const Eo *obj, Efl_Ui_Tex
start = efl_ui_textbox_cursor_create(mobj); start = efl_ui_textbox_cursor_create(mobj);
end = efl_ui_textbox_cursor_create(mobj); end = efl_ui_textbox_cursor_create(mobj);
efl_text_cursor_move(start, EFL_TEXT_CURSOR_MOVE_TYPE_FIRST); efl_text_cursor_object_move(start, EFL_TEXT_CURSOR_MOVE_TYPE_FIRST);
efl_text_cursor_move(end, EFL_TEXT_CURSOR_MOVE_TYPE_LAST); efl_text_cursor_object_move(end, EFL_TEXT_CURSOR_MOVE_TYPE_LAST);
annotations = efl_text_formatter_range_attributes_get(start, end); annotations = efl_text_formatter_range_attributes_get(start, end);
@ -2533,8 +2533,8 @@ _efl_ui_textbox_efl_access_editable_text_text_content_set(Eo *obj, Efl_Ui_Textbo
EOLIAN static Eina_Bool EOLIAN static Eina_Bool
_efl_ui_textbox_efl_access_editable_text_insert(Eo *obj, Efl_Ui_Textbox_Data *pd, const char *string, int position) _efl_ui_textbox_efl_access_editable_text_insert(Eo *obj, Efl_Ui_Textbox_Data *pd, const char *string, int position)
{ {
Efl_Text_Cursor *cur_obj = efl_text_interactive_main_cursor_get(obj); Efl_Text_Cursor_Object *cur_obj = efl_text_interactive_main_cursor_get(obj);
efl_text_cursor_position_set(cur_obj, position); efl_text_cursor_object_position_set(cur_obj, position);
_efl_ui_textbox_entry_insert(obj, pd, string); _efl_ui_textbox_entry_insert(obj, pd, string);
return EINA_TRUE; return EINA_TRUE;
@ -2583,8 +2583,8 @@ _efl_ui_textbox_efl_access_editable_text_delete(Eo *obj, Efl_Ui_Textbox_Data *pd
EOLIAN static Eina_Bool EOLIAN static Eina_Bool
_efl_ui_textbox_efl_access_editable_text_paste(Eo *obj, Efl_Ui_Textbox_Data *_pd EINA_UNUSED, int position) _efl_ui_textbox_efl_access_editable_text_paste(Eo *obj, Efl_Ui_Textbox_Data *_pd EINA_UNUSED, int position)
{ {
Efl_Text_Cursor *cur_obj = efl_text_interactive_main_cursor_get(obj); Efl_Text_Cursor_Object *cur_obj = efl_text_interactive_main_cursor_get(obj);
efl_text_cursor_position_set(cur_obj, position); efl_text_cursor_object_position_set(cur_obj, position);
efl_ui_textbox_selection_paste(obj); efl_ui_textbox_selection_paste(obj);
return EINA_TRUE; return EINA_TRUE;
} }
@ -2696,8 +2696,8 @@ _update_text_cursors(Eo *obj)
xx = yy = ww = hh = -1; xx = yy = ww = hh = -1;
off =_decoration_calc_offset(sd); off =_decoration_calc_offset(sd);
rc_tmp1 = efl_text_cursor_geometry_get(efl_text_interactive_main_cursor_get(text_obj), EFL_TEXT_CURSOR_TYPE_BEFORE); rc_tmp1 = efl_text_cursor_object_cursor_geometry_get(efl_text_interactive_main_cursor_get(text_obj), EFL_TEXT_CURSOR_TYPE_BEFORE);
bidi_cursor = efl_text_cursor_lower_cursor_geometry_get(efl_text_interactive_main_cursor_get(text_obj), &rc_tmp2); bidi_cursor = efl_text_cursor_object_lower_cursor_geometry_get(efl_text_interactive_main_cursor_get(text_obj), &rc_tmp2);
xx = rc_tmp1.x; xx = rc_tmp1.x;
yy = rc_tmp1.y; yy = rc_tmp1.y;
ww = rc_tmp1.w; ww = rc_tmp1.w;
@ -2747,7 +2747,7 @@ static void
_update_text_selection(Eo *obj, Eo *text_obj) _update_text_selection(Eo *obj, Eo *text_obj)
{ {
Eina_Position2D off; Eina_Position2D off;
Efl_Text_Cursor *sel_start, *sel_end; Efl_Text_Cursor_Object *sel_start, *sel_end;
Eina_List *l; Eina_List *l;
Eina_Iterator *range; Eina_Iterator *range;
@ -2763,7 +2763,7 @@ _update_text_selection(Eo *obj, Eo *text_obj)
efl_text_interactive_selection_cursors_get(text_obj, &sel_start, &sel_end); efl_text_interactive_selection_cursors_get(text_obj, &sel_start, &sel_end);
range = efl_text_cursor_range_geometry_get(sel_start, sel_end); range = efl_text_cursor_object_range_geometry_get(sel_start, sel_end);
l = sd->sel; l = sd->sel;
EINA_ITERATOR_FOREACH(range, r) EINA_ITERATOR_FOREACH(range, r)
@ -2913,7 +2913,7 @@ _anchors_update(Eo *obj, Efl_Ui_Textbox_Data *sd)
Evas_Object *smart, *clip; Evas_Object *smart, *clip;
Eina_Iterator *it; Eina_Iterator *it;
Eina_Position2D off; Eina_Position2D off;
Efl_Text_Cursor *start, *end; Efl_Text_Cursor_Object *start, *end;
Efl_Text_Attribute_Handle *an; Efl_Text_Attribute_Handle *an;
Eina_List *i, *ii; Eina_List *i, *ii;
Anchor *anc; Anchor *anc;
@ -2927,8 +2927,8 @@ _anchors_update(Eo *obj, Efl_Ui_Textbox_Data *sd)
end = efl_canvas_textblock_cursor_create(sd->text_obj); end = efl_canvas_textblock_cursor_create(sd->text_obj);
/* Retrieve all annotations in the text. */ /* Retrieve all annotations in the text. */
efl_text_cursor_move(start, EFL_TEXT_CURSOR_MOVE_TYPE_FIRST); efl_text_cursor_object_move(start, EFL_TEXT_CURSOR_MOVE_TYPE_FIRST);
efl_text_cursor_move(end, EFL_TEXT_CURSOR_MOVE_TYPE_LAST); efl_text_cursor_object_move(end, EFL_TEXT_CURSOR_MOVE_TYPE_LAST);
it = efl_text_formatter_range_attributes_get(start, end); it = efl_text_formatter_range_attributes_get(start, end);
efl_del(start); efl_del(start);
@ -2988,7 +2988,7 @@ _anchors_update(Eo *obj, Efl_Ui_Textbox_Data *sd)
end = efl_ui_textbox_cursor_create(obj); end = efl_ui_textbox_cursor_create(obj);
efl_text_formatter_attribute_cursors_get(anc->annotation, start, end); efl_text_formatter_attribute_cursors_get(anc->annotation, start, end);
range = efl_text_cursor_range_geometry_get(start, end); range = efl_text_cursor_object_range_geometry_get(start, end);
count = eina_list_count(eina_iterator_container_get(range)); count = eina_list_count(eina_iterator_container_get(range));
// Add additional rectangles if needed // Add additional rectangles if needed

View File

@ -83,7 +83,7 @@ class Efl.Ui.Textbox extends Efl.Ui.Layout_Base implements Efl.Input.Clickable,
} }
cursor_create { cursor_create {
[[Creates and returns a new cursor for the text.]] [[Creates and returns a new cursor for the text.]]
return: Efl.Text.Cursor @move; [[Text cursor.]] return: Efl.Text_Cursor.Object @move; [[Text cursor.]]
} }
selection_copy { selection_copy {
[[This executes a "copy" action on the selected text in the widget.]] [[This executes a "copy" action on the selected text in the widget.]]

View File

@ -1315,30 +1315,30 @@ _text_string_at_offset_get(const Eldbus_Service_Interface *iface, const Eldbus_M
if (efl_isa(obj, EFL_TEXT_INTERACTIVE_INTERFACE)) if (efl_isa(obj, EFL_TEXT_INTERACTIVE_INTERFACE))
{ {
Efl_Text_Cursor *sel1 = efl_ui_textbox_cursor_create(obj); Efl_Text_Cursor_Object *sel1 = efl_ui_textbox_cursor_create(obj);
Efl_Text_Cursor *sel2 = efl_ui_textbox_cursor_create(obj); Efl_Text_Cursor_Object *sel2 = efl_ui_textbox_cursor_create(obj);
efl_text_cursor_position_set(sel1, start); efl_text_cursor_object_position_set(sel1, start);
efl_text_cursor_position_set(sel2, start); efl_text_cursor_object_position_set(sel2, start);
switch(gran) switch(gran)
{ {
case EFL_ACCESS_TEXT_GRANULARITY_CHAR: case EFL_ACCESS_TEXT_GRANULARITY_CHAR:
efl_text_cursor_move(sel2, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_NEXT); efl_text_cursor_object_move(sel2, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_NEXT);
break; break;
case EFL_ACCESS_TEXT_GRANULARITY_WORD: case EFL_ACCESS_TEXT_GRANULARITY_WORD:
efl_text_cursor_move(sel1, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_START); efl_text_cursor_object_move(sel1, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_START);
efl_text_cursor_move(sel2, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_END); efl_text_cursor_object_move(sel2, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_END);
break; break;
case EFL_ACCESS_TEXT_GRANULARITY_LINE: case EFL_ACCESS_TEXT_GRANULARITY_LINE:
efl_text_cursor_move(sel1, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_START); efl_text_cursor_object_move(sel1, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_START);
efl_text_cursor_move(sel2, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_END); efl_text_cursor_object_move(sel2, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_END);
break; break;
case EFL_ACCESS_TEXT_GRANULARITY_PARAGRAPH: case EFL_ACCESS_TEXT_GRANULARITY_PARAGRAPH:
efl_text_cursor_move(sel1, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_START); efl_text_cursor_object_move(sel1, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_START);
efl_text_cursor_move(sel2, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_END); efl_text_cursor_object_move(sel2, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_END);
break; break;
case EFL_ACCESS_TEXT_GRANULARITY_SENTENCE: /* this one is not supported by efl */ case EFL_ACCESS_TEXT_GRANULARITY_SENTENCE: /* this one is not supported by efl */
@ -1348,9 +1348,9 @@ _text_string_at_offset_get(const Eldbus_Service_Interface *iface, const Eldbus_M
return eldbus_message_error_new(msg, "org.freedesktop.DBus.Error.InvalidArgs", "Granularity not suported."); return eldbus_message_error_new(msg, "org.freedesktop.DBus.Error.InvalidArgs", "Granularity not suported.");
} }
str = efl_text_cursor_range_text_get(sel1, sel2); str = efl_text_cursor_object_range_text_get(sel1, sel2);
start = efl_text_cursor_position_get(sel1); start = efl_text_cursor_object_position_get(sel1);
end = efl_text_cursor_position_get(sel2); end = efl_text_cursor_object_position_get(sel2);
efl_del(sel1); efl_del(sel1);
efl_del(sel2); efl_del(sel2);
@ -1392,11 +1392,11 @@ _text_text_get(const Eldbus_Service_Interface *iface, const Eldbus_Message *msg)
if (efl_isa(obj, EFL_TEXT_INTERACTIVE_INTERFACE)) if (efl_isa(obj, EFL_TEXT_INTERACTIVE_INTERFACE))
{ {
Efl_Text_Cursor *sel1 = efl_ui_textbox_cursor_create(obj); Efl_Text_Cursor_Object *sel1 = efl_ui_textbox_cursor_create(obj);
Efl_Text_Cursor *sel2 = efl_ui_textbox_cursor_create(obj); Efl_Text_Cursor_Object *sel2 = efl_ui_textbox_cursor_create(obj);
efl_text_cursor_position_set(sel1, start); efl_text_cursor_object_position_set(sel1, start);
efl_text_cursor_position_set(sel2, end); efl_text_cursor_object_position_set(sel2, end);
str = efl_text_cursor_range_text_get(sel1, sel2); str = efl_text_cursor_object_range_text_get(sel1, sel2);
efl_del(sel1); efl_del(sel1);
efl_del(sel2); efl_del(sel2);
} }
@ -1438,8 +1438,8 @@ _text_caret_offset_set(const Eldbus_Service_Interface *iface, const Eldbus_Messa
if (efl_isa(obj, EFL_TEXT_INTERACTIVE_INTERFACE)) if (efl_isa(obj, EFL_TEXT_INTERACTIVE_INTERFACE))
{ {
Efl_Text_Cursor *cur = efl_text_interactive_main_cursor_get(obj); Efl_Text_Cursor_Object *cur = efl_text_interactive_main_cursor_get(obj);
efl_text_cursor_position_set(cur, offset); efl_text_cursor_object_position_set(cur, offset);
res = EINA_TRUE; res = EINA_TRUE;
} }
else if (efl_isa(obj, EFL_ACCESS_TEXT_INTERFACE)) else if (efl_isa(obj, EFL_ACCESS_TEXT_INTERFACE))
@ -1476,9 +1476,9 @@ _text_character_at_offset_get(const Eldbus_Service_Interface *iface, const Eldbu
if (efl_isa(obj, EFL_TEXT_INTERACTIVE_INTERFACE)) if (efl_isa(obj, EFL_TEXT_INTERACTIVE_INTERFACE))
{ {
Efl_Text_Cursor *cur = efl_ui_textbox_cursor_create(obj); Efl_Text_Cursor_Object *cur = efl_ui_textbox_cursor_create(obj);
efl_text_cursor_position_set(cur, offset); efl_text_cursor_object_position_set(cur, offset);
res = efl_text_cursor_content_get(cur); res = efl_text_cursor_object_content_get(cur);
efl_del(cur); efl_del(cur);
} }
else if (efl_isa(obj, EFL_ACCESS_TEXT_INTERFACE)) else if (efl_isa(obj, EFL_ACCESS_TEXT_INTERFACE))
@ -1537,11 +1537,11 @@ _text_attribute_value_get(const Eldbus_Service_Interface *iface, const Eldbus_Me
if (efl_isa(obj, EFL_TEXT_INTERACTIVE_INTERFACE)) if (efl_isa(obj, EFL_TEXT_INTERACTIVE_INTERFACE))
{ {
Efl_Text_Cursor *sel1 = efl_ui_textbox_cursor_create(obj); Efl_Text_Cursor_Object *sel1 = efl_ui_textbox_cursor_create(obj);
Efl_Text_Cursor *sel2 = efl_ui_textbox_cursor_create(obj); Efl_Text_Cursor_Object *sel2 = efl_ui_textbox_cursor_create(obj);
end = start+1; end = start+1;
efl_text_cursor_position_set(sel1, start); efl_text_cursor_object_position_set(sel1, start);
efl_text_cursor_position_set(sel2, end); efl_text_cursor_object_position_set(sel2, end);
annotations = efl_text_formatter_range_attributes_get(sel1, sel2); annotations = efl_text_formatter_range_attributes_get(sel1, sel2);
if (annotations) if (annotations)
@ -1610,12 +1610,12 @@ _text_attributes_get(const Eldbus_Service_Interface *iface, const Eldbus_Message
{ {
Eina_Iterator *annotations; Eina_Iterator *annotations;
Efl_Text_Attribute_Handle *an; Efl_Text_Attribute_Handle *an;
Efl_Text_Cursor *sel1 = efl_ui_textbox_cursor_create(obj); Efl_Text_Cursor_Object *sel1 = efl_ui_textbox_cursor_create(obj);
Efl_Text_Cursor *sel2 = efl_ui_textbox_cursor_create(obj); Efl_Text_Cursor_Object *sel2 = efl_ui_textbox_cursor_create(obj);
end = start+1; end = start+1;
efl_text_cursor_position_set(sel1, start); efl_text_cursor_object_position_set(sel1, start);
efl_text_cursor_position_set(sel2, end); efl_text_cursor_object_position_set(sel2, end);
annotations = efl_text_formatter_range_attributes_get(sel1, sel2); annotations = efl_text_formatter_range_attributes_get(sel1, sel2);
efl_del(sel1); efl_del(sel1);
@ -1682,11 +1682,11 @@ _text_default_attributes_get(const Eldbus_Service_Interface *iface, const Eldbus
{ {
Eina_Iterator *annotations; Eina_Iterator *annotations;
Efl_Text_Attribute_Handle *an; Efl_Text_Attribute_Handle *an;
Efl_Text_Cursor *sel1 = efl_ui_textbox_cursor_create(obj); Efl_Text_Cursor_Object *sel1 = efl_ui_textbox_cursor_create(obj);
Efl_Text_Cursor *sel2 = efl_ui_textbox_cursor_create(obj); Efl_Text_Cursor_Object *sel2 = efl_ui_textbox_cursor_create(obj);
efl_text_cursor_move(sel1, EFL_TEXT_CURSOR_MOVE_TYPE_FIRST); efl_text_cursor_object_move(sel1, EFL_TEXT_CURSOR_MOVE_TYPE_FIRST);
efl_text_cursor_move(sel2, EFL_TEXT_CURSOR_MOVE_TYPE_LAST); efl_text_cursor_object_move(sel2, EFL_TEXT_CURSOR_MOVE_TYPE_LAST);
annotations = efl_text_formatter_range_attributes_get(sel1, sel2); annotations = efl_text_formatter_range_attributes_get(sel1, sel2);
EINA_ITERATOR_FOREACH(annotations, an) EINA_ITERATOR_FOREACH(annotations, an)
@ -1800,9 +1800,9 @@ _text_character_extents_get(const Eldbus_Service_Interface *iface, const Eldbus_
if (efl_isa(obj, EFL_TEXT_INTERACTIVE_INTERFACE)) if (efl_isa(obj, EFL_TEXT_INTERACTIVE_INTERFACE))
{ {
Efl_Text_Cursor *cur = efl_ui_textbox_cursor_create(obj); Efl_Text_Cursor_Object *cur = efl_ui_textbox_cursor_create(obj);
efl_text_cursor_position_set(cur, offset); efl_text_cursor_object_position_set(cur, offset);
rect = efl_text_cursor_geometry_get(cur, EFL_TEXT_CURSOR_TYPE_UNDER); rect = efl_text_cursor_object_cursor_geometry_get(cur, EFL_TEXT_CURSOR_TYPE_UNDER);
efl_del(cur); efl_del(cur);
rect = _text_interactive_get_pos(obj, rect, screen_coords); rect = _text_interactive_get_pos(obj, rect, screen_coords);
res = rect.w != 0 ? EINA_TRUE : EINA_FALSE; res = rect.w != 0 ? EINA_TRUE : EINA_FALSE;
@ -1860,9 +1860,9 @@ _text_offset_at_point_get(const Eldbus_Service_Interface *iface, const Eldbus_Me
x -= r_obj.x - r_win.x; x -= r_obj.x - r_win.x;
y -= r_obj.y - r_win.y; y -= r_obj.y - r_win.y;
} }
Efl_Text_Cursor *cur = efl_ui_textbox_cursor_create(obj); Efl_Text_Cursor_Object *cur = efl_ui_textbox_cursor_create(obj);
efl_text_cursor_char_coord_set(cur, EINA_POSITION2D(x,y)); efl_text_cursor_object_char_coord_set(cur, EINA_POSITION2D(x,y));
offset = efl_text_cursor_position_get(cur); offset = efl_text_cursor_object_position_get(cur);
efl_del(cur); efl_del(cur);
} }
else if (efl_isa(obj, EFL_ACCESS_TEXT_INTERFACE)) else if (efl_isa(obj, EFL_ACCESS_TEXT_INTERFACE))
@ -1920,10 +1920,10 @@ _text_selection_get(const Eldbus_Service_Interface *iface, const Eldbus_Message
{ {
if (sel_num == 0) if (sel_num == 0)
{ {
Efl_Text_Cursor *sel1, *sel2; Efl_Text_Cursor_Object *sel1, *sel2;
efl_text_interactive_selection_cursors_get(obj, &sel1, &sel2); efl_text_interactive_selection_cursors_get(obj, &sel1, &sel2);
start = efl_text_cursor_position_get(sel1); start = efl_text_cursor_object_position_get(sel1);
end = efl_text_cursor_position_get(sel2); end = efl_text_cursor_object_position_get(sel2);
} }
} }
else if (efl_isa(obj, EFL_ACCESS_TEXT_INTERFACE)) else if (efl_isa(obj, EFL_ACCESS_TEXT_INTERFACE))
@ -1959,10 +1959,10 @@ _text_selection_add(const Eldbus_Service_Interface *iface, const Eldbus_Message
if (efl_isa(obj, EFL_TEXT_INTERACTIVE_INTERFACE)) if (efl_isa(obj, EFL_TEXT_INTERACTIVE_INTERFACE))
{ {
Efl_Text_Cursor *sel1, *sel2; Efl_Text_Cursor_Object *sel1, *sel2;
efl_text_interactive_selection_cursors_get(obj, &sel1, &sel2); efl_text_interactive_selection_cursors_get(obj, &sel1, &sel2);
efl_text_cursor_position_set(sel1, start); efl_text_cursor_object_position_set(sel1, start);
efl_text_cursor_position_set(sel2, end); efl_text_cursor_object_position_set(sel2, end);
res = EINA_TRUE; res = EINA_TRUE;
} }
else if (efl_isa(obj, EFL_ACCESS_TEXT_INTERFACE)) else if (efl_isa(obj, EFL_ACCESS_TEXT_INTERFACE))
@ -2000,9 +2000,9 @@ _text_selection_remove(const Eldbus_Service_Interface *iface, const Eldbus_Messa
{ {
if (sel_num == 0) if (sel_num == 0)
{ {
Efl_Text_Cursor *sel1, *sel2; Efl_Text_Cursor_Object *sel1, *sel2;
efl_text_interactive_selection_cursors_get(obj, &sel1, &sel2); efl_text_interactive_selection_cursors_get(obj, &sel1, &sel2);
efl_text_cursor_range_delete(sel1, sel2); efl_text_cursor_object_range_delete(sel1, sel2);
res = EINA_TRUE; res = EINA_TRUE;
} }
} }
@ -2041,10 +2041,10 @@ _text_selection_set(const Eldbus_Service_Interface *iface, const Eldbus_Message
{ {
if (sel_num == 0) if (sel_num == 0)
{ {
Efl_Text_Cursor *sel1, *sel2; Efl_Text_Cursor_Object *sel1, *sel2;
efl_text_interactive_selection_cursors_get(obj, &sel1, &sel2); efl_text_interactive_selection_cursors_get(obj, &sel1, &sel2);
efl_text_cursor_position_set(sel1, start); efl_text_cursor_object_position_set(sel1, start);
efl_text_cursor_position_set(sel2, end); efl_text_cursor_object_position_set(sel2, end);
res = EINA_TRUE; res = EINA_TRUE;
} }
} }
@ -2086,11 +2086,11 @@ _text_range_extents_get(const Eldbus_Service_Interface *iface, const Eldbus_Mess
if (efl_isa(obj, EFL_TEXT_INTERACTIVE_INTERFACE)) if (efl_isa(obj, EFL_TEXT_INTERACTIVE_INTERFACE))
{ {
Eina_Rectangle *r; Eina_Rectangle *r;
Efl_Text_Cursor *sel1 = efl_ui_textbox_cursor_create(obj); Efl_Text_Cursor_Object *sel1 = efl_ui_textbox_cursor_create(obj);
Efl_Text_Cursor *sel2 = efl_ui_textbox_cursor_create(obj); Efl_Text_Cursor_Object *sel2 = efl_ui_textbox_cursor_create(obj);
efl_text_cursor_position_set(sel1, start); efl_text_cursor_object_position_set(sel1, start);
efl_text_cursor_position_set(sel2, end); efl_text_cursor_object_position_set(sel2, end);
Eina_Iterator *range = efl_text_cursor_range_precise_geometry_get(sel1, sel2); Eina_Iterator *range = efl_text_cursor_object_range_precise_geometry_get(sel1, sel2);
/* This rect represent coordinates x1, y1, x2, y2 (not x,y,w,h). /* This rect represent coordinates x1, y1, x2, y2 (not x,y,w,h).
* In this way we bypass corner cases * In this way we bypass corner cases
@ -2713,16 +2713,16 @@ _text_properties_get(const Eldbus_Service_Interface *interface, const char *prop
{ {
if (checkCharacterCount) if (checkCharacterCount)
{ {
Efl_Text_Cursor *cur = efl_ui_textbox_cursor_create(obj); Efl_Text_Cursor_Object *cur = efl_ui_textbox_cursor_create(obj);
efl_text_cursor_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_LAST); efl_text_cursor_object_move(cur, EFL_TEXT_CURSOR_MOVE_TYPE_LAST);
result = efl_text_cursor_position_get(cur); result = efl_text_cursor_object_position_get(cur);
efl_del(cur); efl_del(cur);
} }
if (checkCarretOffset) if (checkCarretOffset)
{ {
Efl_Text_Cursor *main_cur = efl_text_interactive_main_cursor_get(obj); Efl_Text_Cursor_Object *main_cur = efl_text_interactive_main_cursor_get(obj);
result = efl_text_cursor_position_get(main_cur); result = efl_text_cursor_object_position_get(main_cur);
} }
} }
else if (efl_isa(obj, EFL_ACCESS_TEXT_INTERFACE)) else if (efl_isa(obj, EFL_ACCESS_TEXT_INTERFACE))

View File

@ -83,7 +83,7 @@ extern "C" {
#include <canvas/efl_canvas_scene3d.eo.h> #include <canvas/efl_canvas_scene3d.eo.h>
*/ */
#include <canvas/efl_canvas_snapshot.eo.h> #include <canvas/efl_canvas_snapshot.eo.h>
#include <canvas/efl_text_cursor.eo.h> #include <canvas/efl_text_cursor_object.eo.h>
#include <canvas/efl_text_formatter.eo.h> #include <canvas/efl_text_formatter.eo.h>
#include <canvas/efl_canvas_textblock.eo.h> #include <canvas/efl_canvas_textblock.eo.h>
#include <canvas/efl_canvas_textblock_factory.eo.h> #include <canvas/efl_canvas_textblock_factory.eo.h>

View File

@ -34,7 +34,7 @@ struct _Efl_Canvas_Object_Animation_Event
* *
* @{ * @{
*/ */
#include "canvas/efl_text_cursor.eo.h" #include "canvas/efl_text_cursor_object.eo.h"
#include "canvas/efl_text_formatter.eo.h" #include "canvas/efl_text_formatter.eo.h"
#include "canvas/efl_canvas_textblock.eo.h" #include "canvas/efl_canvas_textblock.eo.h"
#include "canvas/efl_canvas_textblock_factory.eo.h" #include "canvas/efl_canvas_textblock_factory.eo.h"

View File

@ -323,8 +323,8 @@ EAPI Eina_Bool evas_textblock_cursor_at_cluster_as_single_glyph(Evas_Textblock_C
/*Attribute Factory Internal function*/ /*Attribute Factory Internal function*/
EAPI const char * efl_text_formatter_attribute_get(Efl_Text_Attribute_Handle *annotation); EAPI const char * efl_text_formatter_attribute_get(Efl_Text_Attribute_Handle *annotation);
EAPI Eina_Iterator * efl_text_formatter_range_attributes_get(const Efl_Text_Cursor *start, const Efl_Text_Cursor *end); EAPI Eina_Iterator * efl_text_formatter_range_attributes_get(const Efl_Text_Cursor_Object *start, const Efl_Text_Cursor_Object *end);
EAPI void efl_text_formatter_attribute_cursors_get(const Efl_Text_Attribute_Handle *handle, Efl_Text_Cursor *start, Efl_Text_Cursor *end); EAPI void efl_text_formatter_attribute_cursors_get(const Efl_Text_Attribute_Handle *handle, Efl_Text_Cursor_Object *start, Efl_Text_Cursor_Object *end);
EAPI void efl_text_formatter_remove(Efl_Text_Attribute_Handle *annotation); EAPI void efl_text_formatter_remove(Efl_Text_Attribute_Handle *annotation);
EAPI Eina_Bool efl_text_formatter_attribute_is_item(Efl_Text_Attribute_Handle *annotation); EAPI Eina_Bool efl_text_formatter_attribute_is_item(Efl_Text_Attribute_Handle *annotation);
EAPI Eina_Bool efl_text_formatter_item_geometry_get(const Efl_Text_Attribute_Handle *annotation, int *x, int *y, int *w, int *h); EAPI Eina_Bool efl_text_formatter_item_geometry_get(const Efl_Text_Attribute_Handle *annotation, int *x, int *y, int *w, int *h);

View File

@ -29,7 +29,7 @@ class Efl.Canvas.Textblock extends Efl.Canvas.Object implements Efl.Text,
[[Creates a new cursor and adds it to the text object. [[Creates a new cursor and adds it to the text object.
This cursor can be used to manipulate and iterate the content of the text object. This cursor can be used to manipulate and iterate the content of the text object.
]] ]]
return: Efl.Text.Cursor @move; [[The created text cursor.]] return: Efl.Text_Cursor.Object @move; [[The created text cursor.]]
} }
visible_range_get { visible_range_get {
[[Returns the currently visible range. [[Returns the currently visible range.
@ -40,8 +40,8 @@ class Efl.Canvas.Textblock extends Efl.Canvas.Object implements Efl.Text,
]] ]]
return: bool; [[$true on success.]] return: bool; [[$true on success.]]
params { params {
@in start: Efl.Text.Cursor; [[Range start position.]] @in start: Efl.Text_Cursor.Object; [[Range start position.]]
@in end: Efl.Text.Cursor; [[Range end position.]] @in end: Efl.Text_Cursor.Object; [[Range end position.]]
} }
} }
@property style_insets { @property style_insets {
@ -73,7 +73,7 @@ class Efl.Canvas.Textblock extends Efl.Canvas.Object implements Efl.Text,
@property newline_as_paragraph_separator { @property newline_as_paragraph_separator {
[[When $true, the newline character will behave as a paragraph separator. [[When $true, the newline character will behave as a paragraph separator.
Paragraph separator equal U+2029, and new line equal U+000A. Paragraph separator equal U+2029, and new line equal U+000A.
This will effect a lot of text behaviour like @Efl.Text.Cursor.move method. This will effect a lot of text behaviour like @Efl.Text_Cursor.Object.move method.
]] ]]
set {} set {}
get {} get {}

View File

@ -290,7 +290,7 @@ _evas_textblock_relayout_if_needed(Evas_Object *o);
* @param canvas_text_obj the canvas text object, where cursor methods will take effect. * @param canvas_text_obj the canvas text object, where cursor methods will take effect.
* @param text_obj the text_object that user can get using cursor text_object property. * @param text_obj the text_object that user can get using cursor text_object property.
*/ */
EAPI void efl_text_cursor_text_object_set(Eo *cursor, Eo *canvas_text_obj, Eo *text_obj); EAPI void efl_text_cursor_object_text_object_set(Eo *cursor, Eo *canvas_text_obj, Eo *text_obj);
/** /**
@ -298,7 +298,7 @@ EAPI void efl_text_cursor_text_object_set(Eo *cursor, Eo *canvas_text_obj, Eo *t
* *
* @param parent the parent of the cursor object. * @param parent the parent of the cursor object.
*/ */
EAPI Eo* efl_text_cursor_create(Eo *parent); EAPI Eo* efl_text_cursor_object_create(Eo *parent);
/** /**
@ -307,7 +307,7 @@ EAPI Eo* efl_text_cursor_create(Eo *parent);
* @param obj the cursor object. * @param obj the cursor object.
* @param handle the text cursor handle. * @param handle the text cursor handle.
*/ */
EAPI void efl_text_cursor_handle_set(Eo *obj, Efl_Text_Cursor_Handle *handle); EAPI void efl_text_cursor_object_handle_set(Eo *obj, Efl_Text_Cursor_Handle *handle);
/** /**
* Internally gets cursor handle(legacy textblock cursor) from cursor object. * Internally gets cursor handle(legacy textblock cursor) from cursor object.
@ -315,7 +315,7 @@ EAPI void efl_text_cursor_handle_set(Eo *obj, Efl_Text_Cursor_Handle *handle);
* @param obj the cursor object. * @param obj the cursor object.
* @return the internal text cursor handle. * @return the internal text cursor handle.
*/ */
EAPI Efl_Text_Cursor_Handle *efl_text_cursor_handle_get(const Eo *obj); EAPI Efl_Text_Cursor_Handle *efl_text_cursor_object_handle_get(const Eo *obj);
#undef EAPI #undef EAPI
#define EAPI #define EAPI

View File

@ -3,14 +3,14 @@
#include "efl_canvas_textblock_internal.h" #include "efl_canvas_textblock_internal.h"
#include "eo_internal.h" #include "eo_internal.h"
#define MY_CLASS EFL_TEXT_CURSOR_CLASS #define MY_CLASS EFL_TEXT_CURSOR_OBJECT_CLASS
#define MY_CLASS_NAME "Efl.Text.Cursor" #define MY_CLASS_NAME "Efl.Text.Cursor"
typedef struct typedef struct
{ {
Efl_Text_Cursor_Handle *handle; Efl_Text_Cursor_Handle *handle;
Efl_Canvas_Object *text_obj; Efl_Canvas_Object *text_obj;
} Efl_Text_Cursor_Data; } Efl_Text_Cursor_Object_Data;
struct _Evas_Textblock_Selection_Iterator struct _Evas_Textblock_Selection_Iterator
{ {
@ -21,22 +21,22 @@ struct _Evas_Textblock_Selection_Iterator
typedef struct _Evas_Textblock_Selection_Iterator Evas_Textblock_Selection_Iterator; typedef struct _Evas_Textblock_Selection_Iterator Evas_Textblock_Selection_Iterator;
EFL_CLASS_SIMPLE_CLASS(efl_text_cursor, "Efl.Text.Cursor", EFL_TEXT_CURSOR_CLASS) EFL_CLASS_SIMPLE_CLASS(efl_text_cursor_object, "Efl.Text.Cursor", EFL_TEXT_CURSOR_OBJECT_CLASS)
EOLIAN static void EOLIAN static void
_efl_text_cursor_position_set(Eo *obj EINA_UNUSED, Efl_Text_Cursor_Data *pd, int position) _efl_text_cursor_object_position_set(Eo *obj EINA_UNUSED, Efl_Text_Cursor_Object_Data *pd, int position)
{ {
evas_textblock_cursor_pos_set(pd->handle, position); evas_textblock_cursor_pos_set(pd->handle, position);
} }
EOLIAN static int EOLIAN static int
_efl_text_cursor_position_get(const Eo *obj EINA_UNUSED, Efl_Text_Cursor_Data *pd) _efl_text_cursor_object_position_get(const Eo *obj EINA_UNUSED, Efl_Text_Cursor_Object_Data *pd)
{ {
return evas_textblock_cursor_pos_get(pd->handle); return evas_textblock_cursor_pos_get(pd->handle);
} }
EOLIAN static Eina_Unicode EOLIAN static Eina_Unicode
_efl_text_cursor_content_get(const Eo *obj EINA_UNUSED, Efl_Text_Cursor_Data *pd) _efl_text_cursor_object_content_get(const Eo *obj EINA_UNUSED, Efl_Text_Cursor_Object_Data *pd)
{ {
if (pd->handle && pd->handle->node) if (pd->handle && pd->handle->node)
return eina_ustrbuf_string_get(pd->handle->node->unicode)[pd->handle->pos]; return eina_ustrbuf_string_get(pd->handle->node->unicode)[pd->handle->pos];
@ -45,7 +45,7 @@ _efl_text_cursor_content_get(const Eo *obj EINA_UNUSED, Efl_Text_Cursor_Data *pd
} }
EOLIAN static Eina_Rect EOLIAN static Eina_Rect
_efl_text_cursor_content_geometry_get(const Eo *obj EINA_UNUSED, Efl_Text_Cursor_Data *pd) _efl_text_cursor_object_content_geometry_get(const Eo *obj EINA_UNUSED, Efl_Text_Cursor_Object_Data *pd)
{ {
Eina_Rect rect = {0}; Eina_Rect rect = {0};
Eina_Bool item_is = evas_textblock_cursor_format_item_geometry_get(pd->handle, &(rect.x), &(rect.y), &(rect.w), &(rect.h)); Eina_Bool item_is = evas_textblock_cursor_format_item_geometry_get(pd->handle, &(rect.x), &(rect.y), &(rect.w), &(rect.h));
@ -58,13 +58,13 @@ _efl_text_cursor_content_geometry_get(const Eo *obj EINA_UNUSED, Efl_Text_Cursor
} }
EOLIAN static void EOLIAN static void
_efl_text_cursor_line_number_set(Eo *obj EINA_UNUSED, Efl_Text_Cursor_Data *pd, int line_number) _efl_text_cursor_object_line_number_set(Eo *obj EINA_UNUSED, Efl_Text_Cursor_Object_Data *pd, int line_number)
{ {
evas_textblock_cursor_line_set(pd->handle, line_number); evas_textblock_cursor_line_set(pd->handle, line_number);
} }
EOLIAN static int EOLIAN static int
_efl_text_cursor_line_number_get(const Eo *obj EINA_UNUSED, Efl_Text_Cursor_Data *pd) _efl_text_cursor_object_line_number_get(const Eo *obj EINA_UNUSED, Efl_Text_Cursor_Object_Data *pd)
{ {
Eina_Rect rect = {0}; Eina_Rect rect = {0};
@ -72,7 +72,7 @@ _efl_text_cursor_line_number_get(const Eo *obj EINA_UNUSED, Efl_Text_Cursor_Data
} }
EOLIAN static Eina_Rect EOLIAN static Eina_Rect
_efl_text_cursor_cursor_geometry_get(const Eo *obj EINA_UNUSED, Efl_Text_Cursor_Data *pd, Efl_Text_Cursor_Type ctype) _efl_text_cursor_object_cursor_geometry_get(const Eo *obj EINA_UNUSED, Efl_Text_Cursor_Object_Data *pd, Efl_Text_Cursor_Type ctype)
{ {
Eina_Rect rc = {0}; Eina_Rect rc = {0};
Evas_Textblock_Cursor_Type cursor_type = (ctype == EFL_TEXT_CURSOR_TYPE_BEFORE) ? EVAS_TEXTBLOCK_CURSOR_BEFORE : EVAS_TEXTBLOCK_CURSOR_UNDER; Evas_Textblock_Cursor_Type cursor_type = (ctype == EFL_TEXT_CURSOR_TYPE_BEFORE) ? EVAS_TEXTBLOCK_CURSOR_BEFORE : EVAS_TEXTBLOCK_CURSOR_UNDER;
@ -81,7 +81,7 @@ _efl_text_cursor_cursor_geometry_get(const Eo *obj EINA_UNUSED, Efl_Text_Cursor_
} }
EOLIAN static Eina_Bool EOLIAN static Eina_Bool
_efl_text_cursor_lower_cursor_geometry_get(const Eo *obj EINA_UNUSED, Efl_Text_Cursor_Data *pd, Eina_Rect *geometry2) _efl_text_cursor_object_lower_cursor_geometry_get(const Eo *obj EINA_UNUSED, Efl_Text_Cursor_Object_Data *pd, Eina_Rect *geometry2)
{ {
Eina_Rect rc = {0}; Eina_Rect rc = {0};
Eina_Bool b_ret = EINA_FALSE; Eina_Bool b_ret = EINA_FALSE;
@ -94,24 +94,24 @@ _efl_text_cursor_lower_cursor_geometry_get(const Eo *obj EINA_UNUSED, Efl_Text_C
} }
EOLIAN static Eina_Bool EOLIAN static Eina_Bool
_efl_text_cursor_equal(const Eo *obj EINA_UNUSED, Efl_Text_Cursor_Data *pd, const Efl_Text_Cursor *dst) _efl_text_cursor_object_equal(const Eo *obj EINA_UNUSED, Efl_Text_Cursor_Object_Data *pd, const Efl_Text_Cursor_Object *dst)
{ {
return evas_textblock_cursor_equal(pd->handle, efl_text_cursor_handle_get(dst)); return evas_textblock_cursor_equal(pd->handle, efl_text_cursor_object_handle_get(dst));
} }
EOLIAN static int EOLIAN static int
_efl_text_cursor_compare(const Eo *obj EINA_UNUSED, Efl_Text_Cursor_Data *pd, const Efl_Text_Cursor *dst) _efl_text_cursor_object_compare(const Eo *obj EINA_UNUSED, Efl_Text_Cursor_Object_Data *pd, const Efl_Text_Cursor_Object *dst)
{ {
return evas_textblock_cursor_compare(pd->handle, efl_text_cursor_handle_get(dst)); return evas_textblock_cursor_compare(pd->handle, efl_text_cursor_object_handle_get(dst));
} }
static void static void
_efl_text_cursor_copy(const Efl_Text_Cursor *obj, Efl_Text_Cursor *dst) _efl_text_cursor_object_copy(const Efl_Text_Cursor_Object *obj, Efl_Text_Cursor_Object *dst)
{ {
Efl_Text_Cursor_Data *pd = efl_data_scope_safe_get(obj, MY_CLASS); Efl_Text_Cursor_Object_Data *pd = efl_data_scope_safe_get(obj, MY_CLASS);
EINA_SAFETY_ON_NULL_RETURN(pd); EINA_SAFETY_ON_NULL_RETURN(pd);
Efl_Text_Cursor_Data *pd_dest = efl_data_scope_safe_get(dst, MY_CLASS); Efl_Text_Cursor_Object_Data *pd_dest = efl_data_scope_safe_get(dst, MY_CLASS);
EINA_SAFETY_ON_NULL_RETURN(pd_dest); EINA_SAFETY_ON_NULL_RETURN(pd_dest);
if (!pd->handle) return; if (!pd->handle) return;
@ -119,22 +119,22 @@ _efl_text_cursor_copy(const Efl_Text_Cursor *obj, Efl_Text_Cursor *dst)
Efl_Text_Cursor_Handle *handle = evas_object_textblock_cursor_new(pd->handle->obj); Efl_Text_Cursor_Handle *handle = evas_object_textblock_cursor_new(pd->handle->obj);
evas_textblock_cursor_copy(pd->handle, handle); evas_textblock_cursor_copy(pd->handle, handle);
pd_dest->text_obj = pd->text_obj; pd_dest->text_obj = pd->text_obj;
efl_text_cursor_handle_set(dst, handle); efl_text_cursor_object_handle_set(dst, handle);
evas_textblock_cursor_unref(handle, NULL); evas_textblock_cursor_unref(handle, NULL);
} }
EOLIAN static Efl_Text_Cursor * EOLIAN static Efl_Text_Cursor_Object *
_efl_text_cursor_efl_duplicate_duplicate(const Eo *obj, Efl_Text_Cursor_Data *pd EINA_UNUSED) _efl_text_cursor_object_efl_duplicate_duplicate(const Eo *obj, Efl_Text_Cursor_Object_Data *pd EINA_UNUSED)
{ {
Efl_Text_Cursor *dup = efl_text_cursor_create(efl_parent_get(obj)); Efl_Text_Cursor_Object *dup = efl_text_cursor_object_create(efl_parent_get(obj));
_efl_text_cursor_copy(obj, dup); _efl_text_cursor_object_copy(obj, dup);
return dup; return dup;
} }
EOLIAN static Eina_Bool EOLIAN static Eina_Bool
_efl_text_cursor_move(Eo *obj EINA_UNUSED, Efl_Text_Cursor_Data *pd, Efl_Text_Cursor_Move_Type type) _efl_text_cursor_object_move(Eo *obj EINA_UNUSED, Efl_Text_Cursor_Object_Data *pd, Efl_Text_Cursor_Move_Type type)
{ {
Eina_Bool moved = EINA_FALSE; Eina_Bool moved = EINA_FALSE;
int pos = evas_textblock_cursor_pos_get(pd->handle); int pos = evas_textblock_cursor_pos_get(pd->handle);
@ -200,13 +200,13 @@ _efl_text_cursor_move(Eo *obj EINA_UNUSED, Efl_Text_Cursor_Data *pd, Efl_Text_Cu
} }
EOLIAN static void EOLIAN static void
_efl_text_cursor_char_delete(Eo *obj EINA_UNUSED, Efl_Text_Cursor_Data *pd) _efl_text_cursor_object_char_delete(Eo *obj EINA_UNUSED, Efl_Text_Cursor_Object_Data *pd)
{ {
evas_textblock_cursor_char_delete(pd->handle); evas_textblock_cursor_char_delete(pd->handle);
} }
EOLIAN static Eina_Bool EOLIAN static Eina_Bool
_efl_text_cursor_line_jump_by(Eo *obj EINA_UNUSED, Efl_Text_Cursor_Data *pd, int by) _efl_text_cursor_object_line_jump_by(Eo *obj EINA_UNUSED, Efl_Text_Cursor_Object_Data *pd, int by)
{ {
if (!pd->handle) return EINA_FALSE; if (!pd->handle) return EINA_FALSE;
@ -218,13 +218,13 @@ _efl_text_cursor_line_jump_by(Eo *obj EINA_UNUSED, Efl_Text_Cursor_Data *pd, int
} }
EOLIAN static void EOLIAN static void
_efl_text_cursor_char_coord_set(Eo *obj EINA_UNUSED, Efl_Text_Cursor_Data *pd, Eina_Position2D coord) _efl_text_cursor_object_char_coord_set(Eo *obj EINA_UNUSED, Efl_Text_Cursor_Object_Data *pd, Eina_Position2D coord)
{ {
evas_textblock_cursor_char_coord_set(pd->handle, coord.x, coord.y); evas_textblock_cursor_char_coord_set(pd->handle, coord.x, coord.y);
} }
EOLIAN static void EOLIAN static void
_efl_text_cursor_cluster_coord_set(Eo *obj EINA_UNUSED, Efl_Text_Cursor_Data *pd, Eina_Position2D coord) _efl_text_cursor_object_cluster_coord_set(Eo *obj EINA_UNUSED, Efl_Text_Cursor_Object_Data *pd, Eina_Position2D coord)
{ {
evas_textblock_cursor_cluster_coord_set(pd->handle, coord.x, coord.y); evas_textblock_cursor_cluster_coord_set(pd->handle, coord.x, coord.y);
} }
@ -294,33 +294,33 @@ _cursor_text_append(Efl_Text_Cursor_Handle *cur,
} }
EOLIAN static void EOLIAN static void
_efl_text_cursor_text_insert(Eo *obj EINA_UNUSED, Efl_Text_Cursor_Data *pd, const char *text) _efl_text_cursor_object_text_insert(Eo *obj EINA_UNUSED, Efl_Text_Cursor_Object_Data *pd, const char *text)
{ {
_cursor_text_append(pd->handle, text); _cursor_text_append(pd->handle, text);
} }
EOLIAN static char * EOLIAN static char *
_efl_text_cursor_range_text_get(const Eo *obj EINA_UNUSED, Efl_Text_Cursor_Data *pd, Efl_Text_Cursor *cur2) _efl_text_cursor_object_range_text_get(const Eo *obj EINA_UNUSED, Efl_Text_Cursor_Object_Data *pd, Efl_Text_Cursor_Object *cur2)
{ {
return evas_textblock_cursor_range_text_get(pd->handle, efl_text_cursor_handle_get(cur2), EVAS_TEXTBLOCK_TEXT_PLAIN); return evas_textblock_cursor_range_text_get(pd->handle, efl_text_cursor_object_handle_get(cur2), EVAS_TEXTBLOCK_TEXT_PLAIN);
} }
EOLIAN static void EOLIAN static void
_efl_text_cursor_markup_insert(Eo *obj EINA_UNUSED, Efl_Text_Cursor_Data *pd, const char *markup) _efl_text_cursor_object_markup_insert(Eo *obj EINA_UNUSED, Efl_Text_Cursor_Object_Data *pd, const char *markup)
{ {
evas_object_textblock_text_markup_prepend(pd->handle, markup); evas_object_textblock_text_markup_prepend(pd->handle, markup);
} }
EOLIAN static char * EOLIAN static char *
_efl_text_cursor_range_markup_get(const Eo *obj EINA_UNUSED, Efl_Text_Cursor_Data *pd, Efl_Text_Cursor *cur2) _efl_text_cursor_object_range_markup_get(const Eo *obj EINA_UNUSED, Efl_Text_Cursor_Object_Data *pd, Efl_Text_Cursor_Object *cur2)
{ {
return evas_textblock_cursor_range_text_get(pd->handle,efl_text_cursor_handle_get(cur2), EVAS_TEXTBLOCK_TEXT_MARKUP); return evas_textblock_cursor_range_text_get(pd->handle,efl_text_cursor_object_handle_get(cur2), EVAS_TEXTBLOCK_TEXT_MARKUP);
} }
EOLIAN static Eina_Iterator * EOLIAN static Eina_Iterator *
_efl_text_cursor_range_geometry_get(Eo *obj EINA_UNUSED, Efl_Text_Cursor_Data *pd, Efl_Text_Cursor *cur2) _efl_text_cursor_object_range_geometry_get(Eo *obj EINA_UNUSED, Efl_Text_Cursor_Object_Data *pd, Efl_Text_Cursor_Object *cur2)
{ {
return evas_textblock_cursor_range_simple_geometry_get(pd->handle, efl_text_cursor_handle_get(cur2)); return evas_textblock_cursor_range_simple_geometry_get(pd->handle, efl_text_cursor_object_handle_get(cur2));
} }
/** selection iterator */ /** selection iterator */
@ -405,22 +405,22 @@ _evas_textblock_selection_iterator_new(Eina_List *list)
} }
EOLIAN static Eina_Iterator * EOLIAN static Eina_Iterator *
_efl_text_cursor_range_precise_geometry_get(Eo *obj EINA_UNUSED, Efl_Text_Cursor_Data *pd, Efl_Text_Cursor *cur2) _efl_text_cursor_object_range_precise_geometry_get(Eo *obj EINA_UNUSED, Efl_Text_Cursor_Object_Data *pd, Efl_Text_Cursor_Object *cur2)
{ {
Eina_List *rects = evas_textblock_cursor_range_geometry_get(pd->handle, efl_text_cursor_handle_get(cur2)); Eina_List *rects = evas_textblock_cursor_range_geometry_get(pd->handle, efl_text_cursor_object_handle_get(cur2));
return _evas_textblock_selection_iterator_new(rects); return _evas_textblock_selection_iterator_new(rects);
} }
EOLIAN static void EOLIAN static void
_efl_text_cursor_range_delete(Eo *obj EINA_UNUSED, Efl_Text_Cursor_Data *pd, Efl_Text_Cursor *cur2) _efl_text_cursor_object_range_delete(Eo *obj EINA_UNUSED, Efl_Text_Cursor_Object_Data *pd, Efl_Text_Cursor_Object *cur2)
{ {
evas_textblock_cursor_range_delete(pd->handle, efl_text_cursor_handle_get(cur2)); evas_textblock_cursor_range_delete(pd->handle, efl_text_cursor_object_handle_get(cur2));
} }
EAPI void EAPI void
efl_text_cursor_handle_set(Eo *obj, Efl_Text_Cursor_Handle *handle) efl_text_cursor_object_handle_set(Eo *obj, Efl_Text_Cursor_Handle *handle)
{ {
Efl_Text_Cursor_Data *pd = efl_data_scope_safe_get(obj, MY_CLASS); Efl_Text_Cursor_Object_Data *pd = efl_data_scope_safe_get(obj, MY_CLASS);
EINA_SAFETY_ON_NULL_RETURN(pd); EINA_SAFETY_ON_NULL_RETURN(pd);
if (handle == pd->handle) if (handle == pd->handle)
return; return;
@ -436,21 +436,21 @@ efl_text_cursor_handle_set(Eo *obj, Efl_Text_Cursor_Handle *handle)
} }
EAPI Efl_Text_Cursor_Handle * EAPI Efl_Text_Cursor_Handle *
efl_text_cursor_handle_get(const Eo *obj) efl_text_cursor_object_handle_get(const Eo *obj)
{ {
Efl_Text_Cursor_Data *pd = efl_data_scope_safe_get(obj, MY_CLASS); Efl_Text_Cursor_Object_Data *pd = efl_data_scope_safe_get(obj, MY_CLASS);
EINA_SAFETY_ON_NULL_RETURN_VAL(pd, NULL); EINA_SAFETY_ON_NULL_RETURN_VAL(pd, NULL);
return pd->handle; return pd->handle;
} }
Eo* efl_text_cursor_create(Eo *parent) Eo* efl_text_cursor_object_create(Eo *parent)
{ {
return efl_add(efl_text_cursor_realized_class_get(), parent); return efl_add(efl_text_cursor_object_realized_class_get(), parent);
} }
void efl_text_cursor_text_object_set(Eo *cursor, Eo *canvas_text_obj, Eo *text_obj) void efl_text_cursor_object_text_object_set(Eo *cursor, Eo *canvas_text_obj, Eo *text_obj)
{ {
Efl_Text_Cursor_Data *pd = efl_data_scope_safe_get(cursor, MY_CLASS); Efl_Text_Cursor_Object_Data *pd = efl_data_scope_safe_get(cursor, MY_CLASS);
EINA_SAFETY_ON_NULL_RETURN(pd); EINA_SAFETY_ON_NULL_RETURN(pd);
Efl_Text_Cursor_Handle *handle = NULL; Efl_Text_Cursor_Handle *handle = NULL;
if (efl_isa(canvas_text_obj, EFL_CANVAS_TEXTBLOCK_CLASS)) if (efl_isa(canvas_text_obj, EFL_CANVAS_TEXTBLOCK_CLASS))
@ -465,19 +465,19 @@ void efl_text_cursor_text_object_set(Eo *cursor, Eo *canvas_text_obj, Eo *text_o
if (handle) if (handle)
{ {
efl_text_cursor_handle_set(cursor, handle); efl_text_cursor_object_handle_set(cursor, handle);
evas_textblock_cursor_unref(handle, NULL); evas_textblock_cursor_unref(handle, NULL);
} }
} }
EOLIAN static Efl_Canvas_Object * EOLIAN static Efl_Canvas_Object *
_efl_text_cursor_text_object_get(const Eo *obj EINA_UNUSED, Efl_Text_Cursor_Data *pd) _efl_text_cursor_object_text_object_get(const Eo *obj EINA_UNUSED, Efl_Text_Cursor_Object_Data *pd)
{ {
return pd->text_obj; return pd->text_obj;
} }
EOLIAN static void EOLIAN static void
_efl_text_cursor_efl_object_destructor(Eo *obj, Efl_Text_Cursor_Data *pd) _efl_text_cursor_object_efl_object_destructor(Eo *obj, Efl_Text_Cursor_Object_Data *pd)
{ {
if (pd->handle) if (pd->handle)
{ {
@ -494,4 +494,4 @@ _efl_text_cursor_efl_object_destructor(Eo *obj, Efl_Text_Cursor_Data *pd)
} }
#include "efl_text_cursor.eo.c" #include "efl_text_cursor_object.eo.c"

View File

@ -1,14 +1,14 @@
enum Efl.Text.Cursor_Type enum Efl.Text_Cursor.Type
{ {
[[Shape of the text cursor. [[Shape of the text cursor.
This is normally used in @Efl.Text.Cursor methods to retrieve the cursor's geometry. This is normally used in @Efl.Text_Cursor.Object methods to retrieve the cursor's geometry.
@since 1.24 @since 1.24
]] ]]
before, [[Cursor is a vertical bar (I-beam) placed before the selected character.]] before, [[Cursor is a vertical bar (I-beam) placed before the selected character.]]
under [[Cursor is an horizontal line (underscore) placed under the selected character.]] under [[Cursor is an horizontal line (underscore) placed under the selected character.]]
} }
enum Efl.Text.Cursor_Move_Type enum Efl.Text_Cursor.Move_Type
{ {
[[Text cursor movement types. [[Text cursor movement types.
@ -32,12 +32,11 @@ enum Efl.Text.Cursor_Move_Type
paragraph_previous [[Advances to the end of the previous paragraph.]] paragraph_previous [[Advances to the end of the previous paragraph.]]
} }
abstract Efl.Text.Cursor extends Efl.Object implements Efl.Duplicate{ abstract Efl.Text_Cursor.Object extends Efl.Object implements Efl.Duplicate{
[[Cursor API. [[Cursor API.
@since 1.24 @since 1.24
]] ]]
c_prefix: efl_text_cursor;
methods { methods {
@property position { @property position {
@ -80,11 +79,11 @@ abstract Efl.Text.Cursor extends Efl.Object implements Efl.Duplicate{
of the same direction as paragraph,else ("split cursor") will return of the same direction as paragraph,else ("split cursor") will return
and you need to consider the lower ("split cursor") @.lower_cursor_geometry and you need to consider the lower ("split cursor") @.lower_cursor_geometry
Split cursor geometry is valid only in @Efl.Text.Cursor_Type.before cursor mode.]] Split cursor geometry is valid only in @Efl.Text_Cursor.Type.before cursor mode.]]
get { get {
} }
keys { keys {
ctype: Efl.Text.Cursor_Type; [[The type of the cursor.]] ctype: Efl.Text_Cursor.Type; [[The type of the cursor.]]
} }
values { values {
geometry: Eina.Rect; [[The geometry of the cursor (or upper cursor) in pixels.]] geometry: Eina.Rect; [[The geometry of the cursor (or upper cursor) in pixels.]]
@ -95,7 +94,7 @@ abstract Efl.Text.Cursor extends Efl.Object implements Efl.Duplicate{
[[Returns the geometry of the lower ("split cursor"), if logical cursor is [[Returns the geometry of the lower ("split cursor"), if logical cursor is
between LTR/RTL text. between LTR/RTL text.
To get the upper ("split cursor") @.cursor_geometry with @Efl.Text.Cursor_Type.before cursor mode.]] To get the upper ("split cursor") @.cursor_geometry with @Efl.Text_Cursor.Type.before cursor mode.]]
get { get {
return: bool; [[$true if split cursor, $false otherwise.]] return: bool; [[$true if split cursor, $false otherwise.]]
} }
@ -107,7 +106,7 @@ abstract Efl.Text.Cursor extends Efl.Object implements Efl.Duplicate{
equal @const { equal @const {
[[Check if two cursors are equal - faster than compare if all you want is equality.]] [[Check if two cursors are equal - faster than compare if all you want is equality.]]
params { params {
dst: const(Efl.Text.Cursor); [[Destination Cursor.]] dst: const(Efl.Text_Cursor.Object); [[Destination Cursor.]]
} }
return: bool; [[$true if cursors are equal, $false otherwise.]] return: bool; [[$true if cursors are equal, $false otherwise.]]
} }
@ -116,7 +115,7 @@ abstract Efl.Text.Cursor extends Efl.Object implements Efl.Duplicate{
[[Compare two cursors [[Compare two cursors
Return <0 if cursor position less than dst, 0 if cursor == dest and >0 otherwise.]] Return <0 if cursor position less than dst, 0 if cursor == dest and >0 otherwise.]]
params { params {
dst: const(Efl.Text.Cursor); [[Destination Cursor.]] dst: const(Efl.Text_Cursor.Object); [[Destination Cursor.]]
} }
return: int; [[Difference between cursors.]] return: int; [[Difference between cursors.]]
} }
@ -124,7 +123,7 @@ abstract Efl.Text.Cursor extends Efl.Object implements Efl.Duplicate{
move { move {
[[Move the cursor.]] [[Move the cursor.]]
params { params {
@in type: Efl.Text.Cursor_Move_Type; [[The type of movement.]] @in type: Efl.Text_Cursor.Move_Type; [[The type of movement.]]
} }
return: bool; [[True if actually moved.]] return: bool; [[True if actually moved.]]
} }
@ -175,7 +174,7 @@ abstract Efl.Text.Cursor extends Efl.Object implements Efl.Duplicate{
[[Markup of a given range in the text.]] [[Markup of a given range in the text.]]
return: mstring @move; [[The markup in the given range.]] return: mstring @move; [[The markup in the given range.]]
params { params {
cur2: Efl.Text.Cursor; [[End of range.]] cur2: Efl.Text_Cursor.Object; [[End of range.]]
} }
} }
@ -183,7 +182,7 @@ abstract Efl.Text.Cursor extends Efl.Object implements Efl.Duplicate{
[[Returns the text in the range between cursor and $cur2.]] [[Returns the text in the range between cursor and $cur2.]]
return: mstring @move; [[The text in the given range.]] return: mstring @move; [[The text in the given range.]]
params { params {
cur2: Efl.Text.Cursor; [[End of range.]] cur2: Efl.Text_Cursor.Object; [[End of range.]]
} }
} }
@ -194,7 +193,7 @@ abstract Efl.Text.Cursor extends Efl.Object implements Efl.Duplicate{
range are merged into one big rectangle. This is an optimized range are merged into one big rectangle. This is an optimized
version of @.range_precise_geometry_get.]] version of @.range_precise_geometry_get.]]
params { params {
cur2: Efl.Text.Cursor; [[End of range.]] cur2: Efl.Text_Cursor.Object; [[End of range.]]
} }
return: iterator<Eina.Rect> @move; [[ return: iterator<Eina.Rect> @move; [[
Iterator on all geometries of the given range.]] Iterator on all geometries of the given range.]]
@ -206,7 +205,7 @@ abstract Efl.Text.Cursor extends Efl.Object implements Efl.Duplicate{
The geometry is represented as rectangles for each of the line The geometry is represented as rectangles for each of the line
segments in the given range [$cur1, $cur2].]] segments in the given range [$cur1, $cur2].]]
params { params {
cur2: Efl.Text.Cursor; [[End of range.]] cur2: Efl.Text_Cursor.Object; [[End of range.]]
} }
return: iterator<Eina.Rect> @move; [[ return: iterator<Eina.Rect> @move; [[
Iterator on all simple geometries of the given range.]] Iterator on all simple geometries of the given range.]]
@ -217,7 +216,7 @@ abstract Efl.Text.Cursor extends Efl.Object implements Efl.Duplicate{
This removes all the text in given range [$start,$end].]] This removes all the text in given range [$start,$end].]]
params { params {
@in cur2: Efl.Text.Cursor; [[Range end position.]] @in cur2: Efl.Text_Cursor.Object; [[Range end position.]]
} }
} }

View File

@ -2,7 +2,7 @@
#include "evas_common_private.h" #include "evas_common_private.h"
#include "evas_private.h" #include "evas_private.h"
#include "efl_canvas_textblock_internal.h" #include "efl_canvas_textblock_internal.h"
#include "efl_text_cursor.eo.h" #include "efl_text_cursor_object.eo.h"
#define MY_CLASS EFL_TEXT_FORMATTER_CLASS #define MY_CLASS EFL_TEXT_FORMATTER_CLASS
@ -12,22 +12,22 @@ typedef struct
} Efl_Text_Formatter_Data; } Efl_Text_Formatter_Data;
EOLIAN static void EOLIAN static void
_efl_text_formatter_attribute_insert(const Efl_Text_Cursor *start, const Efl_Text_Cursor *end, const char *format) _efl_text_formatter_attribute_insert(const Efl_Text_Cursor_Object *start, const Efl_Text_Cursor_Object *end, const char *format)
{ {
EINA_SAFETY_ON_TRUE_RETURN(!efl_text_cursor_handle_get(start) || EINA_SAFETY_ON_TRUE_RETURN(!efl_text_cursor_object_handle_get(start) ||
!efl_text_cursor_handle_get(end) || !efl_text_cursor_object_handle_get(end) ||
efl_text_cursor_handle_get(start)->obj != efl_text_cursor_handle_get(end)->obj); efl_text_cursor_object_handle_get(start)->obj != efl_text_cursor_object_handle_get(end)->obj);
Eo *eo_obj= efl_text_cursor_handle_get(start)->obj; Eo *eo_obj= efl_text_cursor_object_handle_get(start)->obj;
evas_textblock_async_block(eo_obj); evas_textblock_async_block(eo_obj);
_evas_textblock_annotations_insert(eo_obj, efl_text_cursor_handle_get(start), efl_text_cursor_handle_get(end), format, _evas_textblock_annotations_insert(eo_obj, efl_text_cursor_object_handle_get(start), efl_text_cursor_object_handle_get(end), format,
EINA_FALSE); EINA_FALSE);
efl_event_callback_legacy_call(eo_obj, EFL_CANVAS_TEXTBLOCK_EVENT_CHANGED, NULL); efl_event_callback_legacy_call(eo_obj, EFL_CANVAS_TEXTBLOCK_EVENT_CHANGED, NULL);
} }
EOLIAN static unsigned int EOLIAN static unsigned int
_efl_text_formatter_attribute_clear(const Efl_Text_Cursor *start, const Efl_Text_Cursor *end) _efl_text_formatter_attribute_clear(const Efl_Text_Cursor_Object *start, const Efl_Text_Cursor_Object *end)
{ {
unsigned int ret = 0; unsigned int ret = 0;
Eina_Iterator *annotations; Eina_Iterator *annotations;
@ -55,29 +55,29 @@ efl_text_formatter_attribute_get(Efl_Text_Attribute_Handle *annotation)
} }
Eina_Iterator * Eina_Iterator *
efl_text_formatter_range_attributes_get(const Efl_Text_Cursor *start, const Efl_Text_Cursor *end) efl_text_formatter_range_attributes_get(const Efl_Text_Cursor_Object *start, const Efl_Text_Cursor_Object *end)
{ {
Eina_List *lst = NULL; Eina_List *lst = NULL;
Efl_Text_Attribute_Handle *it; Efl_Text_Attribute_Handle *it;
EINA_SAFETY_ON_TRUE_RETURN_VAL(!efl_text_cursor_handle_get(start) || EINA_SAFETY_ON_TRUE_RETURN_VAL(!efl_text_cursor_object_handle_get(start) ||
!efl_text_cursor_handle_get(end) || !efl_text_cursor_object_handle_get(end) ||
efl_text_cursor_handle_get(start)->obj != efl_text_cursor_handle_get(end)->obj, NULL); efl_text_cursor_object_handle_get(start)->obj != efl_text_cursor_object_handle_get(end)->obj, NULL);
Eina_Inlist *annotations = _evas_textblock_annotations_get(efl_text_cursor_handle_get(start)->obj); Eina_Inlist *annotations = _evas_textblock_annotations_get(efl_text_cursor_object_handle_get(start)->obj);
EINA_INLIST_FOREACH(annotations, it) EINA_INLIST_FOREACH(annotations, it)
{ {
Efl_Text_Cursor_Handle start2, end2; Efl_Text_Cursor_Handle start2, end2;
_evas_textblock_cursor_init(&start2, efl_text_cursor_handle_get(start)->obj); _evas_textblock_cursor_init(&start2, efl_text_cursor_object_handle_get(start)->obj);
_evas_textblock_cursor_init(&end2, efl_text_cursor_handle_get(start)->obj); _evas_textblock_cursor_init(&end2, efl_text_cursor_object_handle_get(start)->obj);
if (!it->start_node || !it->end_node) continue; if (!it->start_node || !it->end_node) continue;
_textblock_cursor_pos_at_fnode_set(&start2, it->start_node); _textblock_cursor_pos_at_fnode_set(&start2, it->start_node);
_textblock_cursor_pos_at_fnode_set(&end2, it->end_node); _textblock_cursor_pos_at_fnode_set(&end2, it->end_node);
evas_textblock_cursor_char_prev(&end2); evas_textblock_cursor_char_prev(&end2);
if (!((evas_textblock_cursor_compare(&start2, efl_text_cursor_handle_get(end)) > 0) || if (!((evas_textblock_cursor_compare(&start2, efl_text_cursor_object_handle_get(end)) > 0) ||
(evas_textblock_cursor_compare(&end2, efl_text_cursor_handle_get(start)) < 0))) (evas_textblock_cursor_compare(&end2, efl_text_cursor_object_handle_get(start)) < 0)))
{ {
lst = eina_list_append(lst, it); lst = eina_list_append(lst, it);
} }
@ -86,14 +86,14 @@ efl_text_formatter_range_attributes_get(const Efl_Text_Cursor *start, const Efl_
} }
void void
efl_text_formatter_attribute_cursors_get(const Efl_Text_Attribute_Handle *handle, Efl_Text_Cursor *start, Efl_Text_Cursor *end) efl_text_formatter_attribute_cursors_get(const Efl_Text_Attribute_Handle *handle, Efl_Text_Cursor_Object *start, Efl_Text_Cursor_Object *end)
{ {
EINA_SAFETY_ON_TRUE_RETURN (!handle || !(handle->obj)); EINA_SAFETY_ON_TRUE_RETURN (!handle || !(handle->obj));
efl_text_cursor_text_object_set(start, handle->obj, handle->obj); efl_text_cursor_object_text_object_set(start, handle->obj, handle->obj);
efl_text_cursor_text_object_set(end, handle->obj, handle->obj); efl_text_cursor_object_text_object_set(end, handle->obj, handle->obj);
_textblock_cursor_pos_at_fnode_set(efl_text_cursor_handle_get(start), handle->start_node); _textblock_cursor_pos_at_fnode_set(efl_text_cursor_object_handle_get(start), handle->start_node);
_textblock_cursor_pos_at_fnode_set(efl_text_cursor_handle_get(end), handle->end_node); _textblock_cursor_pos_at_fnode_set(efl_text_cursor_object_handle_get(end), handle->end_node);
} }
void void

View File

@ -2,9 +2,9 @@ import efl_text_types;
abstract Efl.Text_Formatter extends Efl.Object { abstract Efl.Text_Formatter extends Efl.Object {
[[Text Formatter API to manage text formatting(attributes). [[Text Formatter API to manage text formatting(attributes).
Use it to insert and remove style attributes (font, size, color, ...) using @Efl.Text.Cursor on EFL Widgets. Use it to insert and remove style attributes (font, size, color, ...) using @Efl.Text_Cursor.Object on EFL Widgets.
Attributes can be assigned to character ranges, selected using two @Efl.Text.Cursor instances. Attributes can be assigned to character ranges, selected using two @Efl.Text_Cursor.Object instances.
Cursor instances are already bound to a text object so there's no need to provide it to this class. Cursor instances are already bound to a text object so there's no need to provide it to this class.
Style is specified using format strings as described in @Efl.Canvas.Textblock.style_apply. Style is specified using format strings as described in @Efl.Canvas.Textblock.style_apply.
@ -20,8 +20,8 @@ abstract Efl.Text_Formatter extends Efl.Object {
The passed cursors must belong to same text object, otherwise insertion will be ignored. The passed cursors must belong to same text object, otherwise insertion will be ignored.
]] ]]
params { params {
start: const(Efl.Text.Cursor); [[Start of range.]] start: const(Efl.Text_Cursor.Object); [[Start of range.]]
end: const(Efl.Text.Cursor); [[End of range.]] end: const(Efl.Text_Cursor.Object); [[End of range.]]
format: string; [[Format string. Uses same format as $style in @Efl.Canvas.Textblock.style_apply.]] format: string; [[Format string. Uses same format as $style in @Efl.Canvas.Textblock.style_apply.]]
} }
} }
@ -30,8 +30,8 @@ abstract Efl.Text_Formatter extends Efl.Object {
[[Clear (remove) attributes in the specified range [$start, $end - 1]. [[Clear (remove) attributes in the specified range [$start, $end - 1].
]] ]]
params { params {
start: const(Efl.Text.Cursor); [[Start of range.]] start: const(Efl.Text_Cursor.Object); [[Start of range.]]
end: const(Efl.Text.Cursor); [[End of range.]] end: const(Efl.Text_Cursor.Object); [[End of range.]]
} }
return: uint; [[Number of removed attributes.]] return: uint; [[Number of removed attributes.]]
} }

View File

@ -66,7 +66,7 @@
#include "evas_common_private.h" #include "evas_common_private.h"
#include "evas_private.h" #include "evas_private.h"
#include "efl_text_cursor.eo.h" #include "efl_text_cursor_object.eo.h"
#include "Efl.h" #include "Efl.h"
#include "efl_canvas_textblock_internal.h" #include "efl_canvas_textblock_internal.h"
@ -8296,11 +8296,11 @@ _efl_canvas_textblock_all_styles_get(const Eo *eo_obj EINA_UNUSED, Efl_Canvas_Te
return o->default_format.default_style_str; return o->default_format.default_style_str;
} }
EOLIAN static Efl_Text_Cursor * EOLIAN static Efl_Text_Cursor_Object *
_efl_canvas_textblock_cursor_create(Eo *obj, Efl_Canvas_Textblock_Data *pd EINA_UNUSED) _efl_canvas_textblock_cursor_create(Eo *obj, Efl_Canvas_Textblock_Data *pd EINA_UNUSED)
{ {
Eo* cursor = efl_text_cursor_create(obj); Eo* cursor = efl_text_cursor_object_create(obj);
efl_text_cursor_text_object_set(cursor, obj, obj); efl_text_cursor_object_text_object_set(cursor, obj, obj);
return cursor; return cursor;
} }
@ -8654,7 +8654,7 @@ static void _evas_textblock_cursor_object_changed(Efl_Text_Cursor_Handle *cur)
Eo *cur_obj; Eo *cur_obj;
EINA_LIST_FOREACH(cur->cur_objs, l, cur_obj) EINA_LIST_FOREACH(cur->cur_objs, l, cur_obj)
efl_event_callback_call(cur_obj, EFL_TEXT_CURSOR_EVENT_CHANGED, NULL); efl_event_callback_call(cur_obj, EFL_TEXT_CURSOR_OBJECT_EVENT_CHANGED, NULL);
} }
static void static void
@ -13210,11 +13210,11 @@ evas_textblock_cursor_visible_range_get(Efl_Text_Cursor_Handle *start, Evas_Text
EOLIAN static Eina_Bool EOLIAN static Eina_Bool
_efl_canvas_textblock_visible_range_get(Eo *eo_obj EINA_UNUSED, _efl_canvas_textblock_visible_range_get(Eo *eo_obj EINA_UNUSED,
Efl_Canvas_Textblock_Data *pd EINA_UNUSED, Efl_Canvas_Textblock_Data *pd EINA_UNUSED,
Efl_Text_Cursor *start, Efl_Text_Cursor *end) Efl_Text_Cursor_Object *start, Efl_Text_Cursor_Object *end)
{ {
return evas_textblock_cursor_visible_range_get( return evas_textblock_cursor_visible_range_get(
efl_text_cursor_handle_get(start), efl_text_cursor_object_handle_get(start),
efl_text_cursor_handle_get(end) efl_text_cursor_object_handle_get(end)
); );
} }

View File

@ -44,7 +44,7 @@ pub_eo_files = [
'efl_canvas_group.eo', 'efl_canvas_group.eo',
'efl_gfx_mapping.eo', 'efl_gfx_mapping.eo',
'efl_canvas_event_grabber.eo', 'efl_canvas_event_grabber.eo',
'efl_text_cursor.eo', 'efl_text_cursor_object.eo',
'efl_canvas_textblock.eo', 'efl_canvas_textblock.eo',
'efl_text_formatter.eo', 'efl_text_formatter.eo',
'efl_canvas_object_animation.eo', 'efl_canvas_object_animation.eo',
@ -187,7 +187,7 @@ evas_src += files([
'efl_canvas_vg_image.c', 'efl_canvas_vg_image.c',
'evas_filter_mixin.c', 'evas_filter_mixin.c',
'efl_canvas_object_animation.c', 'efl_canvas_object_animation.c',
'efl_text_cursor.c', 'efl_text_cursor_object.c',
'efl_text_formatter.c' 'efl_text_formatter.c'
]) ])

View File

@ -31,7 +31,7 @@ EFL_START_TEST(text_cnp)
efl_text_interactive_all_select(txt); efl_text_interactive_all_select(txt);
efl_ui_textbox_selection_copy(txt); efl_ui_textbox_selection_copy(txt);
efl_text_interactive_all_unselect(txt); efl_text_interactive_all_unselect(txt);
efl_text_cursor_text_insert(efl_text_interactive_main_cursor_get(txt), "X"); efl_text_cursor_object_text_insert(efl_text_interactive_main_cursor_get(txt), "X");
efl_ui_textbox_selection_paste(txt); efl_ui_textbox_selection_paste(txt);
ecore_main_loop_iterate(); ecore_main_loop_iterate();
ck_assert_int_eq(i_copy, 1); ck_assert_int_eq(i_copy, 1);
@ -78,13 +78,13 @@ EFL_START_TEST(text_all_select_all_unselect)
efl_event_callback_priority_add(txt, EFL_UI_SELECTION_EVENT_WM_SELECTION_CHANGED, EFL_CALLBACK_PRIORITY_BEFORE, _stop_event_soon, NULL); efl_event_callback_priority_add(txt, EFL_UI_SELECTION_EVENT_WM_SELECTION_CHANGED, EFL_CALLBACK_PRIORITY_BEFORE, _stop_event_soon, NULL);
efl_text_set(txt, "Hello"); efl_text_set(txt, "Hello");
efl_text_interactive_all_select(txt); efl_text_interactive_all_select(txt);
Efl_Text_Cursor *c1=NULL, *c2 =NULL; Efl_Text_Cursor_Object *c1=NULL, *c2 =NULL;
efl_text_interactive_selection_cursors_get(txt, &c1, &c2); efl_text_interactive_selection_cursors_get(txt, &c1, &c2);
ck_assert_ptr_ne(c1, NULL); ck_assert_ptr_ne(c1, NULL);
ck_assert_ptr_ne(c2, NULL); ck_assert_ptr_ne(c2, NULL);
fail_if(!efl_text_interactive_have_selection_get(txt)); fail_if(!efl_text_interactive_have_selection_get(txt));
ck_assert_int_eq(efl_text_cursor_position_get(c1), 0); ck_assert_int_eq(efl_text_cursor_object_position_get(c1), 0);
ck_assert_int_eq(efl_text_cursor_position_get(c2), 5); ck_assert_int_eq(efl_text_cursor_object_position_get(c2), 5);
efl_text_interactive_all_unselect(txt); efl_text_interactive_all_unselect(txt);
fail_if(efl_text_interactive_have_selection_get(txt)); fail_if(efl_text_interactive_have_selection_get(txt));
ecore_main_loop_iterate(); ecore_main_loop_iterate();
@ -95,30 +95,30 @@ EFL_START_TEST(text_all_select_all_unselect)
Eo *sel1, *sel2; Eo *sel1, *sel2;
i_selection = 0; i_selection = 0;
efl_text_interactive_selection_cursors_get(txt, &sel1, &sel2); efl_text_interactive_selection_cursors_get(txt, &sel1, &sel2);
efl_text_cursor_position_set(sel1, 1); efl_text_cursor_object_position_set(sel1, 1);
efl_text_cursor_position_set(sel2, 2); efl_text_cursor_object_position_set(sel2, 2);
ck_assert_int_eq(i_selection, 2); ck_assert_int_eq(i_selection, 2);
efl_text_interactive_all_select(txt); efl_text_interactive_all_select(txt);
ck_assert_int_eq(i_selection, 3); ck_assert_int_eq(i_selection, 3);
ck_assert_int_eq(efl_text_cursor_position_get(sel1), 0); ck_assert_int_eq(efl_text_cursor_object_position_get(sel1), 0);
ck_assert_int_eq(efl_text_cursor_position_get(sel2), 5); ck_assert_int_eq(efl_text_cursor_object_position_get(sel2), 5);
Eo *cur1 = efl_ui_textbox_cursor_create(txt); Eo *cur1 = efl_ui_textbox_cursor_create(txt);
Eo *cur2 = efl_ui_textbox_cursor_create(txt); Eo *cur2 = efl_ui_textbox_cursor_create(txt);
efl_text_cursor_position_set(cur1, 1); efl_text_cursor_object_position_set(cur1, 1);
efl_text_cursor_position_set(cur2, 2); efl_text_cursor_object_position_set(cur2, 2);
efl_text_interactive_selection_cursors_set(txt, cur1, cur2); efl_text_interactive_selection_cursors_set(txt, cur1, cur2);
ck_assert_int_eq(i_selection, 4); ck_assert_int_eq(i_selection, 4);
efl_text_interactive_selection_cursors_get(txt, &sel1, &sel2); efl_text_interactive_selection_cursors_get(txt, &sel1, &sel2);
ck_assert_int_eq(efl_text_cursor_position_get(sel1),1); ck_assert_int_eq(efl_text_cursor_object_position_get(sel1),1);
ck_assert_int_eq(efl_text_cursor_position_get(sel2),2); ck_assert_int_eq(efl_text_cursor_object_position_get(sel2),2);
/*Select part then select all*/ /*Select part then select all*/
efl_text_interactive_all_unselect(txt); efl_text_interactive_all_unselect(txt);
i_have_selection = 0, i_selection = 0; i_have_selection = 0, i_selection = 0;
efl_text_cursor_position_set(cur1, 1); efl_text_cursor_object_position_set(cur1, 1);
efl_text_cursor_position_set(cur2, 2); efl_text_cursor_object_position_set(cur2, 2);
efl_text_interactive_selection_cursors_set(txt, cur1, cur2); efl_text_interactive_selection_cursors_set(txt, cur1, cur2);
ck_assert_int_eq(i_selection, 1); ck_assert_int_eq(i_selection, 1);
ck_assert_int_eq(i_have_selection, 1); ck_assert_int_eq(i_have_selection, 1);
@ -150,13 +150,13 @@ EFL_START_TEST(text_selection)
get_me_to_those_events(txt); get_me_to_those_events(txt);
drag_object(txt, 2, 2, 295, 295, EINA_TRUE); drag_object(txt, 2, 2, 295, 295, EINA_TRUE);
ecore_main_loop_iterate(); ecore_main_loop_iterate();
Efl_Text_Cursor *c1=NULL, *c2 =NULL; Efl_Text_Cursor_Object *c1=NULL, *c2 =NULL;
efl_text_interactive_selection_cursors_get(txt, &c1, &c2); efl_text_interactive_selection_cursors_get(txt, &c1, &c2);
ck_assert_ptr_ne(c1, NULL); ck_assert_ptr_ne(c1, NULL);
ck_assert_ptr_ne(c2, NULL); ck_assert_ptr_ne(c2, NULL);
fail_if(!efl_text_interactive_have_selection_get(txt)); fail_if(!efl_text_interactive_have_selection_get(txt));
ck_assert_int_eq(efl_text_cursor_position_get(c1), 0); ck_assert_int_eq(efl_text_cursor_object_position_get(c1), 0);
ck_assert_int_eq(efl_text_cursor_position_get(c2), 5); ck_assert_int_eq(efl_text_cursor_object_position_get(c2), 5);
efl_text_interactive_all_unselect(txt); efl_text_interactive_all_unselect(txt);
fail_if(efl_text_interactive_have_selection_get(txt)); fail_if(efl_text_interactive_have_selection_get(txt));
efl_text_interactive_selection_allowed_set(txt, EINA_FALSE); efl_text_interactive_selection_allowed_set(txt, EINA_FALSE);
@ -206,10 +206,10 @@ EFL_START_TEST(text_scroll_mode)
/*scroll mode is false by default*/ /*scroll mode is false by default*/
fail_if(efl_ui_textbox_scrollable_get(txt)); fail_if(efl_ui_textbox_scrollable_get(txt));
efl_ui_textbox_scrollable_set(txt, !efl_ui_textbox_scrollable_get(txt)); efl_ui_textbox_scrollable_set(txt, !efl_ui_textbox_scrollable_get(txt));
efl_text_cursor_text_insert(cur, "World"); efl_text_cursor_object_text_insert(cur, "World");
fail_if(!efl_ui_textbox_scrollable_get(txt)); fail_if(!efl_ui_textbox_scrollable_get(txt));
efl_ui_textbox_scrollable_set(txt, !efl_ui_textbox_scrollable_get(txt)); efl_ui_textbox_scrollable_set(txt, !efl_ui_textbox_scrollable_get(txt));
efl_text_cursor_text_insert(cur, "!!!"); efl_text_cursor_object_text_insert(cur, "!!!");
ck_assert_str_eq(efl_text_get(txt),"HelloWorld!!!"); ck_assert_str_eq(efl_text_get(txt),"HelloWorld!!!");
efl_del(txt); efl_del(txt);
@ -256,22 +256,22 @@ EFL_START_TEST(text_keys_handler)
Evas *e = evas_object_evas_get(txt); Evas *e = evas_object_evas_get(txt);
efl_ui_focus_util_focus(txt); efl_ui_focus_util_focus(txt);
efl_text_cursor_move(efl_text_interactive_main_cursor_get(txt), EFL_TEXT_CURSOR_MOVE_TYPE_LAST); efl_text_cursor_object_move(efl_text_interactive_main_cursor_get(txt), EFL_TEXT_CURSOR_MOVE_TYPE_LAST);
evas_key_modifier_on(e, "Control"); evas_key_modifier_on(e, "Control");
evas_event_feed_key_down(e, "BackSpace", "BackSpace", "\b", "\b", time(NULL), NULL); evas_event_feed_key_down(e, "BackSpace", "BackSpace", "\b", "\b", time(NULL), NULL);
ecore_main_loop_iterate(); ecore_main_loop_iterate();
ck_assert_str_eq(efl_text_get(txt),""); ck_assert_str_eq(efl_text_get(txt),"");
ck_assert_int_eq(efl_text_cursor_position_get(efl_text_interactive_main_cursor_get(txt)), 0); ck_assert_int_eq(efl_text_cursor_object_position_get(efl_text_interactive_main_cursor_get(txt)), 0);
evas_event_feed_key_up(e, "BackSpace", "BackSpace", "\b", "\b", time(NULL), NULL); evas_event_feed_key_up(e, "BackSpace", "BackSpace", "\b", "\b", time(NULL), NULL);
ecore_main_loop_iterate(); ecore_main_loop_iterate();
efl_text_set(txt, "Hello"); efl_text_set(txt, "Hello");
efl_text_cursor_position_set(efl_text_interactive_main_cursor_get(txt), 0); efl_text_cursor_object_position_set(efl_text_interactive_main_cursor_get(txt), 0);
evas_key_modifier_on(e, "Control"); evas_key_modifier_on(e, "Control");
evas_event_feed_key_down(e, "Delete", "Delete", "\177", "\177", time(NULL), NULL); evas_event_feed_key_down(e, "Delete", "Delete", "\177", "\177", time(NULL), NULL);
ecore_main_loop_iterate(); ecore_main_loop_iterate();
ck_assert_str_eq(efl_text_get(txt),""); ck_assert_str_eq(efl_text_get(txt),"");
ck_assert_int_eq(efl_text_cursor_position_get(efl_text_interactive_main_cursor_get(txt)), 0); ck_assert_int_eq(efl_text_cursor_object_position_get(efl_text_interactive_main_cursor_get(txt)), 0);
evas_event_feed_key_up(e, "Delete", "Delete", "\177", "\177", time(NULL), NULL); evas_event_feed_key_up(e, "Delete", "Delete", "\177", "\177", time(NULL), NULL);
ecore_main_loop_iterate(); ecore_main_loop_iterate();

View File

@ -38,7 +38,7 @@ static const char *style_buf =
Evas_Object *tb; \ Evas_Object *tb; \
Evas_Textblock_Style *st; \ Evas_Textblock_Style *st; \
Evas_Textblock_Cursor *cur; \ Evas_Textblock_Cursor *cur; \
Efl_Text_Cursor *cur_obj; \ Efl_Text_Cursor_Object *cur_obj; \
evas = EVAS_TEST_INIT_EVAS(); \ evas = EVAS_TEST_INIT_EVAS(); \
evas_font_hinting_set(evas, EVAS_FONT_HINTING_AUTO); \ evas_font_hinting_set(evas, EVAS_FONT_HINTING_AUTO); \
tb = evas_object_textblock_add(evas); \ tb = evas_object_textblock_add(evas); \
@ -4351,7 +4351,7 @@ EFL_END_TEST;
EFL_START_TEST(evas_textblock_annotation) EFL_START_TEST(evas_textblock_annotation)
{ {
START_TB_TEST(); START_TB_TEST();
Efl_Text_Cursor *start, *end; Efl_Text_Cursor_Object *start, *end;
start = efl_canvas_textblock_cursor_create(tb); start = efl_canvas_textblock_cursor_create(tb);
end = efl_canvas_textblock_cursor_create(tb); end = efl_canvas_textblock_cursor_create(tb);
@ -4367,18 +4367,18 @@ EFL_START_TEST(evas_textblock_annotation)
/* Check some trivial cases */ /* Check some trivial cases */
efl_text_cursor_position_set(start, 0); efl_text_cursor_object_position_set(start, 0);
efl_text_cursor_position_set(end, 3); efl_text_cursor_object_position_set(end, 3);
efl_text_formatter_attribute_insert(start, end, "font_size=80"); efl_text_formatter_attribute_insert(start, end, "font_size=80");
efl_text_cursor_position_set(start, 1); efl_text_cursor_object_position_set(start, 1);
efl_text_cursor_position_set(end, 2); efl_text_cursor_object_position_set(end, 2);
efl_text_formatter_attribute_insert(start, end, "font=arial"); efl_text_formatter_attribute_insert(start, end, "font=arial");
efl_text_cursor_position_set(start, 2); efl_text_cursor_object_position_set(start, 2);
efl_text_cursor_position_set(end, 3); efl_text_cursor_object_position_set(end, 3);
efl_text_formatter_attribute_insert(start, end, "color=#fff"); efl_text_formatter_attribute_insert(start, end, "color=#fff");
efl_text_cursor_position_set(start, 0); efl_text_cursor_object_position_set(start, 0);
efl_text_cursor_position_set(end, 3); efl_text_cursor_object_position_set(end, 3);
unsigned int count = efl_text_formatter_attribute_clear(start, end); unsigned int count = efl_text_formatter_attribute_clear(start, end);
fail_if(count != 3); fail_if(count != 3);
} }
@ -4391,7 +4391,7 @@ static const char *efl_style_buf =
Evas *evas; \ Evas *evas; \
Eo *txt; \ Eo *txt; \
Efl_Text_Cursor_Handle *cur; \ Efl_Text_Cursor_Handle *cur; \
Efl_Text_Cursor *cur_obj; \ Efl_Text_Cursor_Object *cur_obj; \
evas = EVAS_TEST_INIT_EVAS(); \ evas = EVAS_TEST_INIT_EVAS(); \
evas_font_hinting_set(evas, EVAS_FONT_HINTING_AUTO); \ evas_font_hinting_set(evas, EVAS_FONT_HINTING_AUTO); \
txt = efl_add(EFL_CANVAS_TEXTBLOCK_CLASS, evas); \ txt = efl_add(EFL_CANVAS_TEXTBLOCK_CLASS, evas); \
@ -4497,30 +4497,30 @@ EFL_START_TEST(efl_canvas_textblock_cursor)
efl_text_set(txt, buf); efl_text_set(txt, buf);
ck_assert_int_eq(strcmp(efl_text_get(txt), buf), 0); ck_assert_int_eq(strcmp(efl_text_get(txt), buf), 0);
pos = efl_text_cursor_position_get(cur_obj); pos = efl_text_cursor_object_position_get(cur_obj);
ck_assert_int_eq(pos, 0); ck_assert_int_eq(pos, 0);
ck_assert(!efl_text_cursor_line_jump_by(cur_obj, -1)); ck_assert(!efl_text_cursor_object_line_jump_by(cur_obj, -1));
pos = efl_text_cursor_position_get(cur_obj); pos = efl_text_cursor_object_position_get(cur_obj);
ck_assert_int_eq(pos, 0); ck_assert_int_eq(pos, 0);
ck_assert(efl_text_cursor_line_jump_by(cur_obj, 1)); ck_assert(efl_text_cursor_object_line_jump_by(cur_obj, 1));
pos = efl_text_cursor_position_get(cur_obj); pos = efl_text_cursor_object_position_get(cur_obj);
ck_assert_int_eq(pos, 10); ck_assert_int_eq(pos, 10);
efl_text_markup_set(txt, "Hello World<ps/>This is EFL<br/>Enlightenment"); efl_text_markup_set(txt, "Hello World<ps/>This is EFL<br/>Enlightenment");
efl_text_cursor_position_set(cur_obj, 0); efl_text_cursor_object_position_set(cur_obj, 0);
ck_assert_int_eq(efl_text_cursor_line_number_get(cur_obj), 0); ck_assert_int_eq(efl_text_cursor_object_line_number_get(cur_obj), 0);
ck_assert(efl_text_cursor_line_jump_by(cur_obj, 2)); ck_assert(efl_text_cursor_object_line_jump_by(cur_obj, 2));
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 24); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 24);
ck_assert_int_eq(efl_text_cursor_line_number_get(cur_obj), 2); ck_assert_int_eq(efl_text_cursor_object_line_number_get(cur_obj), 2);
ck_assert(efl_text_cursor_line_jump_by(cur_obj, -2)); ck_assert(efl_text_cursor_object_line_jump_by(cur_obj, -2));
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 0); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 0);
ck_assert_int_eq(efl_text_cursor_line_number_get(cur_obj), 0); ck_assert_int_eq(efl_text_cursor_object_line_number_get(cur_obj), 0);
ck_assert(efl_text_cursor_line_jump_by(cur_obj, 2)); ck_assert(efl_text_cursor_object_line_jump_by(cur_obj, 2));
efl_text_cursor_line_number_set(cur_obj, 2); efl_text_cursor_object_line_number_set(cur_obj, 2);
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 24); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 24);
efl_text_cursor_line_number_set(cur_obj, 0); efl_text_cursor_object_line_number_set(cur_obj, 0);
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 0); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 0);
Eo * cursor_temp = efl_duplicate(cur_obj); Eo * cursor_temp = efl_duplicate(cur_obj);
ck_assert_ptr_ne(cursor_temp, NULL); ck_assert_ptr_ne(cursor_temp, NULL);
@ -4528,172 +4528,172 @@ EFL_START_TEST(efl_canvas_textblock_cursor)
cursor_temp = NULL; cursor_temp = NULL;
Eo * cursor1 = efl_canvas_textblock_cursor_create(txt); Eo * cursor1 = efl_canvas_textblock_cursor_create(txt);
efl_text_cursor_position_set(cursor1, 1); efl_text_cursor_object_position_set(cursor1, 1);
pos = efl_text_cursor_position_get(cursor1); pos = efl_text_cursor_object_position_get(cursor1);
ck_assert_int_eq(pos, 1); ck_assert_int_eq(pos, 1);
efl_text_set(txt, ""); efl_text_set(txt, "");
efl_text_set(txt, ""); efl_text_set(txt, "");
efl_text_cursor_text_insert(cursor1, "aa"); efl_text_cursor_object_text_insert(cursor1, "aa");
ck_assert_int_eq(changed_emit, 4); ck_assert_int_eq(changed_emit, 4);
efl_text_markup_set(txt, "Hello<br/>Word"); efl_text_markup_set(txt, "Hello<br/>Word");
efl_text_markup_set(txt, "Hello<br/>Word"); efl_text_markup_set(txt, "Hello<br/>Word");
efl_text_cursor_markup_insert(cursor1, "aa"); efl_text_cursor_object_markup_insert(cursor1, "aa");
ck_assert_int_eq(changed_emit, 6); ck_assert_int_eq(changed_emit, 6);
efl_text_set(txt, ""); efl_text_set(txt, "");
ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_NEXT)); ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_NEXT));
ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_PREVIOUS)); ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_PREVIOUS));
ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CLUSTER_NEXT)); ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CLUSTER_NEXT));
ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CLUSTER_PREVIOUS)); ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CLUSTER_PREVIOUS));
ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_START)); ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_START));
ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_END)); ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_END));
ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_START)); ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_START));
ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_END)); ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_END));
ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_START)); ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_START));
ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_END)); ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_END));
ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_NEXT)); ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_NEXT));
ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_PREVIOUS)); ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_PREVIOUS));
ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_FIRST)); ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_FIRST));
ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_LAST)); ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_LAST));
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 0); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 0);
ck_assert_int_eq(changed_emit, 7); ck_assert_int_eq(changed_emit, 7);
efl_text_markup_set(txt, "Hello World<ps/>This is EFL<br/>Enlightenment"); efl_text_markup_set(txt, "Hello World<ps/>This is EFL<br/>Enlightenment");
ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_NEXT)); ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_NEXT));
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 1); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 1);
ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_PREVIOUS)); ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_PREVIOUS));
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 0); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 0);
ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CLUSTER_NEXT)); ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CLUSTER_NEXT));
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 1); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 1);
ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CLUSTER_PREVIOUS)); ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CLUSTER_PREVIOUS));
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 0); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 0);
efl_text_cursor_position_set(cur_obj, 0); efl_text_cursor_object_position_set(cur_obj, 0);
ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_END)); ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_END));
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 4); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 4);
ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_END)); ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_END));
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 4); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 4);
ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_START)); ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_START));
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 0); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 0);
ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_START)); ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_START));
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 0); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 0);
ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_END)); ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_END));
ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_NEXT)); ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_NEXT));
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 5); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 5);
ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_END)); ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_END));
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 10); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 10);
ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_NEXT)); ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_NEXT));
ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_END)); ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_WORD_END));
ck_assert_int_ne(efl_text_cursor_position_get(cur_obj), 10); ck_assert_int_ne(efl_text_cursor_object_position_get(cur_obj), 10);
ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_END)); ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_END));
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 23); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 23);
ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_END)); ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_END));
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 23); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 23);
ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_START)); ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_START));
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 12); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 12);
ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_START)); ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_START));
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 12); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 12);
ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_PREVIOUS)); ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_PREVIOUS));
ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_START)); ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_LINE_START));
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 0); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 0);
#if defined(HAVE_FRIBIDI) && defined(HAVE_HARFBUZZ) #if defined(HAVE_FRIBIDI) && defined(HAVE_HARFBUZZ)
efl_text_markup_set(txt, "الْبَرْمَجةُ<ps/>مَرْحبَاً"); efl_text_markup_set(txt, "الْبَرْمَجةُ<ps/>مَرْحبَاً");
efl_text_cursor_cluster_coord_set(cur_obj, EINA_POSITION2D(0, 0)); efl_text_cursor_object_cluster_coord_set(cur_obj, EINA_POSITION2D(0, 0));
ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CLUSTER_NEXT)); ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CLUSTER_NEXT));
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 1); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 1);
ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CLUSTER_NEXT)); ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CLUSTER_NEXT));
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 3); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 3);
ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CLUSTER_NEXT)); ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CLUSTER_NEXT));
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 5); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 5);
ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_PREVIOUS)); ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_PREVIOUS));
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 4); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 4);
ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_NEXT)); ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_NEXT));
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 5); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 5);
ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_NEXT)); ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CHARACTER_NEXT));
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 6); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 6);
ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CLUSTER_NEXT)); ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_CLUSTER_NEXT));
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 7); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 7);
ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_NEXT)); ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_NEXT));
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 13); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 13);
ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_NEXT)); ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_NEXT));
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 13); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 13);
ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_END)); ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_END));
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 22); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 22);
ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_END)); ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_END));
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 22); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 22);
ck_assert(!efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_LAST)); ck_assert(!efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_LAST));
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 22); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 22);
ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_START)); ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_START));
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 13); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 13);
ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_END)); ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_END));
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 22); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 22);
ck_assert(efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_FIRST)); ck_assert(efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_FIRST));
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 0); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 0);
#endif #endif
Eo *nCur = efl_canvas_textblock_cursor_create(txt); Eo *nCur = efl_canvas_textblock_cursor_create(txt);
Eo *nCur2 = efl_canvas_textblock_cursor_create(txt); Eo *nCur2 = efl_canvas_textblock_cursor_create(txt);
Eo *nCur3 = efl_canvas_textblock_cursor_create(txt); Eo *nCur3 = efl_canvas_textblock_cursor_create(txt);
efl_text_markup_set(txt, "Hello World<ps/>This is EFL<br/>Enlightenment"); efl_text_markup_set(txt, "Hello World<ps/>This is EFL<br/>Enlightenment");
efl_text_cursor_position_set(cur_obj, 0); efl_text_cursor_object_position_set(cur_obj, 0);
ck_assert_ptr_ne(nCur, NULL); ck_assert_ptr_ne(nCur, NULL);
ck_assert_ptr_ne(nCur2, NULL); ck_assert_ptr_ne(nCur2, NULL);
ck_assert_ptr_ne(nCur3, NULL); ck_assert_ptr_ne(nCur3, NULL);
ck_assert(efl_text_cursor_equal(cur_obj, nCur)); ck_assert(efl_text_cursor_object_equal(cur_obj, nCur));
ck_assert(efl_text_cursor_equal(cur_obj, nCur2)); ck_assert(efl_text_cursor_object_equal(cur_obj, nCur2));
ck_assert(efl_text_cursor_equal(cur_obj, nCur3)); ck_assert(efl_text_cursor_object_equal(cur_obj, nCur3));
ck_assert(efl_text_cursor_equal(nCur2, nCur3)); ck_assert(efl_text_cursor_object_equal(nCur2, nCur3));
ck_assert_int_eq(efl_text_cursor_compare(cur_obj, nCur3), 0); ck_assert_int_eq(efl_text_cursor_object_compare(cur_obj, nCur3), 0);
ck_assert_int_eq(efl_text_cursor_compare(nCur2, nCur3), 0); ck_assert_int_eq(efl_text_cursor_object_compare(nCur2, nCur3), 0);
ck_assert_int_eq(efl_text_cursor_compare(cur_obj, nCur), 0); ck_assert_int_eq(efl_text_cursor_object_compare(cur_obj, nCur), 0);
ck_assert(efl_text_cursor_move(nCur, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_NEXT)); ck_assert(efl_text_cursor_object_move(nCur, EFL_TEXT_CURSOR_MOVE_TYPE_PARAGRAPH_NEXT));
ck_assert_int_lt(efl_text_cursor_compare(cur_obj, nCur), 0); ck_assert_int_lt(efl_text_cursor_object_compare(cur_obj, nCur), 0);
ck_assert_int_gt(efl_text_cursor_compare(nCur, cur_obj), 0); ck_assert_int_gt(efl_text_cursor_object_compare(nCur, cur_obj), 0);
efl_text_cursor_position_set(nCur2, efl_text_cursor_position_get(nCur)); efl_text_cursor_object_position_set(nCur2, efl_text_cursor_object_position_get(nCur));
ck_assert_int_lt(efl_text_cursor_compare(cur_obj, nCur2), 0); ck_assert_int_lt(efl_text_cursor_object_compare(cur_obj, nCur2), 0);
ck_assert_int_gt(efl_text_cursor_compare(nCur2, cur_obj), 0); ck_assert_int_gt(efl_text_cursor_object_compare(nCur2, cur_obj), 0);
ck_assert(!efl_text_cursor_equal(nCur2, nCur3)); ck_assert(!efl_text_cursor_object_equal(nCur2, nCur3));
efl_text_set(txt, ""); efl_text_set(txt, "");
efl_text_cursor_text_insert(cur_obj, "Hello World"); efl_text_cursor_object_text_insert(cur_obj, "Hello World");
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 11); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 11);
efl_text_cursor_text_insert(cur_obj, "Hello World"); efl_text_cursor_object_text_insert(cur_obj, "Hello World");
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 22); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 22);
ck_assert_str_eq(efl_text_get(txt), "Hello WorldHello World"); ck_assert_str_eq(efl_text_get(txt), "Hello WorldHello World");
efl_text_set(txt, ""); efl_text_set(txt, "");
efl_text_cursor_markup_insert(cur_obj, "Hello World<ps/>Hello World"); efl_text_cursor_object_markup_insert(cur_obj, "Hello World<ps/>Hello World");
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 23); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 23);
efl_text_cursor_char_coord_set(cur_obj, EINA_POSITION2D(0, 0)); efl_text_cursor_object_char_coord_set(cur_obj, EINA_POSITION2D(0, 0));
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 0); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 0);
efl_text_cursor_char_coord_set(cur_obj, EINA_POSITION2D(500, 500)); efl_text_cursor_object_char_coord_set(cur_obj, EINA_POSITION2D(500, 500));
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 23); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 23);
efl_text_cursor_cluster_coord_set(cur_obj, EINA_POSITION2D(0, 0)); efl_text_cursor_object_cluster_coord_set(cur_obj, EINA_POSITION2D(0, 0));
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 0); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 0);
efl_text_cursor_cluster_coord_set(cur_obj, EINA_POSITION2D(500, 500)); efl_text_cursor_object_cluster_coord_set(cur_obj, EINA_POSITION2D(500, 500));
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 23); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 23);
efl_text_cursor_position_set(nCur, 0); efl_text_cursor_object_position_set(nCur, 0);
efl_text_cursor_position_set(cur_obj, 5); efl_text_cursor_object_position_set(cur_obj, 5);
ck_assert_str_eq(efl_text_cursor_range_text_get(cur_obj, nCur), "Hello"); ck_assert_str_eq(efl_text_cursor_object_range_text_get(cur_obj, nCur), "Hello");
ck_assert_str_eq(efl_text_cursor_range_text_get(nCur, cur_obj), "Hello"); ck_assert_str_eq(efl_text_cursor_object_range_text_get(nCur, cur_obj), "Hello");
efl_text_cursor_position_set(nCur, 0); efl_text_cursor_object_position_set(nCur, 0);
efl_text_cursor_position_set(cur_obj, 17); efl_text_cursor_object_position_set(cur_obj, 17);
Eina_Iterator *iter = efl_text_cursor_range_geometry_get(cur_obj, nCur); Eina_Iterator *iter = efl_text_cursor_object_range_geometry_get(cur_obj, nCur);
Eina_Rect *geoRect; Eina_Rect *geoRect;
int x = 0; int x = 0;
@ -4706,7 +4706,7 @@ EFL_START_TEST(efl_canvas_textblock_cursor)
ck_assert_int_eq(x, 3); ck_assert_int_eq(x, 3);
iter = efl_text_cursor_range_precise_geometry_get(cur_obj, nCur); iter = efl_text_cursor_object_range_precise_geometry_get(cur_obj, nCur);
x = 0; x = 0;
EINA_ITERATOR_FOREACH(iter, geoRect) EINA_ITERATOR_FOREACH(iter, geoRect)
@ -4718,46 +4718,46 @@ EFL_START_TEST(efl_canvas_textblock_cursor)
ck_assert_int_eq(x, 2); ck_assert_int_eq(x, 2);
ck_assert_str_eq(efl_text_cursor_range_markup_get(cur_obj, nCur), "Hello World<ps/>Hello"); ck_assert_str_eq(efl_text_cursor_object_range_markup_get(cur_obj, nCur), "Hello World<ps/>Hello");
ck_assert_str_eq(efl_text_cursor_range_markup_get(nCur, cur_obj), "Hello World<ps/>Hello"); ck_assert_str_eq(efl_text_cursor_object_range_markup_get(nCur, cur_obj), "Hello World<ps/>Hello");
efl_text_cursor_position_set(nCur, 0); efl_text_cursor_object_position_set(nCur, 0);
efl_text_cursor_position_set(cur_obj, 5); efl_text_cursor_object_position_set(cur_obj, 5);
efl_text_cursor_range_delete(nCur, cur_obj); efl_text_cursor_object_range_delete(nCur, cur_obj);
ck_assert_str_eq(efl_text_markup_get(txt), " World<ps/>Hello World"); ck_assert_str_eq(efl_text_markup_get(txt), " World<ps/>Hello World");
ck_assert_int_eq(efl_text_cursor_position_get(cur_obj), 0); ck_assert_int_eq(efl_text_cursor_object_position_get(cur_obj), 0);
ck_assert_int_eq(efl_text_cursor_position_get(nCur), 0); ck_assert_int_eq(efl_text_cursor_object_position_get(nCur), 0);
efl_text_markup_set(txt, "Hello World<ps/>Hello World"); efl_text_markup_set(txt, "Hello World<ps/>Hello World");
efl_text_cursor_position_set(cur_obj, 6); efl_text_cursor_object_position_set(cur_obj, 6);
Eina_Unicode str[2] = {0}; Eina_Unicode str[2] = {0};
str[0] = efl_text_cursor_content_get(cur_obj); str[0] = efl_text_cursor_object_content_get(cur_obj);
ck_assert_str_eq(eina_unicode_unicode_to_utf8(str, NULL), "W"); ck_assert_str_eq(eina_unicode_unicode_to_utf8(str, NULL), "W");
efl_text_cursor_char_delete(cur_obj); efl_text_cursor_object_char_delete(cur_obj);
str[0] = efl_text_cursor_content_get(cur_obj); str[0] = efl_text_cursor_object_content_get(cur_obj);
ck_assert_str_eq(eina_unicode_unicode_to_utf8(str, NULL), "o"); ck_assert_str_eq(eina_unicode_unicode_to_utf8(str, NULL), "o");
Eo *cur_txt = efl_text_cursor_text_object_get(cur_obj); Eo *cur_txt = efl_text_cursor_object_text_object_get(cur_obj);
Eo *cur_txt2 = efl_text_cursor_text_object_get(nCur); Eo *cur_txt2 = efl_text_cursor_object_text_object_get(nCur);
ck_assert_ptr_eq(cur_txt, txt); ck_assert_ptr_eq(cur_txt, txt);
ck_assert_ptr_eq(cur_txt2, txt); ck_assert_ptr_eq(cur_txt2, txt);
efl_text_cursor_position_set(cur_obj, 1); efl_text_cursor_object_position_set(cur_obj, 1);
Eina_Rect rect = efl_text_cursor_content_geometry_get(cur_obj); Eina_Rect rect = efl_text_cursor_object_content_geometry_get(cur_obj);
ck_assert_int_ne(rect.w, 0); ck_assert_int_ne(rect.w, 0);
ck_assert_int_ne(rect.h, 0); ck_assert_int_ne(rect.h, 0);
ck_assert_int_ne(rect.x, 0); ck_assert_int_ne(rect.x, 0);
rect = efl_text_cursor_geometry_get(cur_obj, EFL_TEXT_CURSOR_TYPE_BEFORE); rect = efl_text_cursor_object_cursor_geometry_get(cur_obj, EFL_TEXT_CURSOR_TYPE_BEFORE);
ck_assert_int_eq(rect.w, 0); ck_assert_int_eq(rect.w, 0);
ck_assert_int_ne(rect.h, 0); ck_assert_int_ne(rect.h, 0);
ck_assert_int_ne(rect.x, 0); ck_assert_int_ne(rect.x, 0);
Eina_Rect rect2 = efl_text_cursor_geometry_get(cur_obj, EFL_TEXT_CURSOR_TYPE_UNDER); Eina_Rect rect2 = efl_text_cursor_object_cursor_geometry_get(cur_obj, EFL_TEXT_CURSOR_TYPE_UNDER);
ck_assert_int_ne(rect2.w, 0); ck_assert_int_ne(rect2.w, 0);
ck_assert_int_ne(rect2.h, 0); ck_assert_int_ne(rect2.h, 0);
ck_assert_int_ne(rect2.x, 0); ck_assert_int_ne(rect2.x, 0);
@ -4768,12 +4768,12 @@ EFL_START_TEST(efl_canvas_textblock_cursor)
ck_assert_int_eq(rect2.y, rect.y); ck_assert_int_eq(rect2.y, rect.y);
efl_text_markup_set(txt, "Hello World"); efl_text_markup_set(txt, "Hello World");
efl_text_cursor_position_set(cur_obj, 11); efl_text_cursor_object_position_set(cur_obj, 11);
ck_assert(!efl_text_cursor_lower_cursor_geometry_get(cur_obj, &rect2)); ck_assert(!efl_text_cursor_object_lower_cursor_geometry_get(cur_obj, &rect2));
#ifdef HAVE_FRIBIDI #ifdef HAVE_FRIBIDI
efl_text_cursor_text_insert(cur_obj, "مرحباً"); efl_text_cursor_object_text_insert(cur_obj, "مرحباً");
rect = efl_text_cursor_geometry_get(cur_obj, EFL_TEXT_CURSOR_TYPE_BEFORE); rect = efl_text_cursor_object_cursor_geometry_get(cur_obj, EFL_TEXT_CURSOR_TYPE_BEFORE);
ck_assert(efl_text_cursor_lower_cursor_geometry_get(cur_obj, &rect2)); ck_assert(efl_text_cursor_object_lower_cursor_geometry_get(cur_obj, &rect2));
ck_assert_int_eq(rect2.w, 0); ck_assert_int_eq(rect2.w, 0);
ck_assert_int_ne(rect2.h, 0); ck_assert_int_ne(rect2.h, 0);
ck_assert_int_ne(rect2.x, 0); ck_assert_int_ne(rect2.x, 0);
@ -4786,9 +4786,9 @@ EFL_START_TEST(efl_canvas_textblock_cursor)
//Efl able to deal with br tab without closing tag "/" //Efl able to deal with br tab without closing tag "/"
efl_text_markup_set(txt, "a<br>a<tab>a"); efl_text_markup_set(txt, "a<br>a<tab>a");
efl_text_cursor_move(nCur, EFL_TEXT_CURSOR_MOVE_TYPE_FIRST); efl_text_cursor_object_move(nCur, EFL_TEXT_CURSOR_MOVE_TYPE_FIRST);
efl_text_cursor_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_LAST); efl_text_cursor_object_move(cur_obj, EFL_TEXT_CURSOR_MOVE_TYPE_LAST);
efl_text_cursor_range_delete(nCur, cur_obj); efl_text_cursor_object_range_delete(nCur, cur_obj);
ck_assert_str_eq(efl_text_markup_get(txt), ""); ck_assert_str_eq(efl_text_markup_get(txt), "");
END_EFL_CANVAS_TEXTBLOCK_TEST(); END_EFL_CANVAS_TEXTBLOCK_TEST();
@ -4799,7 +4799,7 @@ EFL_END_TEST
EFL_START_TEST(efl_canvas_textblock_markup) EFL_START_TEST(efl_canvas_textblock_markup)
{ {
START_EFL_CANVAS_TEXTBLOCK_TEST(); START_EFL_CANVAS_TEXTBLOCK_TEST();
Efl_Text_Cursor *start, *end; Efl_Text_Cursor_Object *start, *end;
char *res; char *res;
start = efl_canvas_textblock_cursor_create(txt); start = efl_canvas_textblock_cursor_create(txt);
@ -4807,16 +4807,16 @@ EFL_START_TEST(efl_canvas_textblock_markup)
efl_text_set(txt, "\n\n\n"); efl_text_set(txt, "\n\n\n");
efl_text_cursor_position_set(start, 1); efl_text_cursor_object_position_set(start, 1);
efl_text_cursor_position_set(end, 2); efl_text_cursor_object_position_set(end, 2);
res = efl_text_cursor_range_markup_get(start, end); res = efl_text_cursor_object_range_markup_get(start, end);
ck_assert_str_eq(res, "<br>"); ck_assert_str_eq(res, "<br>");
free(res); free(res);
efl_text_set(txt, "a\u2029bc\ndef\n\u2029"); efl_text_set(txt, "a\u2029bc\ndef\n\u2029");
efl_text_cursor_position_set(start, 2); efl_text_cursor_object_position_set(start, 2);
efl_text_cursor_position_set(end, 5); efl_text_cursor_object_position_set(end, 5);
res = efl_text_cursor_range_markup_get(start, end); res = efl_text_cursor_object_range_markup_get(start, end);
ck_assert_str_eq(res, "bc<br>"); ck_assert_str_eq(res, "bc<br>");
free(res); free(res);