forked from enlightenment/efl
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:
parent
8a155aecb6
commit
f526ad8c26
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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.]]
|
||||||
|
|
|
@ -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))
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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 {}
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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"
|
|
@ -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.]]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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.]]
|
||||||
}
|
}
|
||||||
|
|
|
@ -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)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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'
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|
|
@ -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();
|
||||||
|
|
||||||
|
|
|
@ -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);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue