Use external_params_set to update params
authortiago <tiago>
Mon, 19 Apr 2010 20:37:32 +0000 (20:37 +0000)
committertiago <tiago@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Mon, 19 Apr 2010 20:37:32 +0000 (20:37 +0000)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/edje@48143 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/edje_edit.c
src/lib/edje_external.c

index 16fe7a8..9fc5599 100644 (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;
 }
index 327f3a4..69a242f 100644 (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);