break;
case EDJE_USER_STRING:
- edje_object_part_text_set(obj, eud->part, eud->u.string.text);
+ switch (eud->u.string.type)
+ {
+ case EDJE_TEXT_TYPE_NORMAL:
+ edje_object_part_text_set(obj, eud->part, eud->u.string.text);
+ break;
+ case EDJE_TEXT_TYPE_ESCAPED:
+ edje_object_part_text_escaped_set(obj, eud->part, eud->u.string.text);
+ break;
+ case EDJE_TEXT_TYPE_UNESCAPED:
+ edje_object_part_text_unescaped_set(obj, eud->part, eud->u.string.text);
+ break;
+ }
eina_stringshare_del(eud->u.string.text);
break;
}
}
static void
-_edje_user_define_string(Edje *ed, const char *part, const char *raw_text)
+_edje_user_define_string(Edje *ed, const char *part, const char *raw_text, Edje_Text_Type type)
{
/* NOTE: This one is tricky, text is referenced in rp->typedata.text->text for the life of the
rp. So on edje_object_file_set, we should first ref it, before destroying the old
return;
}
eud->u.string.text = raw_text;
+ eud->u.string.type = type;
return;
}
eud = _edje_user_definition_new(EDJE_USER_STRING, part, ed);
if (!eud) return;
eud->u.string.text = raw_text;
+ eud->u.string.type = type;
}
EOLIAN Eina_Bool
return EINA_TRUE;
}
int_ret = _edje_object_part_text_raw_set(ed, obj, rp, part, text);
- _edje_user_define_string(ed, part, rp->typedata.text->text);
+ _edje_user_define_string(ed, part, rp->typedata.text->text, EDJE_TEXT_TYPE_NORMAL);
return int_ret;
}
p++;
}
int_ret = _edje_object_part_text_raw_set(ed, obj, rp, part, eina_strbuf_string_get(sbuf));
- _edje_user_define_string(ed, part, rp->typedata.text->text);
+ _edje_user_define_string(ed, part, rp->typedata.text->text, EDJE_TEXT_TYPE_ESCAPED);
eina_strbuf_free(sbuf);
return int_ret;
}
int_ret = _edje_object_part_text_raw_set(ed, obj, rp, part, text);
- _edje_user_define_string(ed, part, rp->typedata.text->text);
+ _edje_user_define_string(ed, part, rp->typedata.text->text, EDJE_TEXT_TYPE_ESCAPED);
return int_ret;
}
int_ret = _edje_object_part_text_raw_set(ed, obj, rp, part, text);
free(text);
}
- _edje_user_define_string(ed, part, rp->typedata.text->text);
+ _edje_user_define_string(ed, part, rp->typedata.text->text, EDJE_TEXT_TYPE_UNESCAPED);
return int_ret;
}