forked from enlightenment/efl
edje: Updated edje to conform with recent textblock changes.
'Return' now inserts a Paragraph Separator. 'Shift + Return' now inserts a New Line. SVN revision: 50931
This commit is contained in:
parent
d5e579c2e9
commit
48180c9859
|
@ -81,7 +81,7 @@ struct _Anchor
|
|||
};
|
||||
|
||||
#ifdef HAVE_ECORE_IMF
|
||||
static void
|
||||
static void
|
||||
_edje_entry_focus_in_cb(void *data, Evas_Object *o __UNUSED__, const char *emission __UNUSED__, const char *source __UNUSED__)
|
||||
{
|
||||
Edje_Real_Part *rp;
|
||||
|
@ -95,12 +95,12 @@ _edje_entry_focus_in_cb(void *data, Evas_Object *o __UNUSED__, const char *emiss
|
|||
|
||||
if (evas_object_focus_get(rp->edje->obj))
|
||||
{
|
||||
ecore_imf_context_reset(en->imf_context);
|
||||
ecore_imf_context_focus_in(en->imf_context);
|
||||
ecore_imf_context_reset(en->imf_context);
|
||||
ecore_imf_context_focus_in(en->imf_context);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
static void
|
||||
_edje_entry_focus_out_cb(void *data, Evas_Object *o __UNUSED__, const char *emission __UNUSED__, const char *source __UNUSED__)
|
||||
{
|
||||
Edje_Real_Part *rp;
|
||||
|
@ -118,7 +118,7 @@ _edje_entry_focus_out_cb(void *data, Evas_Object *o __UNUSED__, const char *emis
|
|||
}
|
||||
#endif
|
||||
|
||||
static void
|
||||
static void
|
||||
_edje_focus_in_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
Edje *ed = data;
|
||||
|
@ -134,18 +134,18 @@ _edje_focus_in_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, v
|
|||
|
||||
en = rp->entry_data;
|
||||
if ((!en) || (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) ||
|
||||
(rp->part->entry_mode < EDJE_ENTRY_EDIT_MODE_EDITABLE))
|
||||
(rp->part->entry_mode < EDJE_ENTRY_EDIT_MODE_EDITABLE))
|
||||
return;
|
||||
|
||||
if (en->imf_context)
|
||||
{
|
||||
ecore_imf_context_reset(en->imf_context);
|
||||
ecore_imf_context_focus_in(en->imf_context);
|
||||
ecore_imf_context_reset(en->imf_context);
|
||||
ecore_imf_context_focus_in(en->imf_context);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
static void
|
||||
_edje_focus_out_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
|
||||
{
|
||||
Edje *ed = data;
|
||||
|
@ -160,21 +160,21 @@ _edje_focus_out_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__,
|
|||
if (!rp) return;
|
||||
en = rp->entry_data;
|
||||
if ((!en) || (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK) ||
|
||||
(rp->part->entry_mode < EDJE_ENTRY_EDIT_MODE_EDITABLE))
|
||||
(rp->part->entry_mode < EDJE_ENTRY_EDIT_MODE_EDITABLE))
|
||||
return;
|
||||
|
||||
if (en->imf_context)
|
||||
{
|
||||
ecore_imf_context_reset(en->imf_context);
|
||||
ecore_imf_context_cursor_position_set(en->imf_context,
|
||||
evas_textblock_cursor_pos_get(en->cursor));
|
||||
evas_textblock_cursor_pos_get(en->cursor));
|
||||
ecore_imf_context_focus_out(en->imf_context);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
// need one for markup and format too - how to do it? extra type param?
|
||||
static void
|
||||
static void
|
||||
_text_filter_prepend(Entry *en, const char *text)
|
||||
{
|
||||
char *text2;
|
||||
|
@ -193,8 +193,6 @@ _text_filter_prepend(Entry *en, const char *text)
|
|||
if (text2)
|
||||
{
|
||||
evas_textblock_cursor_text_prepend(en->cursor, text2);
|
||||
// evas_textblock_cursor_format_prepend(en->cursor, text2);
|
||||
// evas_object_textblock_text_markup_prepend(en->cursor, text2);
|
||||
free(text2);
|
||||
}
|
||||
}
|
||||
|
@ -212,105 +210,14 @@ _curs_update_from_curs(Evas_Textblock_Cursor *c, Evas_Object *o __UNUSED__, Entr
|
|||
static void
|
||||
_curs_back(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en)
|
||||
{
|
||||
if (!evas_textblock_cursor_char_prev(c))
|
||||
{
|
||||
if (evas_textblock_cursor_node_prev(c))
|
||||
{
|
||||
while (evas_textblock_cursor_node_format_get(c))
|
||||
{
|
||||
if (evas_textblock_cursor_node_format_is_visible_get(c)) break;
|
||||
if (!evas_textblock_cursor_node_prev(c)) break;
|
||||
}
|
||||
}
|
||||
}
|
||||
evas_textblock_cursor_char_prev(c);
|
||||
_curs_update_from_curs(c, o, en);
|
||||
}
|
||||
|
||||
static void
|
||||
_curs_next(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en)
|
||||
{
|
||||
int ln, ln2, ok;
|
||||
Eina_Bool eol;
|
||||
|
||||
ln = evas_textblock_cursor_line_geometry_get(c, NULL, NULL, NULL, NULL);
|
||||
eol = evas_textblock_cursor_eol_get(c);
|
||||
if (!evas_textblock_cursor_char_next(c))
|
||||
{
|
||||
if (!eol)
|
||||
{
|
||||
ln2 = evas_textblock_cursor_line_geometry_get(c, NULL, NULL, NULL, NULL);
|
||||
if (ln2 != ln)
|
||||
{
|
||||
evas_textblock_cursor_char_prev(c);
|
||||
evas_textblock_cursor_eol_set(c, 1);
|
||||
_curs_update_from_curs(c, o, en);
|
||||
return;
|
||||
}
|
||||
ok = evas_textblock_cursor_node_next(c);
|
||||
if (!ok)
|
||||
{
|
||||
evas_textblock_cursor_line_last(c);
|
||||
_curs_update_from_curs(c, o, en);
|
||||
return;
|
||||
}
|
||||
while (evas_textblock_cursor_node_format_get(c))
|
||||
{
|
||||
if (evas_textblock_cursor_node_format_is_visible_get(c))
|
||||
break;
|
||||
if (!evas_textblock_cursor_node_next(c))
|
||||
break;
|
||||
}
|
||||
return;
|
||||
}
|
||||
evas_textblock_cursor_eol_set(c, 0);
|
||||
if (evas_textblock_cursor_node_next(c))
|
||||
{
|
||||
while (evas_textblock_cursor_node_format_get(c))
|
||||
{
|
||||
if (evas_textblock_cursor_node_format_is_visible_get(c))
|
||||
break;
|
||||
if (!evas_textblock_cursor_node_next(c))
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
int len, pos;
|
||||
|
||||
len = evas_textblock_cursor_node_text_length_get(c);
|
||||
pos = evas_textblock_cursor_pos_get(c);
|
||||
if (pos == len)
|
||||
{
|
||||
evas_textblock_cursor_node_next(c);
|
||||
if (!eol)
|
||||
{
|
||||
ln2 = evas_textblock_cursor_line_geometry_get(c, NULL, NULL, NULL, NULL);
|
||||
if (ln2 != ln)
|
||||
{
|
||||
evas_textblock_cursor_node_prev(c);
|
||||
evas_textblock_cursor_line_last(c);
|
||||
_curs_update_from_curs(c, o, en);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!eol)
|
||||
{
|
||||
ln2 = evas_textblock_cursor_line_geometry_get(c, NULL, NULL, NULL, NULL);
|
||||
if (ln2 != ln)
|
||||
{
|
||||
evas_textblock_cursor_char_prev(c);
|
||||
evas_textblock_cursor_eol_set(c, 1);
|
||||
_curs_update_from_curs(c, o, en);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
evas_textblock_cursor_eol_set(c, 0);
|
||||
}
|
||||
evas_textblock_cursor_char_next(c);
|
||||
_curs_update_from_curs(c, o, en);
|
||||
}
|
||||
|
||||
|
@ -321,7 +228,7 @@ _curs_line_last_get(Evas_Textblock_Cursor *c __UNUSED__, Evas_Object *o, Entry *
|
|||
int ln;
|
||||
|
||||
cc = evas_object_textblock_cursor_new(o);
|
||||
evas_textblock_cursor_node_last(cc);
|
||||
evas_textblock_cursor_paragraph_last(cc);
|
||||
ln = evas_textblock_cursor_line_geometry_get(cc, NULL, NULL, NULL, NULL);
|
||||
evas_textblock_cursor_free(cc);
|
||||
return ln;
|
||||
|
@ -330,34 +237,29 @@ _curs_line_last_get(Evas_Textblock_Cursor *c __UNUSED__, Evas_Object *o, Entry *
|
|||
static void
|
||||
_curs_lin_start(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en)
|
||||
{
|
||||
evas_textblock_cursor_line_first(c);
|
||||
evas_textblock_cursor_line_char_first(c);
|
||||
_curs_update_from_curs(c, o, en);
|
||||
}
|
||||
|
||||
static void
|
||||
_curs_lin_end(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en)
|
||||
{
|
||||
evas_textblock_cursor_line_last(c);
|
||||
// if (!evas_textblock_cursor_node_format_get(c))
|
||||
// _curs_next(c, o, en);
|
||||
evas_textblock_cursor_line_char_last(c);
|
||||
_curs_update_from_curs(c, o, en);
|
||||
}
|
||||
|
||||
static void
|
||||
_curs_start(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en)
|
||||
{
|
||||
evas_textblock_cursor_line_set(c, 0);
|
||||
evas_textblock_cursor_line_first(c);
|
||||
evas_textblock_cursor_paragraph_first(c);
|
||||
_curs_update_from_curs(c, o, en);
|
||||
}
|
||||
|
||||
static void
|
||||
_curs_end(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en)
|
||||
{
|
||||
evas_textblock_cursor_node_last(c);
|
||||
evas_textblock_cursor_paragraph_last(c);
|
||||
_curs_lin_end(c, o, en);
|
||||
// evas_textblock_cursor_line_set(c, _curs_line_last_get(c, o, en));
|
||||
// _curs_lin_end(c, o, en);
|
||||
_curs_update_from_curs(c, o, en);
|
||||
}
|
||||
|
||||
|
@ -380,7 +282,7 @@ _curs_jump_line(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en, int ln)
|
|||
if (en->cx < (lx + (lw / 2)))
|
||||
{
|
||||
if (ln == last) _curs_end(c, o, en);
|
||||
// evas_textblock_cursor_line_first(c);
|
||||
// evas_textblock_cursor_line_char_last(c);
|
||||
_curs_lin_start(c, o, en);
|
||||
}
|
||||
else
|
||||
|
@ -389,7 +291,7 @@ _curs_jump_line(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en, int ln)
|
|||
_curs_end(c, o, en);
|
||||
else
|
||||
_curs_lin_end(c, o, en);
|
||||
// evas_textblock_cursor_line_last(c);
|
||||
// evas_textblock_cursor_line_char_last(c);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -923,17 +825,18 @@ static void
|
|||
_anchors_get(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en)
|
||||
{
|
||||
Evas_Textblock_Cursor *c1;
|
||||
const Evas_Object_Textblock_Node_Format *node;
|
||||
Anchor *an = NULL;
|
||||
int firsttext = 0;
|
||||
|
||||
_anchors_clear(c, o, en);
|
||||
c1 = evas_object_textblock_cursor_new(o);
|
||||
evas_textblock_cursor_node_first(c1);
|
||||
do
|
||||
node = evas_textblock_node_format_first_get(o);
|
||||
for (; node ; node = evas_textblock_node_format_next_get(node))
|
||||
{
|
||||
const char *s;
|
||||
|
||||
s = evas_textblock_cursor_node_format_get(c1);
|
||||
evas_textblock_cursor_at_format_set(c1, node);
|
||||
s = evas_textblock_node_format_text_get(node);
|
||||
if (s)
|
||||
{
|
||||
if ((!strncmp(s, "+ a ", 4)) || (!strncmp(s, "+a ", 3)))
|
||||
|
@ -958,9 +861,11 @@ _anchors_get(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en)
|
|||
}
|
||||
else if ((!strcmp(s, "- a")) || (!strcmp(s, "-a")))
|
||||
{
|
||||
/* Close the anchor, if the anchor was without text, free it as well */
|
||||
if (an)
|
||||
{
|
||||
if (!firsttext)
|
||||
evas_textblock_cursor_at_format_set(an->end, node);
|
||||
if (!evas_textblock_cursor_compare(an->start, an->end))
|
||||
{
|
||||
if (an->name) free(an->name);
|
||||
evas_textblock_cursor_free(an->start);
|
||||
|
@ -968,7 +873,6 @@ _anchors_get(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en)
|
|||
en->anchors = eina_list_remove(en->anchors, an);
|
||||
free(an);
|
||||
}
|
||||
firsttext = 0;
|
||||
an = NULL;
|
||||
}
|
||||
}
|
||||
|
@ -1007,30 +911,11 @@ _anchors_get(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en)
|
|||
free(an);
|
||||
}
|
||||
*/
|
||||
firsttext = 0;
|
||||
an = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
s = evas_textblock_cursor_node_text_get(c1);
|
||||
if (an)
|
||||
{
|
||||
if (!an->item)
|
||||
{
|
||||
if (!firsttext)
|
||||
{
|
||||
evas_textblock_cursor_copy(c1, an->start);
|
||||
firsttext = 1;
|
||||
}
|
||||
}
|
||||
evas_textblock_cursor_char_last(c1);
|
||||
evas_textblock_cursor_copy(c1, an->end);
|
||||
}
|
||||
}
|
||||
}
|
||||
while (evas_textblock_cursor_node_next(c1));
|
||||
evas_textblock_cursor_free(c1);
|
||||
}
|
||||
|
||||
|
@ -1038,111 +923,22 @@ _anchors_get(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en)
|
|||
static void
|
||||
_range_del(Evas_Textblock_Cursor *c __UNUSED__, Evas_Object *o, Entry *en)
|
||||
{
|
||||
Evas_Textblock_Cursor *c1;
|
||||
|
||||
c1 = evas_object_textblock_cursor_new(o);
|
||||
evas_textblock_cursor_node_last(c1);
|
||||
if (!evas_textblock_cursor_compare(en->sel_end, c1))
|
||||
evas_textblock_cursor_node_prev(en->sel_end);
|
||||
if (!evas_textblock_cursor_compare(en->sel_start, c1))
|
||||
evas_textblock_cursor_node_prev(en->sel_start);
|
||||
evas_textblock_cursor_free(c1);
|
||||
evas_textblock_cursor_range_delete(en->sel_start, en->sel_end);
|
||||
}
|
||||
|
||||
static void
|
||||
_backspace(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en)
|
||||
{
|
||||
Evas_Textblock_Cursor *c1, *c2;
|
||||
int nodel = 0;
|
||||
|
||||
c1 = evas_object_textblock_cursor_new(o);
|
||||
if (!evas_textblock_cursor_char_prev(c))
|
||||
if (evas_textblock_cursor_char_prev(c))
|
||||
{
|
||||
if (!evas_textblock_cursor_node_prev(c))
|
||||
nodel = 1;
|
||||
else
|
||||
{
|
||||
evas_textblock_cursor_copy(c, c1);
|
||||
if (evas_textblock_cursor_node_format_get(c) &&
|
||||
(!evas_textblock_cursor_node_format_is_visible_get(c)))
|
||||
_curs_back(c, o, en);
|
||||
}
|
||||
evas_textblock_cursor_char_delete(c);
|
||||
}
|
||||
else
|
||||
{
|
||||
evas_textblock_cursor_copy(c, c1);
|
||||
}
|
||||
c2 = evas_object_textblock_cursor_new(o);
|
||||
evas_textblock_cursor_copy(c, c2);
|
||||
if (!nodel)
|
||||
{
|
||||
evas_textblock_cursor_range_delete(c1, c2);
|
||||
}
|
||||
evas_textblock_cursor_copy(c, c1);
|
||||
_curs_back(c, o, en);
|
||||
evas_textblock_cursor_copy(c, c2);
|
||||
if ((!evas_textblock_cursor_char_next(c2)) &&
|
||||
(!evas_textblock_cursor_node_next(c2)))
|
||||
{
|
||||
_curs_end(c, o, en);
|
||||
}
|
||||
else if (evas_textblock_cursor_compare(c, c1))
|
||||
{
|
||||
_curs_next(c, o, en);
|
||||
}
|
||||
|
||||
evas_textblock_cursor_free(c1);
|
||||
evas_textblock_cursor_free(c2);
|
||||
}
|
||||
|
||||
static void
|
||||
_delete(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en)
|
||||
{
|
||||
Evas_Textblock_Cursor *c1, *c2;
|
||||
|
||||
c1 = evas_object_textblock_cursor_new(o);
|
||||
c2 = evas_object_textblock_cursor_new(o);
|
||||
evas_textblock_cursor_copy(c, c1);
|
||||
evas_textblock_cursor_copy(c, c2);
|
||||
evas_textblock_cursor_char_last(c2);
|
||||
if (evas_textblock_cursor_node_format_get(c1) &&
|
||||
(!evas_textblock_cursor_node_format_is_visible_get(c1)))
|
||||
{
|
||||
// non-visible format-node
|
||||
evas_textblock_cursor_copy(c1, c2);
|
||||
while (evas_textblock_cursor_node_next(c2))
|
||||
{
|
||||
if ((!evas_textblock_cursor_node_format_get(c2)) ||
|
||||
(evas_textblock_cursor_node_format_is_visible_get(c2)))
|
||||
{
|
||||
evas_textblock_cursor_node_prev(c2);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (evas_textblock_cursor_node_format_is_visible_get(c1))
|
||||
{
|
||||
// visible format node
|
||||
// do nothing just copy c to c1/c2 and range del
|
||||
}
|
||||
else
|
||||
{
|
||||
// if it's a text node
|
||||
if (!evas_textblock_cursor_char_next(c1))
|
||||
{
|
||||
if (evas_textblock_cursor_compare(c1, c2) > 0)
|
||||
_curs_next(c, o, en);
|
||||
}
|
||||
}
|
||||
evas_textblock_cursor_copy(c, c1);
|
||||
evas_textblock_cursor_copy(c, c2);
|
||||
}
|
||||
evas_textblock_cursor_range_delete(c1, c2);
|
||||
evas_textblock_cursor_free(c1);
|
||||
evas_textblock_cursor_free(c2);
|
||||
evas_textblock_cursor_char_delete(c);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -1444,8 +1240,14 @@ _edje_key_down_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, v
|
|||
if (en->have_selection)
|
||||
_range_del(en->cursor, rp->object, en);
|
||||
_sel_clear(en->cursor, rp->object, en);
|
||||
//yy
|
||||
evas_textblock_cursor_format_prepend(en->cursor, "\n");
|
||||
if (shift)
|
||||
{
|
||||
evas_textblock_cursor_format_prepend(en->cursor, "\n");
|
||||
}
|
||||
else
|
||||
{
|
||||
evas_textblock_cursor_format_prepend(en->cursor, "ps");
|
||||
}
|
||||
_curs_update_from_curs(en->cursor, rp->object, en);
|
||||
_anchors_get(en->cursor, rp->object, en);
|
||||
_edje_emit(ed, "entry,changed", rp->part->name);
|
||||
|
@ -2072,7 +1874,7 @@ _edje_entry_text_markup_set(Edje_Real_Part *rp, const char *text)
|
|||
_sel_clear(en->cursor, rp->object, en);
|
||||
evas_object_textblock_text_markup_set(rp->object, text);
|
||||
/*
|
||||
evas_textblock_cursor_node_last(en->cursor);
|
||||
evas_textblock_cursor_paragraph_last(en->cursor);
|
||||
if (!evas_textblock_cursor_node_format_get(en->cursor))
|
||||
{
|
||||
evas_textblock_cursor_format_append(en->cursor, "\n");
|
||||
|
@ -2371,11 +2173,8 @@ _edje_entry_cursor_next(Edje_Real_Part *rp, Edje_Cursor cur)
|
|||
if (!c) return EINA_FALSE;
|
||||
if (!evas_textblock_cursor_char_next(c))
|
||||
{
|
||||
evas_textblock_cursor_eol_set(c, 0);
|
||||
if (evas_textblock_cursor_node_next(c)) goto ok;
|
||||
else return EINA_FALSE;
|
||||
return EINA_FALSE;
|
||||
}
|
||||
ok:
|
||||
_curs_update_from_curs(c, rp->object, rp->entry_data);
|
||||
_sel_update(c, rp->object, rp->entry_data);
|
||||
|
||||
|
@ -2401,7 +2200,7 @@ _edje_entry_cursor_prev(Edje_Real_Part *rp, Edje_Cursor cur)
|
|||
if (!c) return EINA_FALSE;
|
||||
if (!evas_textblock_cursor_char_prev(c))
|
||||
{
|
||||
if (evas_textblock_cursor_node_prev(c)) goto ok;
|
||||
if (evas_textblock_cursor_paragraph_prev(c)) goto ok;
|
||||
else return EINA_FALSE;
|
||||
}
|
||||
ok:
|
||||
|
@ -2440,9 +2239,9 @@ _edje_entry_cursor_up(Edje_Real_Part *rp, Edje_Cursor cur)
|
|||
if (!evas_textblock_cursor_char_coord_set(c, cx, ly + (lh / 2)))
|
||||
{
|
||||
if (cx < (lx +(lw / 2)))
|
||||
evas_textblock_cursor_line_first(c);
|
||||
evas_textblock_cursor_line_char_last(c);
|
||||
else
|
||||
evas_textblock_cursor_line_last(c);
|
||||
evas_textblock_cursor_line_char_last(c);
|
||||
}
|
||||
_curs_update_from_curs(c, rp->object, rp->entry_data);
|
||||
_sel_update(c, rp->object, rp->entry_data);
|
||||
|
@ -2478,9 +2277,9 @@ _edje_entry_cursor_down(Edje_Real_Part *rp, Edje_Cursor cur)
|
|||
if (!evas_textblock_cursor_char_coord_set(c, cx, ly + (lh / 2)))
|
||||
{
|
||||
if (cx < (lx +(lw / 2)))
|
||||
evas_textblock_cursor_line_first(c);
|
||||
evas_textblock_cursor_line_char_last(c);
|
||||
else
|
||||
evas_textblock_cursor_line_last(c);
|
||||
evas_textblock_cursor_line_char_last(c);
|
||||
}
|
||||
_curs_update_from_curs(c, rp->object, rp->entry_data);
|
||||
_sel_update(c, rp->object, rp->entry_data);
|
||||
|
@ -2505,7 +2304,7 @@ _edje_entry_cursor_begin(Edje_Real_Part *rp, Edje_Cursor cur)
|
|||
Entry *en = rp->entry_data;
|
||||
Evas_Textblock_Cursor *c = _cursor_get(rp, cur);
|
||||
if (!c) return;
|
||||
evas_textblock_cursor_node_first(c);
|
||||
evas_textblock_cursor_paragraph_first(c);
|
||||
_curs_update_from_curs(c, rp->object, rp->entry_data);
|
||||
_sel_update(c, rp->object, rp->entry_data);
|
||||
|
||||
|
@ -2575,7 +2374,7 @@ _edje_entry_cursor_line_begin(Edje_Real_Part *rp, Edje_Cursor cur)
|
|||
Entry *en = rp->entry_data;
|
||||
Evas_Textblock_Cursor *c = _cursor_get(rp, cur);
|
||||
if (!c) return;
|
||||
evas_textblock_cursor_line_first(c);
|
||||
evas_textblock_cursor_line_char_last(c);
|
||||
_curs_update_from_curs(c, rp->object, rp->entry_data);
|
||||
_sel_update(c, rp->object, rp->entry_data);
|
||||
|
||||
|
@ -2598,7 +2397,7 @@ _edje_entry_cursor_line_end(Edje_Real_Part *rp, Edje_Cursor cur)
|
|||
Entry *en = rp->entry_data;
|
||||
Evas_Textblock_Cursor *c = _cursor_get(rp, cur);
|
||||
if (!c) return;
|
||||
evas_textblock_cursor_line_last(c);
|
||||
evas_textblock_cursor_line_char_last(c);
|
||||
_curs_update_from_curs(c, rp->object, rp->entry_data);
|
||||
_sel_update(c, rp->object, rp->entry_data);
|
||||
|
||||
|
@ -2620,7 +2419,7 @@ _edje_entry_cursor_is_format_get(Edje_Real_Part *rp, Edje_Cursor cur)
|
|||
{
|
||||
Evas_Textblock_Cursor *c = _cursor_get(rp, cur);
|
||||
if (!c) return EINA_FALSE;
|
||||
if (evas_textblock_cursor_node_format_get(c)) return EINA_TRUE;
|
||||
if (evas_textblock_cursor_is_format(c)) return EINA_TRUE;
|
||||
return EINA_FALSE;
|
||||
}
|
||||
|
||||
|
@ -2629,7 +2428,7 @@ _edje_entry_cursor_is_visible_format_get(Edje_Real_Part *rp, Edje_Cursor cur)
|
|||
{
|
||||
Evas_Textblock_Cursor *c = _cursor_get(rp, cur);
|
||||
if (!c) return EINA_FALSE;
|
||||
return evas_textblock_cursor_node_format_is_visible_get(c);
|
||||
return evas_textblock_cursor_format_is_visible_get(c);
|
||||
}
|
||||
|
||||
const char *
|
||||
|
@ -2640,9 +2439,9 @@ _edje_entry_cursor_content_get(Edje_Real_Part *rp, Edje_Cursor cur)
|
|||
static char buf[16];
|
||||
int pos, pos2, ch;
|
||||
if (!c) return NULL;
|
||||
s = evas_textblock_cursor_node_format_get(c);
|
||||
s = evas_textblock_node_format_text_get(evas_textblock_cursor_format_get(c));
|
||||
if (s) return s;
|
||||
s = evas_textblock_cursor_node_text_get(c);
|
||||
s = evas_textblock_cursor_paragraph_text_get(c);
|
||||
if (!s) return NULL;
|
||||
pos = evas_textblock_cursor_pos_get(c);
|
||||
pos2 = evas_string_char_next_get(s, pos, &ch);
|
||||
|
|
Loading…
Reference in New Issue