From 4218f905f5f7078ea49f231bdca3571a1f42e9a2 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Fri, 20 Mar 2009 15:07:39 +0000 Subject: [PATCH] add more util calls for enty manipulation SVN revision: 39600 --- legacy/edje/src/lib/Edje.h | 1 + legacy/edje/src/lib/edje_entry.c | 11 +++++++++++ legacy/edje/src/lib/edje_private.h | 1 + legacy/edje/src/lib/edje_util.c | 20 +++++++++++++++++++- 4 files changed, 32 insertions(+), 1 deletion(-) diff --git a/legacy/edje/src/lib/Edje.h b/legacy/edje/src/lib/Edje.h index 2ca4e061f7..460bdbd92f 100644 --- a/legacy/edje/src/lib/Edje.h +++ b/legacy/edje/src/lib/Edje.h @@ -256,6 +256,7 @@ extern "C" { EAPI const Eina_List *edje_object_part_text_anchor_geometry_get(const Evas_Object *obj, const char *part, const char *anchor); EAPI void edje_object_part_text_cursor_geometry_get(const Evas_Object *obj, const char *part, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h); EAPI void edje_object_part_text_select_allow_set(const Evas_Object *obj, const char *part, Evas_Bool allow); + EAPI void edje_object_part_text_select_abort(const Evas_Object *obj, const char *part); EAPI void edje_object_part_swallow (Evas_Object *obj, const char *part, Evas_Object *obj_swallow); EAPI void edje_object_part_unswallow (Evas_Object *obj, Evas_Object *obj_swallow); diff --git a/legacy/edje/src/lib/edje_entry.c b/legacy/edje/src/lib/edje_entry.c index 64c1741644..c1760ea258 100644 --- a/legacy/edje/src/lib/edje_entry.c +++ b/legacy/edje/src/lib/edje_entry.c @@ -1482,3 +1482,14 @@ _edje_entry_select_allow_set(Edje_Real_Part *rp, Evas_Bool allow) Entry *en = rp->entry_data; en->select_allow = allow; } + +void +_edje_entry_select_abort(Edje_Real_Part *rp) +{ + Entry *en = rp->entry_data; + if (en->selecting) + { + en->selecting = 0; + _edje_entry_real_part_configure(rp); + } +} diff --git a/legacy/edje/src/lib/edje_private.h b/legacy/edje/src/lib/edje_private.h index 389341afa1..6d24e0cda5 100644 --- a/legacy/edje/src/lib/edje_private.h +++ b/legacy/edje/src/lib/edje_private.h @@ -1307,5 +1307,6 @@ const Eina_List *_edje_entry_anchor_geometry_get(Edje_Real_Part *rp, const char const Eina_List *_edje_entry_anchors_list(Edje_Real_Part *rp); void _edje_entry_cursor_geometry_get(Edje_Real_Part *rp, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch); void _edje_entry_select_allow_set(Edje_Real_Part *rp, Evas_Bool allow); +void _edje_entry_select_abort(Edje_Real_Part *rp); #endif diff --git a/legacy/edje/src/lib/edje_util.c b/legacy/edje/src/lib/edje_util.c index 8de42de4a6..8c1fddc984 100644 --- a/legacy/edje/src/lib/edje_util.c +++ b/legacy/edje/src/lib/edje_util.c @@ -1101,7 +1101,7 @@ edje_object_part_text_cursor_geometry_get(const Evas_Object *obj, const char *pa return; } -/** XX +/** Enables selection if the entyr is an EXPLICIT selection mode type * @param obj A valid Evas_Object handle * @param part The part name */ @@ -1119,6 +1119,24 @@ edje_object_part_text_select_allow_set(const Evas_Object *obj, const char *part, _edje_entry_select_allow_set(rp, allow); } +/** Aborts any selection action on a part + * @param obj A valid Evas_Object handle + * @param part The part name + */ +EAPI void +edje_object_part_text_select_abort(const Evas_Object *obj, const char *part) +{ + Edje *ed; + Edje_Real_Part *rp; + + ed = _edje_fetch(obj); + if ((!ed) || (!part)) return; + rp = _edje_real_part_recursive_get(ed, (char *)part); + if (!rp) return; + if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) + _edje_entry_select_abort(rp); +} + /** Swallows an object into the edje * @param obj A valid Evas_Object handle * @param part The part name