edje_cc: allow omitting "name" keyword in color_classes.color_class block

Summary:
This allows developer to omit "name" keyword in color_classes.color_class
block in EDC.

Reviewers: cedric, jpeg

Reviewed By: jpeg

Differential Revision: https://phab.enlightenment.org/D3598

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
This commit is contained in:
Jee-Yong Um 2016-02-05 08:30:31 +01:00 committed by Cedric BAIL
parent 9589bb0762
commit f04d509feb
1 changed files with 26 additions and 0 deletions

View File

@ -2738,6 +2738,25 @@ ob_color_class(void)
cc->a3 = 0;
}
static void
_color_class_name(char *name)
{
Edje_Color_Class *cc, *tcc;
Eina_List *l;
cc = eina_list_data_get(eina_list_last(edje_file->color_classes));
cc->name = name;
EINA_LIST_FOREACH(edje_file->color_classes, l, tcc)
{
if ((cc != tcc) && (!strcmp(cc->name, tcc->name)))
{
ERR("parse error %s:%i. There is already a color class named \"%s\"",
file_in, line - 1, cc->name);
exit(-1);
}
}
}
/**
@page edcref
@ -14767,6 +14786,13 @@ edje_cc_handlers_wildcard(void)
stack_pop_quick(EINA_FALSE, EINA_FALSE);
return EINA_TRUE;
}
if (edje_file->color_classes && (!strcmp(last, "color_class")))
{
if (!had_quote) return EINA_FALSE;
_color_class_name(token);
stack_pop_quick(EINA_FALSE, EINA_FALSE);
return EINA_TRUE;
}
if (edje_file->text_classes && (!strcmp(last, "text_class")))
{
if (!had_quote) return EINA_FALSE;