diff options
author | Daniel Hirt <hirt.danny@gmail.com> | 2017-09-27 09:30:44 +0300 |
---|---|---|
committer | Daniel Hirt <hirt.danny@gmail.com> | 2017-09-27 09:30:44 +0300 |
commit | 11cad255fcec1f93e61e6f53c3da1fff0bc9f44c (patch) | |
tree | 7051980adae55d8369eddaba2b3acd9b133334fb | |
parent | 786db5d1cb61de864956bdfd794b850dc7b58ddf (diff) | |
download | efl-11cad255fcec1f93e61e6f53c3da1fff0bc9f44c.tar.gz |
Edje text: return markup only in legacy
Should use efl_text_markup_get for non-legacy usage (i.e. efl_part).
-rw-r--r-- | src/lib/edje/edje_part_text.c | 2 | ||||
-rw-r--r-- | src/lib/edje/edje_private.h | 2 | ||||
-rw-r--r-- | src/lib/edje/edje_util.c | 40 |
3 files changed, 38 insertions, 6 deletions
diff --git a/src/lib/edje/edje_part_text.c b/src/lib/edje/edje_part_text.c index dc5a944743..4db7ce42bd 100644 --- a/src/lib/edje/edje_part_text.c +++ b/src/lib/edje/edje_part_text.c @@ -20,7 +20,7 @@ _efl_canvas_layout_part_text_efl_text_text_get(Eo *obj, void *_pd EINA_UNUSED) { PROXY_DATA_GET(obj, pd); - RETURN_VAL(_edje_efl_text_get(obj, pd->ed, pd->part)); + RETURN_VAL(_edje_efl_text_get(obj, pd->ed, pd->part, EINA_FALSE)); } EOLIAN static Efl_Text_Cursor_Cursor * diff --git a/src/lib/edje/edje_private.h b/src/lib/edje/edje_private.h index 19421c03ed..c2dc65f0e7 100644 --- a/src/lib/edje/edje_private.h +++ b/src/lib/edje/edje_private.h @@ -3161,7 +3161,7 @@ Evas_Object *_edje_object_part_external_content_get(Edje *ed, const char *part, /* part text */ Eo *_edje_text_internal_proxy_get(Edje_Object *obj, Edje *ed, Edje_Real_Part *rp); Eina_Bool _edje_efl_text_set(Eo *obj, Edje *ed, const char *part, const char *text); -const char *_edje_efl_text_get(Eo *obj, Edje *ed, const char *part); +const char *_edje_efl_text_get(Eo *obj, Edje *ed, const char *part, Eina_Bool legacy); Evas_Textblock_Cursor *_edje_text_cursor_get(Edje_Real_Part *rp, Edje_Cursor cur); void _edje_text_cursor_begin(Edje_Real_Part *rp, Efl_Text_Cursor_Cursor *cur); void _edje_text_cursor_end(Edje_Real_Part *rp, Efl_Text_Cursor_Cursor *cur); diff --git a/src/lib/edje/edje_util.c b/src/lib/edje/edje_util.c index 36f7ce3eda..7de1a9f45e 100644 --- a/src/lib/edje/edje_util.c +++ b/src/lib/edje/edje_util.c @@ -1923,7 +1923,8 @@ _edje_efl_text_set(Eo *obj, Edje *ed, const char *part, const char *text) } const char * -_edje_efl_text_get(Eo *obj EINA_UNUSED, Edje *ed, const char *part) +_edje_efl_text_get(Eo *obj EINA_UNUSED, Edje *ed, const char *part, + Eina_Bool legacy) { Edje_Real_Part *rp; @@ -1938,7 +1939,17 @@ _edje_efl_text_get(Eo *obj EINA_UNUSED, Edje *ed, const char *part) (!rp->typedata.text)) return NULL; if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) { - return _edje_entry_text_get(rp); + const char *entry; + if (legacy) + { + entry = _edje_entry_text_get(rp); + } + else + { + entry = efl_text_markup_get(rp->object); + } + + return entry; } else { @@ -1958,7 +1969,17 @@ _edje_efl_text_get(Eo *obj EINA_UNUSED, Edje *ed, const char *part) } if (rp->part->type == EDJE_PART_TYPE_TEXTBLOCK) { - return evas_object_textblock_text_markup_get(rp->object); + const char *entry; + if (legacy) + { + entry = evas_object_textblock_text_markup_get(rp->object); + } + else + { + entry = efl_text_markup_get(rp->object); + } + + return entry; } } @@ -6100,7 +6121,18 @@ edje_object_part_text_set(const Edje_Object *obj, const char *part, const char * EAPI const char * edje_object_part_text_get(const Edje_Object *obj, const char *part) { - return efl_text_get(efl_part(obj, part)); + Edje_Real_Part *rp; + Edje *ed; + + if (!_edje_part_fetch(obj, part, &ed, &rp)) return NULL; + + if ((rp->part->type != EDJE_PART_TYPE_TEXT) && + (rp->part->type != EDJE_PART_TYPE_TEXTBLOCK)) + { + ERR("Invalid call on a non-text or non-textblock part: '%s' in group '%s'", part, ed->group); + return NULL; + } + return _edje_efl_text_get((Eo *)obj, ed, part, EINA_TRUE); } /* vim:set ts=8 sw=3 sts=3 expandtab cino=>5n-2f0^-2{2(0W1st0 :*/ |