forked from enlightenment/efl
Canvas layout: improve legacy code paths for Efl.Text
Better handling of specific cases where you want to efl_text_set on
a TEXTBLOCK part.
Follow-up to af1595fd01
.
This commit is contained in:
parent
9ab866f32c
commit
0061a4bb34
|
@ -11,7 +11,7 @@ _efl_canvas_layout_part_text_efl_text_text_set(Eo *obj,
|
||||||
void *_pd EINA_UNUSED, const char *text)
|
void *_pd EINA_UNUSED, const char *text)
|
||||||
{
|
{
|
||||||
PROXY_DATA_GET(obj, pd);
|
PROXY_DATA_GET(obj, pd);
|
||||||
_edje_efl_text_set(obj, pd->ed, pd->part, text, EINA_FALSE);
|
_edje_efl_text_set(obj, pd->ed, pd->part, text, EINA_FALSE, EINA_FALSE);
|
||||||
RETURN_VOID;
|
RETURN_VOID;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,7 +36,7 @@ _efl_canvas_layout_part_text_efl_text_markup_markup_set(Eo *obj,
|
||||||
void *_pd EINA_UNUSED, const char *text)
|
void *_pd EINA_UNUSED, const char *text)
|
||||||
{
|
{
|
||||||
PROXY_DATA_GET(obj, pd);
|
PROXY_DATA_GET(obj, pd);
|
||||||
_edje_efl_text_set(obj, pd->ed, pd->part, text, EINA_TRUE);
|
_edje_efl_text_set(obj, pd->ed, pd->part, text, EINA_FALSE, EINA_TRUE);
|
||||||
RETURN_VOID;
|
RETURN_VOID;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3160,7 +3160,7 @@ Evas_Object *_edje_object_part_external_content_get(Edje *ed, const char *part,
|
||||||
|
|
||||||
/* part text */
|
/* part text */
|
||||||
Eo *_edje_text_internal_proxy_get(Edje_Object *obj, Edje *ed, Edje_Real_Part *rp);
|
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, Eina_Bool set_markup);
|
Eina_Bool _edje_efl_text_set(Eo *obj, Edje *ed, const char *part, const char *text, Eina_Bool legacy, Eina_Bool set_markup);
|
||||||
const char *_edje_efl_text_get(Eo *obj, Edje *ed, const char *part, Eina_Bool legacy, Eina_Bool get_markup);
|
const char *_edje_efl_text_get(Eo *obj, Edje *ed, const char *part, Eina_Bool legacy, Eina_Bool get_markup);
|
||||||
Eina_Bool _edje_efl_text_markup_set(Eo *obj, Edje *ed, const char *part, const char *markup);
|
Eina_Bool _edje_efl_text_markup_set(Eo *obj, Edje *ed, const char *part, const char *markup);
|
||||||
const char *_edje_efl_text_markup_get(Eo *obj, Edje *ed, const char *part);
|
const char *_edje_efl_text_markup_get(Eo *obj, Edje *ed, const char *part);
|
||||||
|
|
|
@ -1842,7 +1842,7 @@ _edje_object_text_change_cb_set(Eo *obj EINA_UNUSED, Edje *ed, Edje_Text_Change_
|
||||||
}
|
}
|
||||||
|
|
||||||
Eina_Bool
|
Eina_Bool
|
||||||
_edje_object_part_text_raw_generic_set(Edje *ed, Evas_Object *obj, Edje_Real_Part *rp, const char *part, const char *text, Eina_Bool set_markup)
|
_edje_object_part_text_raw_generic_set(Edje *ed, Evas_Object *obj, Edje_Real_Part *rp, const char *part, const char *text, Eina_Bool set_markup, Eina_Bool legacy)
|
||||||
{
|
{
|
||||||
if ((rp->type != EDJE_RP_TYPE_TEXT) ||
|
if ((rp->type != EDJE_RP_TYPE_TEXT) ||
|
||||||
(!rp->typedata.text)) return EINA_TRUE;
|
(!rp->typedata.text)) return EINA_TRUE;
|
||||||
|
@ -1861,19 +1861,26 @@ _edje_object_part_text_raw_generic_set(Edje *ed, Evas_Object *obj, Edje_Real_Par
|
||||||
else
|
else
|
||||||
if (text)
|
if (text)
|
||||||
{
|
{
|
||||||
if (set_markup && (rp->part->type == EDJE_PART_TYPE_TEXTBLOCK))
|
if (legacy)
|
||||||
{
|
|
||||||
char *mkup;
|
|
||||||
mkup =
|
|
||||||
efl_text_markup_util_text_to_markup(EFL_TEXT_MARKUP_UTIL_CLASS,
|
|
||||||
text);
|
|
||||||
rp->typedata.text->text = eina_stringshare_add(mkup);
|
|
||||||
free(mkup);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
rp->typedata.text->text = eina_stringshare_add(text);
|
rp->typedata.text->text = eina_stringshare_add(text);
|
||||||
}
|
}
|
||||||
|
else if (rp->part->type == EDJE_PART_TYPE_TEXTBLOCK)
|
||||||
|
{
|
||||||
|
if (set_markup)
|
||||||
|
{
|
||||||
|
rp->typedata.text->text = eina_stringshare_add(text);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
char *mkup;
|
||||||
|
mkup = efl_text_markup_util_text_to_markup(
|
||||||
|
EFL_TEXT_MARKUP_UTIL_CLASS,
|
||||||
|
text);
|
||||||
|
rp->typedata.text->text = eina_stringshare_add(mkup);
|
||||||
|
free(mkup);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
ed->dirty = EINA_TRUE;
|
ed->dirty = EINA_TRUE;
|
||||||
ed->recalc_call = EINA_TRUE;
|
ed->recalc_call = EINA_TRUE;
|
||||||
|
@ -1891,7 +1898,7 @@ Eina_Bool
|
||||||
_edje_object_part_text_raw_set(Edje *ed, Evas_Object *obj, Edje_Real_Part *rp, const char *part, const char *text)
|
_edje_object_part_text_raw_set(Edje *ed, Evas_Object *obj, Edje_Real_Part *rp, const char *part, const char *text)
|
||||||
{
|
{
|
||||||
return _edje_object_part_text_raw_generic_set(ed, obj, rp, part, text,
|
return _edje_object_part_text_raw_generic_set(ed, obj, rp, part, text,
|
||||||
EINA_FALSE);
|
EINA_FALSE, EINA_TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -1924,7 +1931,7 @@ _edje_user_define_string(Edje *ed, const char *part, const char *raw_text, Edje_
|
||||||
|
|
||||||
Eina_Bool
|
Eina_Bool
|
||||||
_edje_efl_text_set(Eo *obj, Edje *ed, const char *part, const char *text,
|
_edje_efl_text_set(Eo *obj, Edje *ed, const char *part, const char *text,
|
||||||
Eina_Bool set_markup)
|
Eina_Bool legacy, Eina_Bool set_markup)
|
||||||
{
|
{
|
||||||
Edje_Real_Part *rp;
|
Edje_Real_Part *rp;
|
||||||
Eina_Bool int_ret;
|
Eina_Bool int_ret;
|
||||||
|
@ -1940,7 +1947,7 @@ _edje_efl_text_set(Eo *obj, Edje *ed, const char *part, const char *text,
|
||||||
return EINA_TRUE;
|
return EINA_TRUE;
|
||||||
}
|
}
|
||||||
int_ret = _edje_object_part_text_raw_generic_set(ed, obj, rp, part, text,
|
int_ret = _edje_object_part_text_raw_generic_set(ed, obj, rp, part, text,
|
||||||
set_markup);
|
set_markup, legacy);
|
||||||
_edje_user_define_string(ed, part, rp->typedata.text->text, EDJE_TEXT_TYPE_NORMAL);
|
_edje_user_define_string(ed, part, rp->typedata.text->text, EDJE_TEXT_TYPE_NORMAL);
|
||||||
return int_ret;
|
return int_ret;
|
||||||
}
|
}
|
||||||
|
@ -6134,7 +6141,11 @@ edje_object_part_swallow_get(const Edje_Object *obj, const char *part)
|
||||||
EAPI Eina_Bool
|
EAPI Eina_Bool
|
||||||
edje_object_part_text_set(const Edje_Object *obj, const char *part, const char *text)
|
edje_object_part_text_set(const Edje_Object *obj, const char *part, const char *text)
|
||||||
{
|
{
|
||||||
efl_text_set(efl_part(obj, part), text);
|
Edje *ed;
|
||||||
|
|
||||||
|
ed = _edje_fetch(obj);
|
||||||
|
|
||||||
|
_edje_efl_text_set((Eo *) obj, ed, part, text, EINA_TRUE, EINA_FALSE);
|
||||||
return EINA_TRUE;
|
return EINA_TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue