Use external_params_set to update params

SVN revision: 48143
This commit is contained in:
Tiago Rezende Campos Falcao 2010-04-19 20:37:32 +00:00
parent c1be10e587
commit abc78c3d9a
2 changed files with 22 additions and 7 deletions

View File

@ -2057,8 +2057,8 @@ edje_edit_part_selected_state_set(Evas_Object *obj, const char *part, const char
pd = _edje_part_description_find_byname(ed, part, state, value);
if (!pd) return 0;
//printf("EDJE: Set state: %s\n", pd->state.name);
_edje_part_description_apply(ed, rp, pd->state.name, pd->state.value, NULL, 0); //WHAT IS NULL , 0
//printf("EDJE: Set state: %s %f\n", pd->state.name, pd->state.value);
_edje_part_description_apply(ed, rp, pd->state.name, pd->state.value, NULL, 0.0);
edje_object_calc_force(obj);
return 1;
@ -3779,10 +3779,20 @@ edje_edit_state_external_param_set(Evas_Object *obj, const char *part, const cha
if (!found)
pd->external_params = eina_list_append(pd->external_params, p);
_edje_external_parsed_params_free(rp->swallowed_object, rp->param1.external_params);
rp->param1.external_params = _edje_external_params_parse(rp->swallowed_object, pd->external_params);
_edje_external_parsed_params_free(rp->swallowed_object,
rp->param1.external_params);
rp->param1.external_params = \
_edje_external_params_parse(rp->swallowed_object,
pd->external_params);
edje_object_calc_force(obj);
{
const char * sname;
double svalue;
sname = edje_edit_part_selected_state_get(obj, part, &svalue);
if (!strcmp(state, sname) && svalue == value)
edje_object_part_external_param_set(obj, part, p);
eina_stringshare_del(sname);
}
return EINA_TRUE;
}

View File

@ -632,9 +632,14 @@ _edje_external_recalc_apply(Edje *ed, Edje_Real_Part *ep,
if (!type->state_set) return;
params1 = ep->param1.external_params ? ep->param1.external_params : ep->param1.description->external_params;
params1 = ep->param1.external_params ?
ep->param1.external_params :
ep->param1.description->external_params;
if (ep->param2 && ep->param2->description)
params2 = ep->param2->external_params ? ep->param2->external_params : ep->param2->description->external_params;
params2 = ep->param2->external_params ?
ep->param2->external_params :
ep->param2->description->external_params;
type->state_set(type->data, ep->swallowed_object,
params1, params2, ep->description_pos);