}
static void
-_anchors_visible_get(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en);
-
-static void
-_anchors_update(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en)
+_anchors_update(Evas_Textblock_Cursor *c __UNUSED__, Evas_Object *o, Entry *en)
{
Eina_List *l, *ll, *range = NULL;
Evas_Coord x, y, w, h;
clip = evas_object_clip_get(o);
x = y = w = h = -1;
evas_object_geometry_get(o, &x, &y, &w, &h);
- _anchors_visible_get(c, o, en);
EINA_LIST_FOREACH(en->anchors, l, an)
{
// for item anchors
}
static void
-_anchors_visible_get(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en)
+_anchors_get(Evas_Textblock_Cursor *c, Evas_Object *o, Entry *en)
{
- const Evas_Object_Textblock_Node_Format *node;
- Eina_List *formats, *itr;
+ const Eina_List *anchors_a, *anchors_item;
Anchor *an = NULL;
_anchors_clear(c, o, en);
- Evas_Textblock_Cursor *start, *end;
- start = evas_object_textblock_cursor_new(o);
- end = evas_object_textblock_cursor_new(o);
- evas_textblock_cursor_visible_range_get(start, end);
- formats = evas_textblock_cursor_range_formats_get(start, end);
- evas_textblock_cursor_free(start);
- evas_textblock_cursor_free(end);
+ anchors_a = evas_textblock_node_format_list_get(o, "a");
+ anchors_item = evas_textblock_node_format_list_get(o, "item");
- EINA_LIST_FOREACH(formats, itr, node)
+ if (anchors_a)
{
- const char *s = evas_textblock_node_format_text_get(node);
- if (!strncmp(s, "+ a ", 4))
+ const Evas_Object_Textblock_Node_Format *node;
+ const Eina_List *itr;
+ EINA_LIST_FOREACH(anchors_a, itr, node)
{
+ const char *s = evas_textblock_node_format_text_get(node);
char *p;
an = calloc(1, sizeof(Anchor));
if (!an)
}
an = NULL;
}
- else if (!strncmp(s, "+ item ", 7))
+ }
+
+ if (anchors_item)
+ {
+ const Evas_Object_Textblock_Node_Format *node;
+ const Eina_List *itr;
+ EINA_LIST_FOREACH(anchors_item, itr, node)
{
+ const char *s = evas_textblock_node_format_text_get(node);
char *p;
an = calloc(1, sizeof(Anchor));
if (!an)
* here cause it doesn't really matter. */
}
}
-
- eina_list_free(formats);
}
}
}
_sel_clear(en->cursor, rp->object, en);
+ _anchors_get(en->cursor, rp->object, en);
_edje_emit(ed, "entry,key,backspace", rp->part->name);
ev->event_flags |= EVAS_EVENT_FLAG_ON_HOLD;
}
_delete(en->cursor, rp->object, en);
}
_sel_clear(en->cursor, rp->object, en);
+ _anchors_get(en->cursor, rp->object, en);
_edje_emit(ed, "entry,changed", rp->part->name);
_edje_emit(ed, "entry,changed,user", rp->part->name);
_edje_emit(ed, "entry,key,delete", rp->part->name);
//yy
// evas_textblock_cursor_format_prepend(en->cursor, "\t");
_text_filter_format_prepend(en, en->cursor, "\t");
+ _anchors_get(en->cursor, rp->object, en);
_edje_emit(ed, "entry,changed", rp->part->name);
_edje_emit(ed, "entry,changed,user", rp->part->name);
}
// evas_textblock_cursor_format_prepend(en->cursor, "ps");
_text_filter_format_prepend(en, en->cursor, "ps");
}
+ _anchors_get(en->cursor, rp->object, en);
_edje_emit(ed, "entry,changed", rp->part->name);
_edje_emit(ed, "entry,changed,user", rp->part->name);
_edje_emit(ed, "cursor,changed", rp->part->name);
}
else
_text_filter_text_prepend(en, en->cursor, ev->string);
+ _anchors_get(en->cursor, rp->object, en);
_edje_emit(ed, "entry,changed", rp->part->name);
_edje_emit(ed, "entry,changed,user", rp->part->name);
_edje_emit(ed, "cursor,changed", rp->part->name);
evas_object_textblock_text_markup_set(rp->object, text);
_edje_entry_set_cursor_start(rp);
+ _anchors_get(en->cursor, rp->object, en);
_edje_emit(rp->edje, "entry,changed", rp->part->name);
_edje_entry_imf_cursor_info_set(en);
#if 0
evas_textblock_cursor_free(end_cur);
/* We are updating according to the real cursor on purpose */
+ _anchors_get(en->cursor, rp->object, en);
_edje_emit(rp->edje, "entry,changed", rp->part->name);
_edje_entry_real_part_configure(rp);
//xx
// evas_object_textblock_text_markup_prepend(en->cursor, text);
_text_filter_markup_prepend(en, en->cursor, text);
+ _anchors_get(en->cursor, rp->object, en);
_edje_emit(rp->edje, "entry,changed", rp->part->name);
_edje_emit(rp->edje, "cursor,changed", rp->part->name);
evas_textblock_cursor_free(tc);
_edje_entry_imf_cursor_info_set(en);
+ _anchors_get(en->cursor, rp->object, en);
_edje_emit(rp->edje, "entry,changed", rp->part->name);
_edje_emit(ed, "entry,changed,user", rp->part->name);
_edje_emit(ed, "cursor,changed", rp->part->name);
}
_edje_entry_imf_cursor_info_set(en);
+ _anchors_get(en->cursor, rp->object, en);
_edje_emit(rp->edje, "preedit,changed", rp->part->name);
_edje_emit(ed, "cursor,changed", rp->part->name);