edje/edje_program - clean code
authorChunEon Park <hermet@hermet.pe.kr>
Wed, 5 Jun 2013 05:37:53 +0000 (14:37 +0900)
committerChunEon Park <hermet@hermet.pe.kr>
Wed, 5 Jun 2013 05:37:53 +0000 (14:37 +0900)
src/lib/edje/edje_program.c

index 5d21c64..c1c6f3e 100644 (file)
@@ -177,28 +177,28 @@ _play_set(Eo *obj EINA_UNUSED, void *_pd, va_list *list)
    if (ed->delete_me) return;
    if (play)
      {
-       if (!ed->paused) return;
-       ed->paused = EINA_FALSE;
-       t = ecore_time_get() - ed->paused_at;
-       EINA_LIST_FOREACH(ed->actions, l, runp)
-         runp->start_time += t;
+        if (!ed->paused) return;
+        ed->paused = EINA_FALSE;
+        t = ecore_time_get() - ed->paused_at;
+        EINA_LIST_FOREACH(ed->actions, l, runp)
+           runp->start_time += t;
      }
    else
      {
-       if (ed->paused) return;
-       ed->paused = EINA_TRUE;
-       ed->paused_at = ecore_time_get();
+        if (ed->paused) return;
+        ed->paused = EINA_TRUE;
+        ed->paused_at = ecore_time_get();
      }
 
    for (i = 0; i < ed->table_parts_size; i++)
      {
-       Edje_Real_Part *rp;
-       rp = ed->table_parts[i];
-       if ((rp->part->type == EDJE_PART_TYPE_GROUP) && 
+        Edje_Real_Part *rp;
+        rp = ed->table_parts[i];
+        if ((rp->part->type == EDJE_PART_TYPE_GROUP) && 
             ((rp->type == EDJE_RP_TYPE_SWALLOW) &&
-                (rp->typedata.swallow)) &&
+             (rp->typedata.swallow)) &&
             (rp->typedata.swallow->swallowed_object))
-         edje_object_play_set(rp->typedata.swallow->swallowed_object, play);
+          edje_object_play_set(rp->typedata.swallow->swallowed_object, play);
      }
 }
 
@@ -247,45 +247,45 @@ _animation_set(Eo *obj, void *_pd, va_list *list)
    _edje_freeze(ed);
    if (!on)
      {
-       Eina_List *newl = NULL;
-       const void *data;
-
-       EINA_LIST_FOREACH(ed->actions, l, data)
-         newl = eina_list_append(newl, data);
-       while (newl)
-         {
-            Edje_Running_Program *runp;
-
-            runp = eina_list_data_get(newl);
-            newl = eina_list_remove(newl, eina_list_data_get(newl));
-            _edje_program_run_iterate(runp, runp->start_time + TO_DOUBLE(runp->program->tween.time));
-            if (_edje_block_break(ed))
-              {
-                 eina_list_free(newl);
-                 goto break_prog;
-              }
-         }
+        Eina_List *newl = NULL;
+        const void *data;
+
+        EINA_LIST_FOREACH(ed->actions, l, data)
+           newl = eina_list_append(newl, data);
+        while (newl)
+          {
+             Edje_Running_Program *runp;
+
+             runp = eina_list_data_get(newl);
+             newl = eina_list_remove(newl, eina_list_data_get(newl));
+             _edje_program_run_iterate(runp, runp->start_time + TO_DOUBLE(runp->program->tween.time));
+             if (_edje_block_break(ed))
+               {
+                  eina_list_free(newl);
+                  goto break_prog;
+               }
+          }
      }
    else
      {
-       _edje_emit(ed, "load", NULL);
-       if (evas_object_visible_get(obj))
-         {
-            evas_object_hide(obj);
-            evas_object_show(obj);
-         }
+        _edje_emit(ed, "load", NULL);
+        if (evas_object_visible_get(obj))
+          {
+             evas_object_hide(obj);
+             evas_object_show(obj);
+          }
      }
-   break_prog:
+break_prog:
 
    for (i = 0; i < ed->table_parts_size; i++)
      {
-       Edje_Real_Part *rp;
-       rp = ed->table_parts[i];
-       if ((rp->part->type == EDJE_PART_TYPE_GROUP) && 
+        Edje_Real_Part *rp;
+        rp = ed->table_parts[i];
+        if ((rp->part->type == EDJE_PART_TYPE_GROUP) && 
             ((rp->type == EDJE_RP_TYPE_SWALLOW) &&
-                (rp->typedata.swallow)) &&
+             (rp->typedata.swallow)) &&
             (rp->typedata.swallow->swallowed_object))
-         edje_object_animation_set(rp->typedata.swallow->swallowed_object, on);
+          edje_object_animation_set(rp->typedata.swallow->swallowed_object, on);
      }
 
    _edje_thaw(ed);
@@ -337,76 +337,76 @@ _edje_program_run_iterate(Edje_Running_Program *runp, double tim)
    if (t > FROM_INT(1)) t = FROM_INT(1);
    EINA_LIST_FOREACH(runp->program->targets, l, pt)
      {
-       if (pt->id >= 0)
-         {
-            rp = ed->table_parts[pt->id % ed->table_parts_size];
-            if (rp) _edje_part_pos_set(ed, rp,
-                                       runp->program->tween.mode, t,
+        if (pt->id >= 0)
+          {
+             rp = ed->table_parts[pt->id % ed->table_parts_size];
+             if (rp) _edje_part_pos_set(ed, rp,
+                                        runp->program->tween.mode, t,
                                         runp->program->tween.v1,
                                         runp->program->tween.v2);
-         }
+          }
      }
    if (t >= FROM_INT(1))
      {
         Edje_Program_After *pa;
 
         EINA_LIST_FOREACH(runp->program->targets, l, pt)
-         {
-            if (pt->id >= 0)
-              {
-                 rp = ed->table_parts[pt->id % ed->table_parts_size];
-                 if (rp)
-                   {
-                      _edje_part_description_apply(ed, rp,
-                                                   runp->program->state,
-                                                   runp->program->value,
-                                                   NULL,
-                                                   0.0);
-                      _edje_part_pos_set(ed, rp,
-                                         runp->program->tween.mode, ZERO,
+          {
+             if (pt->id >= 0)
+               {
+                  rp = ed->table_parts[pt->id % ed->table_parts_size];
+                  if (rp)
+                    {
+                       _edje_part_description_apply(ed, rp,
+                                                    runp->program->state,
+                                                    runp->program->value,
+                                                    NULL,
+                                                    0.0);
+                       _edje_part_pos_set(ed, rp,
+                                          runp->program->tween.mode, ZERO,
                                           runp->program->tween.v1,
                                           runp->program->tween.v2);
-                      rp->program = NULL;
-                   }
-              }
-         }
-       _edje_recalc(ed);
-       runp->delete_me = EINA_TRUE;
-       if (!ed->walking_actions)
-         {
-            _edje_anim_count--;
-            ed->actions = eina_list_remove(ed->actions, runp);
-            if (!ed->actions)
-              _edje_animators = eina_list_remove(_edje_animators, ed);
-         }
-//     _edje_emit(ed, "program,stop", runp->program->name);
-       if (_edje_block_break(ed))
-         {
-            if (!ed->walking_actions) free(runp);
-            goto break_prog;
-         }
-       EINA_LIST_FOREACH(runp->program->after, l, pa)
-         {
-            Edje_Program *pr;
-
-            if (pa->id >= 0)
-              {
-                 pr = ed->collection->patterns.table_programs[pa->id % ed->collection->patterns.table_programs_size];
-                 if (pr) _edje_program_run(ed, pr, 0, "", "");
-                 if (_edje_block_break(ed))
-                   {
-                      if (!ed->walking_actions) free(runp);
-                      goto break_prog;
-                   }
-              }
-         }
-       _edje_thaw(ed);
-       _edje_unref(ed);
-       if (!ed->walking_actions) free(runp);
-       _edje_unblock(ed);
-       return  EINA_FALSE;
+                       rp->program = NULL;
+                    }
+               }
+          }
+        _edje_recalc(ed);
+        runp->delete_me = EINA_TRUE;
+        if (!ed->walking_actions)
+          {
+             _edje_anim_count--;
+             ed->actions = eina_list_remove(ed->actions, runp);
+             if (!ed->actions)
+               _edje_animators = eina_list_remove(_edje_animators, ed);
+          }
+        //     _edje_emit(ed, "program,stop", runp->program->name);
+        if (_edje_block_break(ed))
+          {
+             if (!ed->walking_actions) free(runp);
+             goto break_prog;
+          }
+        EINA_LIST_FOREACH(runp->program->after, l, pa)
+          {
+             Edje_Program *pr;
+
+             if (pa->id >= 0)
+               {
+                  pr = ed->collection->patterns.table_programs[pa->id % ed->collection->patterns.table_programs_size];
+                  if (pr) _edje_program_run(ed, pr, 0, "", "");
+                  if (_edje_block_break(ed))
+                    {
+                       if (!ed->walking_actions) free(runp);
+                       goto break_prog;
+                    }
+               }
+          }
+        _edje_thaw(ed);
+        _edje_unref(ed);
+        if (!ed->walking_actions) free(runp);
+        _edje_unblock(ed);
+        return  EINA_FALSE;
      }
-   break_prog:
+break_prog:
    _edje_recalc(ed);
    _edje_thaw(ed);
    _edje_unref(ed);
@@ -419,7 +419,7 @@ _edje_program_end(Edje *ed, Edje_Running_Program *runp)
 {
    Eina_List *l;
    Edje_Program_Target *pt;
-//   const char *pname = NULL;
+   //   const char *pname = NULL;
    int free_runp = 0;
 
    if (ed->delete_me) return;
@@ -427,40 +427,40 @@ _edje_program_end(Edje *ed, Edje_Running_Program *runp)
    _edje_freeze(ed);
    EINA_LIST_FOREACH(runp->program->targets, l, pt)
      {
-       Edje_Real_Part *rp;
-
-       if (pt->id >= 0)
-         {
-            rp = ed->table_parts[pt->id % ed->table_parts_size];
-            if (rp)
-              {
-                 _edje_part_description_apply(ed, rp,
-                                              runp->program->state,
-                                              runp->program->value,
-                                              NULL,
-                                              0.0);
-                 _edje_part_pos_set(ed, rp,
-                                    runp->program->tween.mode, ZERO,
+        Edje_Real_Part *rp;
+
+        if (pt->id >= 0)
+          {
+             rp = ed->table_parts[pt->id % ed->table_parts_size];
+             if (rp)
+               {
+                  _edje_part_description_apply(ed, rp,
+                                               runp->program->state,
+                                               runp->program->value,
+                                               NULL,
+                                               0.0);
+                  _edje_part_pos_set(ed, rp,
+                                     runp->program->tween.mode, ZERO,
                                      runp->program->tween.v1,
                                      runp->program->tween.v2);
-                 rp->program = NULL;
-              }
-         }
+                  rp->program = NULL;
+               }
+          }
      }
    _edje_recalc(ed);
    runp->delete_me = EINA_TRUE;
-//   pname = runp->program->name;
+   //   pname = runp->program->name;
    if (!ed->walking_actions)
      {
-       _edje_anim_count--;
-       ed->actions = eina_list_remove(ed->actions, runp);
-       free_runp = 1;
-       if (!ed->actions)
-         {
-            _edje_animators = eina_list_remove(_edje_animators, ed);
-         }
+        _edje_anim_count--;
+        ed->actions = eina_list_remove(ed->actions, runp);
+        free_runp = 1;
+        if (!ed->actions)
+          {
+             _edje_animators = eina_list_remove(_edje_animators, ed);
+          }
      }
-//   _edje_emit(ed, "program,stop", pname);
+   //   _edje_emit(ed, "program,stop", pname);
    _edje_thaw(ed);
    _edje_unref(ed);
    if (free_runp) free(runp);
@@ -505,30 +505,30 @@ _edje_program_run(Edje *ed, Edje_Program *pr, Eina_Bool force, const char *ssig,
    if (ed->delete_me) return;
    if ((pr->in.from > 0.0) && (pr->in.range >= 0.0) && (!force))
      {
-       Edje_Pending_Program *pp;
-       double r = 0.0;
-
-       pp = calloc(1, sizeof(Edje_Pending_Program));
-       if (!pp) return;
-       if (pr->in.range > 0.0) r = ((double)rand() / RAND_MAX);
-       pp->timer = ecore_timer_add(pr->in.from + (pr->in.range * r),
-                                   _edje_pending_timer_cb, pp);
-       if (!pp->timer)
-         {
-            free(pp);
-            return;
-         }
-       pp->edje = ed;
-       pp->program = pr;
-       ed->pending_actions = eina_list_append(ed->pending_actions, pp);
-       return;
+        Edje_Pending_Program *pp;
+        double r = 0.0;
+
+        pp = calloc(1, sizeof(Edje_Pending_Program));
+        if (!pp) return;
+        if (pr->in.range > 0.0) r = ((double)rand() / RAND_MAX);
+        pp->timer = ecore_timer_add(pr->in.from + (pr->in.range * r),
+                                    _edje_pending_timer_cb, pp);
+        if (!pp->timer)
+          {
+             free(pp);
+             return;
+          }
+        pp->edje = ed;
+        pp->program = pr;
+        ed->pending_actions = eina_list_append(ed->pending_actions, pp);
+        return;
      }
    if ((recursions >= 64) || (recursion_limit))
      {
-       ERR("Programs recursing up to recursion limit of %i in '%s' with '%s', '%s' from '%s', '%s'. Disabled.",
-           64, pr->name, ssig, ssrc, ed->path, ed->group);
-       recursion_limit = 1;
-       return;
+        ERR("Programs recursing up to recursion limit of %i in '%s' with '%s', '%s' from '%s', '%s'. Disabled.",
+            64, pr->name, ssig, ssrc, ed->path, ed->group);
+        recursion_limit = 1;
+        return;
      }
    recursions++;
    _edje_block(ed);
@@ -536,458 +536,458 @@ _edje_program_run(Edje *ed, Edje_Program *pr, Eina_Bool force, const char *ssig,
    _edje_freeze(ed);
    switch (pr->action)
      {
-     case EDJE_ACTION_TYPE_STATE_SET:
-       if ((pr->tween.time > ZERO) && (!ed->no_anim))
-         {
-            Edje_Running_Program *runp;
-
-            runp = calloc(1, sizeof(Edje_Running_Program));
-            EINA_LIST_FOREACH(pr->targets, l, pt)
-              {
-                 if (pt->id >= 0)
-                   {
-                      rp = ed->table_parts[pt->id % ed->table_parts_size];
-                      if (rp)
-                        {
-                            if ((rp->object) && (pr->tween.mode & EDJE_TWEEN_MODE_OPT_FROM_CURRENT))
-                              {
-                                 Edje_Calc_Params *tmp;
+      case EDJE_ACTION_TYPE_STATE_SET:
+         if ((pr->tween.time > ZERO) && (!ed->no_anim))
+           {
+              Edje_Running_Program *runp;
 
-                                 tmp = calloc(1, sizeof(Edje_Calc_Params));
-                                 if (!tmp) goto low_mem_current;
-                                tmp->map = eina_cow_alloc(_edje_calc_params_map_cow);
+              runp = calloc(1, sizeof(Edje_Running_Program));
+              EINA_LIST_FOREACH(pr->targets, l, pt)
+                {
+                   if (pt->id >= 0)
+                     {
+                        rp = ed->table_parts[pt->id % ed->table_parts_size];
+                        if (rp)
+                          {
+                             if ((rp->object) && (pr->tween.mode & EDJE_TWEEN_MODE_OPT_FROM_CURRENT))
+                               {
+                                  Edje_Calc_Params *tmp;
+
+                                  tmp = calloc(1, sizeof(Edje_Calc_Params));
+                                  if (!tmp) goto low_mem_current;
+                                  tmp->map = eina_cow_alloc(_edje_calc_params_map_cow);
 #ifdef HAVE_EPHYSICS
-                                tmp->physics = eina_cow_alloc(_edje_calc_params_physics_cow);
+                                  tmp->physics = eina_cow_alloc(_edje_calc_params_physics_cow);
 #endif
-                                _edje_part_recalc(ed, rp, FLAG_XY, tmp);
+                                  _edje_part_recalc(ed, rp, FLAG_XY, tmp);
 
-                                 if (rp->current)
-                                  {
-                                    eina_cow_free(_edje_calc_params_map_cow, rp->current->map);
+                                  if (rp->current)
+                                    {
+                                       eina_cow_free(_edje_calc_params_map_cow, rp->current->map);
 #ifdef HAVE_EPHYSICS
-                                    eina_cow_free(_edje_calc_params_physics_cow, rp->current->physics);
+                                       eina_cow_free(_edje_calc_params_physics_cow, rp->current->physics);
 #endif
-                                    free(rp->current);
-                                  }
-                                 rp->current = tmp;
-
-                              }
-                            else
-                              {
-                              low_mem_current:
-                                 if (rp->current)
-                                  {
-                                    eina_cow_free(_edje_calc_params_map_cow, rp->current->map);
+                                       free(rp->current);
+                                    }
+                                  rp->current = tmp;
+
+                               }
+                             else
+                               {
+low_mem_current:
+                                  if (rp->current)
+                                    {
+                                       eina_cow_free(_edje_calc_params_map_cow, rp->current->map);
 #ifdef HAVE_EPHYSICS
-                                    eina_cow_free(_edje_calc_params_physics_cow, rp->current->physics);
+                                       eina_cow_free(_edje_calc_params_physics_cow, rp->current->physics);
 #endif
-                                    free(rp->current);
-                                  }
-                                 rp->current = NULL;
-                              }
+                                       free(rp->current);
+                                    }
+                                  rp->current = NULL;
+                               }
+
+                             if (rp->program)
+                               _edje_program_end(ed, rp->program);
+                             _edje_part_description_apply(ed, rp,
+                                                          rp->param1.description->state.name,
+                                                          rp->param1.description->state.value,
+                                                          pr->state,
+                                                          pr->value);
+                             _edje_part_pos_set(ed, rp, pr->tween.mode, ZERO,
+                                                pr->tween.v1,
+                                                pr->tween.v2);
+                             rp->program = runp;
+                          }
+                     }
+                }
+              // _edje_emit(ed, "program,start", pr->name);
+              if (_edje_block_break(ed))
+                {
+                   ed->actions = eina_list_append(ed->actions, runp);
+                   goto break_prog;
+                }
+              if (!ed->actions)
+                _edje_animators = eina_list_append(_edje_animators, ed);
+              ed->actions = eina_list_append(ed->actions, runp);
+              runp->start_time = ecore_loop_time_get();
+              runp->edje = ed;
+              runp->program = pr;
+              if (!_edje_timer)
+                _edje_timer = ecore_animator_add(_edje_timer_cb, NULL);
+              _edje_anim_count++;
+           }
+         else
+           {
+              EINA_LIST_FOREACH(pr->targets, l, pt)
+                {
+                   if (pt->id >= 0)
+                     {
+                        rp = ed->table_parts[pt->id % ed->table_parts_size];
+                        if (rp)
+                          {
+                             if (rp->program)
+                               _edje_program_end(ed, rp->program);
+                             _edje_part_description_apply(ed, rp,
+                                                          pr->state,
+                                                          pr->value,
+                                                          NULL,
+                                                          0.0);
+                             _edje_part_pos_set(ed, rp, pr->tween.mode, ZERO,
+                                                pr->tween.v1,
+                                                pr->tween.v2);
+                          }
+                     }
+                }
+              // _edje_emit(ed, "program,start", pr->name);
+              if (_edje_block_break(ed)) goto break_prog;
+              // _edje_emit(ed, "program,stop", pr->name);
+              if (_edje_block_break(ed)) goto break_prog;
 
-                           if (rp->program)
-                              _edje_program_end(ed, rp->program);
-                           _edje_part_description_apply(ed, rp,
-                                                        rp->param1.description->state.name,
-                                                        rp->param1.description->state.value,
-                                                        pr->state,
-                                                        pr->value);
-                           _edje_part_pos_set(ed, rp, pr->tween.mode, ZERO,
-                                               pr->tween.v1,
-                                               pr->tween.v2);
-                           rp->program = runp;
-                        }
-                   }
-              }
-             // _edje_emit(ed, "program,start", pr->name);
-            if (_edje_block_break(ed))
-              {
-                 ed->actions = eina_list_append(ed->actions, runp);
-                 goto break_prog;
-              }
-            if (!ed->actions)
-              _edje_animators = eina_list_append(_edje_animators, ed);
-            ed->actions = eina_list_append(ed->actions, runp);
-            runp->start_time = ecore_loop_time_get();
-            runp->edje = ed;
-            runp->program = pr;
-            if (!_edje_timer)
-              _edje_timer = ecore_animator_add(_edje_timer_cb, NULL);
-            _edje_anim_count++;
-         }
-       else
-         {
-            EINA_LIST_FOREACH(pr->targets, l, pt)
-              {
-                 if (pt->id >= 0)
-                   {
-                      rp = ed->table_parts[pt->id % ed->table_parts_size];
-                      if (rp)
-                        {
-                           if (rp->program)
-                              _edje_program_end(ed, rp->program);
-                           _edje_part_description_apply(ed, rp,
-                                                        pr->state,
-                                                        pr->value,
-                                                        NULL,
-                                                        0.0);
-                           _edje_part_pos_set(ed, rp, pr->tween.mode, ZERO,
-                                               pr->tween.v1,
-                                               pr->tween.v2);
-                        }
-                   }
-              }
-             // _edje_emit(ed, "program,start", pr->name);
-            if (_edje_block_break(ed)) goto break_prog;
-             // _edje_emit(ed, "program,stop", pr->name);
-            if (_edje_block_break(ed)) goto break_prog;
-
-            EINA_LIST_FOREACH(pr->after, l, pa)
-              {
-                 if (pa->id >= 0)
-                   {
-                      pr2 = ed->collection->patterns.table_programs[pa->id % ed->collection->patterns.table_programs_size];
-                      if (pr2) _edje_program_run(ed, pr2, 0, "", "");
-                      if (_edje_block_break(ed)) goto break_prog;
-                   }
-              }
-            _edje_recalc(ed);
-         }
-        break;
-     case EDJE_ACTION_TYPE_ACTION_STOP:
-        // _edje_emit(ed, "program,start", pr->name);
-        EINA_LIST_FOREACH(pr->targets, l, pt)
-         {
-            Eina_List *ll;
-            Edje_Running_Program *runp;
-            Edje_Pending_Program *pp;
-
-             for (ll = ed->actions; ll; )
-               {
-                  runp = ll->data;
-                  ll = ll->next;
-                 if (pt->id == runp->program->id)
-                   {
-                      _edje_program_end(ed, runp);
-//                    goto done;
-                   }
-              }
-             for (ll = ed->pending_actions; ll; )
-              {
-                  pp = ll->data;
-                  ll = ll->next;
-                 if (pt->id == pp->program->id)
-                   {
-                      ed->pending_actions = eina_list_remove(ed->pending_actions, pp);
-                      ecore_timer_del(pp->timer);
-                      free(pp);
-//                    goto done;
-                   }
-              }
-//          done:
-//             continue;
-         }
-        // _edje_emit(ed, "program,stop", pr->name);
-       if (_edje_block_break(ed)) goto break_prog;
-        break;
-     case EDJE_ACTION_TYPE_SIGNAL_EMIT:
-        // _edje_emit(ed, "program,start", pr->name);
-       if (_edje_block_break(ed)) goto break_prog;
-       _edje_emit(ed, pr->state, pr->state2);
-       if (_edje_block_break(ed)) goto break_prog;
-        // _edje_emit(ed, "program,stop", pr->name);
-       if (_edje_block_break(ed)) goto break_prog;
-        break;
-     case EDJE_ACTION_TYPE_DRAG_VAL_SET:
-        // _edje_emit(ed, "program,start", pr->name);
-       if (_edje_block_break(ed)) goto break_prog;
-       EINA_LIST_FOREACH(pr->targets, l, pt)
-         {
-            if (pt->id >= 0)
-              {
-                 rp = ed->table_parts[pt->id % ed->table_parts_size];
-                 if ((rp) && (rp->drag) && (rp->drag->down.count == 0))
-                   {
-                      rp->drag->val.x = pr->value;
-                      rp->drag->val.y = pr->value2;
-                      if      (rp->drag->val.x < 0.0) rp->drag->val.x = 0.0;
-                      else if (rp->drag->val.x > 1.0) rp->drag->val.x = 1.0;
-                      if      (rp->drag->val.y < 0.0) rp->drag->val.y = 0.0;
-                      else if (rp->drag->val.y > 1.0) rp->drag->val.y = 1.0;
-                      _edje_dragable_pos_set(ed, rp, rp->drag->val.x, rp->drag->val.y);
-                      _edje_emit(ed, "drag,set", rp->part->name);
-                      if (_edje_block_break(ed)) goto break_prog;
-                   }
-              }
-         }
-        // _edje_emit(ed, "program,stop", pr->name);
-       if (_edje_block_break(ed)) goto break_prog;
-        break;
-     case EDJE_ACTION_TYPE_DRAG_VAL_STEP:
-        // _edje_emit(ed, "program,start", pr->name);
-       if (_edje_block_break(ed)) goto break_prog;
-       EINA_LIST_FOREACH(pr->targets, l, pt)
-         {
-            if (pt->id >= 0)
-              {
-                 rp = ed->table_parts[pt->id % ed->table_parts_size];
-                 if ((rp) && (rp->drag) && (rp->drag->down.count == 0))
-                   {
-                      rp->drag->val.x += pr->value * rp->drag->step.x * rp->part->dragable.x;
-                      rp->drag->val.y += pr->value2 * rp->drag->step.y * rp->part->dragable.y;
-                      if      (rp->drag->val.x < 0.0) rp->drag->val.x = 0.0;
-                      else if (rp->drag->val.x > 1.0) rp->drag->val.x = 1.0;
-                      if      (rp->drag->val.y < 0.0) rp->drag->val.y = 0.0;
-                      else if (rp->drag->val.y > 1.0) rp->drag->val.y = 1.0;
-                      _edje_dragable_pos_set(ed, rp, rp->drag->val.x, rp->drag->val.y);
-                      _edje_emit(ed, "drag,step", rp->part->name);
-                      if (_edje_block_break(ed)) goto break_prog;
-                   }
-              }
-         }
-        // _edje_emit(ed, "program,stop", pr->name);
-       if (_edje_block_break(ed)) goto break_prog;
-        break;
-     case EDJE_ACTION_TYPE_DRAG_VAL_PAGE:
-        // _edje_emit(ed, "program,start", pr->name);
-       if (_edje_block_break(ed)) goto break_prog;
-       EINA_LIST_FOREACH(pr->targets, l, pt)
-         {
-            if (pt->id >= 0)
-              {
-                 rp = ed->table_parts[pt->id % ed->table_parts_size];
-                 if ((rp) && (rp->drag) && (rp->drag->down.count == 0))
-                   {
-                      rp->drag->val.x += pr->value * rp->drag->page.x * rp->part->dragable.x;
-                      rp->drag->val.y += pr->value2 * rp->drag->page.y * rp->part->dragable.y;
-                      if      (rp->drag->val.x < 0.0) rp->drag->val.x = 0.0;
-                      else if (rp->drag->val.x > 1.0) rp->drag->val.x = 1.0;
-                      if      (rp->drag->val.y < 0.0) rp->drag->val.y = 0.0;
-                      else if (rp->drag->val.y > 1.0) rp->drag->val.y = 1.0;
-                      _edje_dragable_pos_set(ed, rp, rp->drag->val.x, rp->drag->val.y);
-                      _edje_emit(ed, "drag,page", rp->part->name);
-                      if (_edje_block_break(ed)) goto break_prog;
-                   }
-              }
-         }
-        // _edje_emit(ed, "program,stop", pr->name);
-       if (_edje_block_break(ed)) goto break_prog;
-        break;
-     case EDJE_ACTION_TYPE_SCRIPT:
-          {
-             char fname[128];
-
-             // _edje_emit(ed, "program,start", pr->name);
-             if (_edje_block_break(ed)) goto break_prog;
-             snprintf(fname, sizeof(fname), "_p%i", pr->id);
-             _edje_embryo_test_run(ed, fname, ssig, ssrc);
-             // _edje_emit(ed, "program,stop", pr->name);
-             if (_edje_block_break(ed)) goto break_prog;
-             _edje_recalc_do(ed);
-          }
-        break;
-     case EDJE_ACTION_TYPE_FOCUS_SET:
-       if (!pr->targets)
+              EINA_LIST_FOREACH(pr->after, l, pa)
+                {
+                   if (pa->id >= 0)
+                     {
+                        pr2 = ed->collection->patterns.table_programs[pa->id % ed->collection->patterns.table_programs_size];
+                        if (pr2) _edje_program_run(ed, pr2, 0, "", "");
+                        if (_edje_block_break(ed)) goto break_prog;
+                     }
+                }
+              _edje_recalc(ed);
+           }
+         break;
+      case EDJE_ACTION_TYPE_ACTION_STOP:
+         // _edje_emit(ed, "program,start", pr->name);
+         EINA_LIST_FOREACH(pr->targets, l, pt)
+           {
+              Eina_List *ll;
+              Edje_Running_Program *runp;
+              Edje_Pending_Program *pp;
+
+              for (ll = ed->actions; ll; )
+                {
+                   runp = ll->data;
+                   ll = ll->next;
+                   if (pt->id == runp->program->id)
+                     {
+                        _edje_program_end(ed, runp);
+                        //                    goto done;
+                     }
+                }
+              for (ll = ed->pending_actions; ll; )
+                {
+                   pp = ll->data;
+                   ll = ll->next;
+                   if (pt->id == pp->program->id)
+                     {
+                        ed->pending_actions = eina_list_remove(ed->pending_actions, pp);
+                        ecore_timer_del(pp->timer);
+                        free(pp);
+                        //                    goto done;
+                     }
+                }
+              //            done:
+              //               continue;
+           }
+         // _edje_emit(ed, "program,stop", pr->name);
+         if (_edje_block_break(ed)) goto break_prog;
+         break;
+      case EDJE_ACTION_TYPE_SIGNAL_EMIT:
+         // _edje_emit(ed, "program,start", pr->name);
+         if (_edje_block_break(ed)) goto break_prog;
+         _edje_emit(ed, pr->state, pr->state2);
+         if (_edje_block_break(ed)) goto break_prog;
+         // _edje_emit(ed, "program,stop", pr->name);
+         if (_edje_block_break(ed)) goto break_prog;
+         break;
+      case EDJE_ACTION_TYPE_DRAG_VAL_SET:
+         // _edje_emit(ed, "program,start", pr->name);
+         if (_edje_block_break(ed)) goto break_prog;
+         EINA_LIST_FOREACH(pr->targets, l, pt)
+           {
+              if (pt->id >= 0)
+                {
+                   rp = ed->table_parts[pt->id % ed->table_parts_size];
+                   if ((rp) && (rp->drag) && (rp->drag->down.count == 0))
+                     {
+                        rp->drag->val.x = pr->value;
+                        rp->drag->val.y = pr->value2;
+                        if      (rp->drag->val.x < 0.0) rp->drag->val.x = 0.0;
+                        else if (rp->drag->val.x > 1.0) rp->drag->val.x = 1.0;
+                        if      (rp->drag->val.y < 0.0) rp->drag->val.y = 0.0;
+                        else if (rp->drag->val.y > 1.0) rp->drag->val.y = 1.0;
+                        _edje_dragable_pos_set(ed, rp, rp->drag->val.x, rp->drag->val.y);
+                        _edje_emit(ed, "drag,set", rp->part->name);
+                        if (_edje_block_break(ed)) goto break_prog;
+                     }
+                }
+           }
+         // _edje_emit(ed, "program,stop", pr->name);
+         if (_edje_block_break(ed)) goto break_prog;
+         break;
+      case EDJE_ACTION_TYPE_DRAG_VAL_STEP:
+         // _edje_emit(ed, "program,start", pr->name);
+         if (_edje_block_break(ed)) goto break_prog;
+         EINA_LIST_FOREACH(pr->targets, l, pt)
+           {
+              if (pt->id >= 0)
+                {
+                   rp = ed->table_parts[pt->id % ed->table_parts_size];
+                   if ((rp) && (rp->drag) && (rp->drag->down.count == 0))
+                     {
+                        rp->drag->val.x += pr->value * rp->drag->step.x * rp->part->dragable.x;
+                        rp->drag->val.y += pr->value2 * rp->drag->step.y * rp->part->dragable.y;
+                        if      (rp->drag->val.x < 0.0) rp->drag->val.x = 0.0;
+                        else if (rp->drag->val.x > 1.0) rp->drag->val.x = 1.0;
+                        if      (rp->drag->val.y < 0.0) rp->drag->val.y = 0.0;
+                        else if (rp->drag->val.y > 1.0) rp->drag->val.y = 1.0;
+                        _edje_dragable_pos_set(ed, rp, rp->drag->val.x, rp->drag->val.y);
+                        _edje_emit(ed, "drag,step", rp->part->name);
+                        if (_edje_block_break(ed)) goto break_prog;
+                     }
+                }
+           }
+         // _edje_emit(ed, "program,stop", pr->name);
+         if (_edje_block_break(ed)) goto break_prog;
+         break;
+      case EDJE_ACTION_TYPE_DRAG_VAL_PAGE:
+         // _edje_emit(ed, "program,start", pr->name);
+         if (_edje_block_break(ed)) goto break_prog;
+         EINA_LIST_FOREACH(pr->targets, l, pt)
+           {
+              if (pt->id >= 0)
+                {
+                   rp = ed->table_parts[pt->id % ed->table_parts_size];
+                   if ((rp) && (rp->drag) && (rp->drag->down.count == 0))
+                     {
+                        rp->drag->val.x += pr->value * rp->drag->page.x * rp->part->dragable.x;
+                        rp->drag->val.y += pr->value2 * rp->drag->page.y * rp->part->dragable.y;
+                        if      (rp->drag->val.x < 0.0) rp->drag->val.x = 0.0;
+                        else if (rp->drag->val.x > 1.0) rp->drag->val.x = 1.0;
+                        if      (rp->drag->val.y < 0.0) rp->drag->val.y = 0.0;
+                        else if (rp->drag->val.y > 1.0) rp->drag->val.y = 1.0;
+                        _edje_dragable_pos_set(ed, rp, rp->drag->val.x, rp->drag->val.y);
+                        _edje_emit(ed, "drag,page", rp->part->name);
+                        if (_edje_block_break(ed)) goto break_prog;
+                     }
+                }
+           }
+         // _edje_emit(ed, "program,stop", pr->name);
+         if (_edje_block_break(ed)) goto break_prog;
+         break;
+      case EDJE_ACTION_TYPE_SCRIPT:
+           {
+              char fname[128];
+
+              // _edje_emit(ed, "program,start", pr->name);
+              if (_edje_block_break(ed)) goto break_prog;
+              snprintf(fname, sizeof(fname), "_p%i", pr->id);
+              _edje_embryo_test_run(ed, fname, ssig, ssrc);
+              // _edje_emit(ed, "program,stop", pr->name);
+              if (_edje_block_break(ed)) goto break_prog;
+              _edje_recalc_do(ed);
+           }
+         break;
+      case EDJE_ACTION_TYPE_FOCUS_SET:
+         if (!pr->targets)
            ed->focused_part = NULL;
-       else
-         {
-            EINA_LIST_FOREACH(pr->targets, l, pt)
-              {
-                 if (pt->id >= 0)
-                   {
-                      rp = ed->table_parts[pt->id % ed->table_parts_size];
-                      if (rp)
-                        {
-                           if (ed->focused_part != rp)
-                             {
-                                if (ed->focused_part)
-                                  _edje_emit(ed, "focus,part,out", 
-                                             ed->focused_part->part->name);
-                                ed->focused_part = rp;
-                                _edje_emit(ed, "focus,part,in",
-                                           ed->focused_part->part->name);
-                             }
-                        }
-                   }
-              }
-         }
-        break;
-     case EDJE_ACTION_TYPE_FOCUS_OBJECT:
-       if (!pr->targets)
-         {
-            Evas_Object *focused;
-
-            focused = evas_focus_get(evas_object_evas_get(ed->obj));
-            if (focused)
-              {
-                 unsigned int i;
-
-                 /* Check if the current swallowed object is one of my child. */
-                 for (i = 0; i < ed->table_parts_size; ++i)
-                   {
-                      rp = ed->table_parts[i];
-                      if ((rp) && 
-                           ((rp->type == EDJE_RP_TYPE_SWALLOW) &&
-                               (rp->typedata.swallow)) &&
-                           (rp->typedata.swallow->swallowed_object == focused))
-                        {
-                           evas_object_focus_set(focused, EINA_FALSE);
-                           break;
-                        }
-                   }
-              }
-         }
-       else
-         {
-            EINA_LIST_FOREACH(pr->targets, l, pt)
-              {
-                 if (pt->id >= 0)
-                   {
-                      rp = ed->table_parts[pt->id % ed->table_parts_size];
-                      if (rp && 
-                           ((rp->type == EDJE_RP_TYPE_SWALLOW) &&
-                               (rp->typedata.swallow)) &&
-                           (rp->typedata.swallow->swallowed_object))
-                         evas_object_focus_set(rp->typedata.swallow->swallowed_object, EINA_TRUE);
-                   }
-              }
-         }
-        break;
-     case EDJE_ACTION_TYPE_SOUND_SAMPLE:
-        if (_edje_block_break(ed))
-          goto break_prog;
-        _edje_multisense_internal_sound_sample_play(ed, pr->sample_name, pr->speed);
-        break;
-     case EDJE_ACTION_TYPE_SOUND_TONE:
-        if (_edje_block_break(ed))
-          goto break_prog;
-        _edje_multisense_internal_sound_tone_play(ed, pr->tone_name, pr->duration);
-        break;
-     case EDJE_ACTION_TYPE_PARAM_COPY:
-          {
-             Edje_Real_Part *src_part, *dst_part;
-
-             // _edje_emit(ed, "program,start", pr->name);
-             if (_edje_block_break(ed)) goto break_prog;
-             
-             src_part = ed->table_parts[pr->param.src % ed->table_parts_size];
-             dst_part = ed->table_parts[pr->param.dst % ed->table_parts_size];
-             _edje_param_copy(ed, src_part, pr->state, dst_part, pr->state2);
-             
-             if (_edje_block_break(ed)) goto break_prog;
-             // _edje_emit(ed, "program,stop", pr->name);
-             if (_edje_block_break(ed)) goto break_prog;
-          }
-        break;
-     case EDJE_ACTION_TYPE_PARAM_SET:
-          {
-             Edje_Real_Part *part;
-
-             // _edje_emit(ed, "program,start", pr->name);
-             if (_edje_block_break(ed)) goto break_prog;
-             
-             part = ed->table_parts[pr->param.dst % ed->table_parts_size];
-             _edje_param_set(ed, part, pr->state, pr->state2);
-             
-             if (_edje_block_break(ed)) goto break_prog;
-             // _edje_emit(ed, "program,stop", pr->name);
-             if (_edje_block_break(ed)) goto break_prog;
-          }
-        break;
+         else
+           {
+              EINA_LIST_FOREACH(pr->targets, l, pt)
+                {
+                   if (pt->id >= 0)
+                     {
+                        rp = ed->table_parts[pt->id % ed->table_parts_size];
+                        if (rp)
+                          {
+                             if (ed->focused_part != rp)
+                               {
+                                  if (ed->focused_part)
+                                    _edje_emit(ed, "focus,part,out", 
+                                               ed->focused_part->part->name);
+                                  ed->focused_part = rp;
+                                  _edje_emit(ed, "focus,part,in",
+                                             ed->focused_part->part->name);
+                               }
+                          }
+                     }
+                }
+           }
+         break;
+      case EDJE_ACTION_TYPE_FOCUS_OBJECT:
+         if (!pr->targets)
+           {
+              Evas_Object *focused;
+
+              focused = evas_focus_get(evas_object_evas_get(ed->obj));
+              if (focused)
+                {
+                   unsigned int i;
+
+                   /* Check if the current swallowed object is one of my child. */
+                   for (i = 0; i < ed->table_parts_size; ++i)
+                     {
+                        rp = ed->table_parts[i];
+                        if ((rp) && 
+                            ((rp->type == EDJE_RP_TYPE_SWALLOW) &&
+                             (rp->typedata.swallow)) &&
+                            (rp->typedata.swallow->swallowed_object == focused))
+                          {
+                             evas_object_focus_set(focused, EINA_FALSE);
+                             break;
+                          }
+                     }
+                }
+           }
+         else
+           {
+              EINA_LIST_FOREACH(pr->targets, l, pt)
+                {
+                   if (pt->id >= 0)
+                     {
+                        rp = ed->table_parts[pt->id % ed->table_parts_size];
+                        if (rp && 
+                            ((rp->type == EDJE_RP_TYPE_SWALLOW) &&
+                             (rp->typedata.swallow)) &&
+                            (rp->typedata.swallow->swallowed_object))
+                          evas_object_focus_set(rp->typedata.swallow->swallowed_object, EINA_TRUE);
+                     }
+                }
+           }
+         break;
+      case EDJE_ACTION_TYPE_SOUND_SAMPLE:
+         if (_edje_block_break(ed))
+           goto break_prog;
+         _edje_multisense_internal_sound_sample_play(ed, pr->sample_name, pr->speed);
+         break;
+      case EDJE_ACTION_TYPE_SOUND_TONE:
+         if (_edje_block_break(ed))
+           goto break_prog;
+         _edje_multisense_internal_sound_tone_play(ed, pr->tone_name, pr->duration);
+         break;
+      case EDJE_ACTION_TYPE_PARAM_COPY:
+           {
+              Edje_Real_Part *src_part, *dst_part;
+
+              // _edje_emit(ed, "program,start", pr->name);
+              if (_edje_block_break(ed)) goto break_prog;
+
+              src_part = ed->table_parts[pr->param.src % ed->table_parts_size];
+              dst_part = ed->table_parts[pr->param.dst % ed->table_parts_size];
+              _edje_param_copy(ed, src_part, pr->state, dst_part, pr->state2);
+
+              if (_edje_block_break(ed)) goto break_prog;
+              // _edje_emit(ed, "program,stop", pr->name);
+              if (_edje_block_break(ed)) goto break_prog;
+           }
+         break;
+      case EDJE_ACTION_TYPE_PARAM_SET:
+           {
+              Edje_Real_Part *part;
+
+              // _edje_emit(ed, "program,start", pr->name);
+              if (_edje_block_break(ed)) goto break_prog;
+
+              part = ed->table_parts[pr->param.dst % ed->table_parts_size];
+              _edje_param_set(ed, part, pr->state, pr->state2);
+
+              if (_edje_block_break(ed)) goto break_prog;
+              // _edje_emit(ed, "program,stop", pr->name);
+              if (_edje_block_break(ed)) goto break_prog;
+           }
+         break;
 #ifdef HAVE_EPHYSICS
-     case EDJE_ACTION_TYPE_PHYSICS_IMPULSE:
-        if (!_edje_physics_action_set(ed, pr, ephysics_body_central_impulse_apply))
-          goto break_prog;
-        break;
-     case EDJE_ACTION_TYPE_PHYSICS_TORQUE_IMPULSE:
-        if (!_edje_physics_action_set(ed, pr, ephysics_body_torque_impulse_apply))
-          goto break_prog;
-        break;
-     case EDJE_ACTION_TYPE_PHYSICS_FORCE:
-        if (!_edje_physics_action_set(ed, pr, ephysics_body_central_force_apply))
-          goto break_prog;
-        break;
-     case EDJE_ACTION_TYPE_PHYSICS_TORQUE:
-        if (!_edje_physics_action_set(ed, pr, ephysics_body_torque_apply))
-          goto break_prog;
-        break;
-     case EDJE_ACTION_TYPE_PHYSICS_FORCES_CLEAR:
-        if (_edje_block_break(ed))
-          goto break_prog;
-        EINA_LIST_FOREACH(pr->targets, l, pt)
-          {
-             if (pt->id >= 0)
-               {
-                  rp = ed->table_parts[pt->id % ed->table_parts_size];
-                  if ((rp) && (rp->body))
-                    ephysics_body_forces_clear(rp->body);
-               }
-          }
-        break;
-     case EDJE_ACTION_TYPE_PHYSICS_VEL_SET:
-        if (!_edje_physics_action_set(ed, pr, ephysics_body_linear_velocity_set))
-          goto break_prog;
-        break;
-     case EDJE_ACTION_TYPE_PHYSICS_ANG_VEL_SET:
-        if (!_edje_physics_action_set(ed, pr, ephysics_body_angular_velocity_set))
-          goto break_prog;
-        break;
-     case EDJE_ACTION_TYPE_PHYSICS_STOP:
-        if (_edje_block_break(ed))
-          goto break_prog;
-        EINA_LIST_FOREACH(pr->targets, l, pt)
-          {
-             if (pt->id >= 0)
-               {
-                  rp = ed->table_parts[pt->id % ed->table_parts_size];
-                  if ((rp) && (rp->body))
-                    ephysics_body_stop(rp->body);
-               }
-          }
-        break;
-     case EDJE_ACTION_TYPE_PHYSICS_ROT_SET:
-        if (_edje_block_break(ed))
-          goto break_prog;
-        EINA_LIST_FOREACH(pr->targets, l, pt)
-          {
-             if (pt->id >= 0)
-               {
-                  rp = ed->table_parts[pt->id % ed->table_parts_size];
-                  if ((rp) && (rp->body))
-                    {
-                       EPhysics_Quaternion quat;
-                       ephysics_quaternion_set(&quat, pr->physics.x,
-                                               pr->physics.y, pr->physics.z,
-                                               pr->physics.w);
-                       ephysics_quaternion_normalize(&quat);
-                       ephysics_body_rotation_set(rp->body, &quat);
-                    }
-               }
-          }
-        break;
+      case EDJE_ACTION_TYPE_PHYSICS_IMPULSE:
+         if (!_edje_physics_action_set(ed, pr, ephysics_body_central_impulse_apply))
+           goto break_prog;
+         break;
+      case EDJE_ACTION_TYPE_PHYSICS_TORQUE_IMPULSE:
+         if (!_edje_physics_action_set(ed, pr, ephysics_body_torque_impulse_apply))
+           goto break_prog;
+         break;
+      case EDJE_ACTION_TYPE_PHYSICS_FORCE:
+         if (!_edje_physics_action_set(ed, pr, ephysics_body_central_force_apply))
+           goto break_prog;
+         break;
+      case EDJE_ACTION_TYPE_PHYSICS_TORQUE:
+         if (!_edje_physics_action_set(ed, pr, ephysics_body_torque_apply))
+           goto break_prog;
+         break;
+      case EDJE_ACTION_TYPE_PHYSICS_FORCES_CLEAR:
+         if (_edje_block_break(ed))
+           goto break_prog;
+         EINA_LIST_FOREACH(pr->targets, l, pt)
+           {
+              if (pt->id >= 0)
+                {
+                   rp = ed->table_parts[pt->id % ed->table_parts_size];
+                   if ((rp) && (rp->body))
+                     ephysics_body_forces_clear(rp->body);
+                }
+           }
+         break;
+      case EDJE_ACTION_TYPE_PHYSICS_VEL_SET:
+         if (!_edje_physics_action_set(ed, pr, ephysics_body_linear_velocity_set))
+           goto break_prog;
+         break;
+      case EDJE_ACTION_TYPE_PHYSICS_ANG_VEL_SET:
+         if (!_edje_physics_action_set(ed, pr, ephysics_body_angular_velocity_set))
+           goto break_prog;
+         break;
+      case EDJE_ACTION_TYPE_PHYSICS_STOP:
+         if (_edje_block_break(ed))
+           goto break_prog;
+         EINA_LIST_FOREACH(pr->targets, l, pt)
+           {
+              if (pt->id >= 0)
+                {
+                   rp = ed->table_parts[pt->id % ed->table_parts_size];
+                   if ((rp) && (rp->body))
+                     ephysics_body_stop(rp->body);
+                }
+           }
+         break;
+      case EDJE_ACTION_TYPE_PHYSICS_ROT_SET:
+         if (_edje_block_break(ed))
+           goto break_prog;
+         EINA_LIST_FOREACH(pr->targets, l, pt)
+           {
+              if (pt->id >= 0)
+                {
+                   rp = ed->table_parts[pt->id % ed->table_parts_size];
+                   if ((rp) && (rp->body))
+                     {
+                        EPhysics_Quaternion quat;
+                        ephysics_quaternion_set(&quat, pr->physics.x,
+                                                pr->physics.y, pr->physics.z,
+                                                pr->physics.w);
+                        ephysics_quaternion_normalize(&quat);
+                        ephysics_body_rotation_set(rp->body, &quat);
+                     }
+                }
+           }
+         break;
 #endif
-     default:
-        // _edje_emit(ed, "program,start", pr->name);
-        // _edje_emit(ed, "program,stop", pr->name);
-        break;
+      default:
+         // _edje_emit(ed, "program,start", pr->name);
+         // _edje_emit(ed, "program,stop", pr->name);
+         break;
      }
    if (!((pr->action == EDJE_ACTION_TYPE_STATE_SET)
-        /* hmm this fucks somethgin up. must look into it later */
-        /* && (pr->tween.time > ZERO) && (!ed->no_anim))) */
-        ))
-     {
-        EINA_LIST_FOREACH(pr->after, l, pa)
-         {
-            if (pa->id >= 0)
-              {
-                 pr2 = ed->collection->patterns.table_programs[pa->id % ed->collection->patterns.table_programs_size];
-                 if (pr2) _edje_program_run(ed, pr2, 0, "", "");
-                 if (_edje_block_break(ed)) goto break_prog;
-              }
-         }
-     }
-   break_prog:
+         /* hmm this fucks somethgin up. must look into it later */
+         /* && (pr->tween.time > ZERO) && (!ed->no_anim))) */
+     ))
+       {
+          EINA_LIST_FOREACH(pr->after, l, pa)
+            {
+               if (pa->id >= 0)
+                 {
+                    pr2 = ed->collection->patterns.table_programs[pa->id % ed->collection->patterns.table_programs_size];
+                    if (pr2) _edje_program_run(ed, pr2, 0, "", "");
+                    if (_edje_block_break(ed)) goto break_prog;
+                 }
+            }
+       }
+break_prog:
    _edje_thaw(ed);
    _edje_unref(ed);
    recursions--;
@@ -1042,21 +1042,21 @@ _edje_emit_full(Edje *ed, const char *sig, const char *src, void *data, void (*f
 
              alias = eina_hash_find(ed->collection->alias, part);
              if (alias) {
-                char *aliased;
-                int alien;
-                int nslen;
+                  char *aliased;
+                  int alien;
+                  int nslen;
 
-                alien = strlen(alias);
-                nslen = strlen(newsig);
-                length = alien + nslen + 2;
+                  alien = strlen(alias);
+                  nslen = strlen(newsig);
+                  length = alien + nslen + 2;
 
-                aliased = alloca(length);
-                memcpy(aliased, alias, alien);
-                aliased[alien] = EDJE_PART_PATH_SEPARATOR;
-                memcpy(aliased + alien + 1, newsig, nslen + 1);
+                  aliased = alloca(length);
+                  memcpy(aliased, alias, alien);
+                  aliased[alien] = EDJE_PART_PATH_SEPARATOR;
+                  memcpy(aliased + alien + 1, newsig, nslen + 1);
 
-                _edje_emit(ed, aliased, src);
-                return;
+                  _edje_emit(ed, aliased, src);
+                  return;
              }
           }
 
@@ -1098,14 +1098,14 @@ _edje_emit_full(Edje *ed, const char *sig, const char *src, void *data, void (*f
               if (!ed2) goto end;
 
               _edje_emit(ed2, newsig, src);
-             broadcast = EINA_FALSE;
+              broadcast = EINA_FALSE;
               break;
 
            case EDJE_PART_TYPE_EXTERNAL:
               if (((rp->type != EDJE_RP_TYPE_SWALLOW) ||
                    (!rp->typedata.swallow)) ||
                   (!rp->typedata.swallow->swallowed_object))
-               break;
+                break;
 
               if (!idx)
                 {
@@ -1120,7 +1120,7 @@ _edje_emit_full(Edje *ed, const char *sig, const char *src, void *data, void (*f
                    if (!ed2) goto end;
                    _edje_emit(ed2, newsig, src);
                 }
-             broadcast = EINA_FALSE;
+              broadcast = EINA_FALSE;
               break ;
 
            case EDJE_PART_TYPE_BOX:
@@ -1133,17 +1133,17 @@ _edje_emit_full(Edje *ed, const char *sig, const char *src, void *data, void (*f
                    ed2 = _edje_fetch(child);
                    if (!ed2) goto end;
                    _edje_emit(ed2, newsig, src);
-                  broadcast = EINA_FALSE;
+                   broadcast = EINA_FALSE;
                 }
               break ;
 
            default:
-//              ERR("SPANK SPANK SPANK !!!\nYou should never be here !");
+              //              ERR("SPANK SPANK SPANK !!!\nYou should never be here !");
               break;
           }
      }
 
- end:
+end:
    emsg.sig = sig;
    emsg.src = src;
    if (data)
@@ -1157,23 +1157,23 @@ _edje_emit_full(Edje *ed, const char *sig, const char *src, void *data, void (*f
      {
         emsg.data = NULL;
      }
-/* new sends code */
+   /* new sends code */
    if (broadcast)
      edje_object_message_send(ed->obj, EDJE_MESSAGE_SIGNAL, 0, &emsg);
    else
      _edje_message_send(ed, EDJE_QUEUE_SCRIPT, EDJE_MESSAGE_SIGNAL, 0, &emsg);
-/* old send code - use api now
-   _edje_message_send(ed, EDJE_QUEUE_SCRIPT, EDJE_MESSAGE_SIGNAL, 0, &emsg);
-   EINA_LIST_FOREACH(ed->subobjs, l, obj)
-     {
-        Edje *ed2;
-
-        ed2 = _edje_fetch(obj);
-        if (!ed2) continue;
-        if (ed2->delete_me) continue;
-        _edje_message_send(ed2, EDJE_QUEUE_SCRIPT, EDJE_MESSAGE_SIGNAL, 0, &emsg);
-     }
- */
+   /* old send code - use api now
+      _edje_message_send(ed, EDJE_QUEUE_SCRIPT, EDJE_MESSAGE_SIGNAL, 0, &emsg);
+      EINA_LIST_FOREACH(ed->subobjs, l, obj)
+      {
+      Edje *ed2;
+
+      ed2 = _edje_fetch(obj);
+      if (!ed2) continue;
+      if (ed2->delete_me) continue;
+      _edje_message_send(ed2, EDJE_QUEUE_SCRIPT, EDJE_MESSAGE_SIGNAL, 0, &emsg);
+      }
   */
    if (emsg.data && (--(emsg.data->ref) == 0))
      {
         if (emsg.data->free_func)
@@ -1186,9 +1186,9 @@ _edje_emit_full(Edje *ed, const char *sig, const char *src, void *data, void (*f
 
 struct _Edje_Program_Data
 {
-  Eina_List     *matches;
-  Edje          *ed;
-  const char    *source;
+   Eina_List     *matches;
+   Edje          *ed;
+   const char    *source;
 };
 
 static Eina_Bool _edje_glob_callback(Edje_Program *pr, void *dt)
@@ -1199,8 +1199,8 @@ static Eina_Bool _edje_glob_callback(Edje_Program *pr, void *dt)
 
    if (pr->filter.state)
      {
-       rp = _edje_real_part_get(data->ed, pr->filter.part ? pr->filter.part : data->source);
-       if (rp)
+        rp = _edje_real_part_get(data->ed, pr->filter.part ? pr->filter.part : data->source);
+        if (rp)
           exec = !strcmp(rp->chosen_description->state.name, pr->filter.state);
      }
 
@@ -1219,48 +1219,48 @@ _edje_emit_handle(Edje *ed, const char *sig, const char *src,
    if (ed->delete_me) return;
    if (!sig) sig = "";
    if (!src) src = "";
-//   printf("EDJE EMIT: (%p) signal: \"%s\" source: \"%s\"\n", ed, sig, src);
+   //   printf("EDJE EMIT: (%p) signal: \"%s\" source: \"%s\"\n", ed, sig, src);
    _edje_block(ed);
    _edje_ref(ed);
    _edje_freeze(ed);
-   
+
    if (ed->collection && ed->L)
      _edje_lua2_script_func_signal(ed, sig, src);
 
    if (ed->collection)
      {
 #ifdef EDJE_PROGRAM_CACHE
-       Edje_Part_Collection *ec;
-       char *tmps;
-       int l1, l2;
+        Edje_Part_Collection *ec;
+        char *tmps;
+        int l1, l2;
 #endif
-       int done;
+        int done;
 
 #ifdef EDJE_PROGRAM_CACHE
-       ec = ed->collection;
-       l1 = strlen(sig);
-       l2 = strlen(src);
-       tmps = alloca(l1 + l2 + 3); /* \0, \337, \0 */
-       strcpy(tmps, sig);
-       tmps[l1] = '\377';
-       strcpy(&(tmps[l1 + 1]), src);
+        ec = ed->collection;
+        l1 = strlen(sig);
+        l2 = strlen(src);
+        tmps = alloca(l1 + l2 + 3); /* \0, \337, \0 */
+        strcpy(tmps, sig);
+        tmps[l1] = '\377';
+        strcpy(&(tmps[l1 + 1]), src);
 #endif
-       done = 0;
+        done = 0;
 
 #ifdef EDJE_PROGRAM_CACHE
-         {
-            Eina_List *matches;
-            Eina_List *l;
-            Edje_Program *pr;
-
-            if (eina_hash_find(ec->prog_cache.no_matches, tmps))
-              {
-                 done = 1;
-              }
-            else if ((matches = eina_hash_find(ec->prog_cache.matches, tmps)))
-              {
+          {
+             Eina_List *matches;
+             Eina_List *l;
+             Edje_Program *pr;
+
+             if (eina_hash_find(ec->prog_cache.no_matches, tmps))
+               {
+                  done = 1;
+               }
+             else if ((matches = eina_hash_find(ec->prog_cache.matches, tmps)))
+               {
                   EINA_LIST_FOREACH(matches, l, pr)
-                   {
+                    {
                        Eina_Bool exec = EINA_TRUE;
 
                        if (pr->filter.state)
@@ -1274,107 +1274,107 @@ _edje_emit_handle(Edje *ed, const char *sig, const char *src,
                                    exec = EINA_FALSE;
                                  else
                                    exec = (rp->chosen_description->state.name != pr->filter.state) ? 
-                                    !strcmp(rp->chosen_description->state.name, pr->filter.state) : EINA_TRUE;
+                                      !strcmp(rp->chosen_description->state.name, pr->filter.state) : EINA_TRUE;
                               }
                          }
 
                        pr->exec = exec;
-                   }
+                    }
 
                   EINA_LIST_FOREACH(matches, l, pr)
-                    if (pr->exec)
-                      {
-                         _edje_program_run(ed, pr, 0, sig, src);
-                         if (_edje_block_break(ed))
-                           {
-                              goto break_prog;
-                           }
-                      }
-
-                 done = 1;
-              }
-         }
+                     if (pr->exec)
+                       {
+                          _edje_program_run(ed, pr, 0, sig, src);
+                          if (_edje_block_break(ed))
+                            {
+                               goto break_prog;
+                            }
+                       }
+
+                  done = 1;
+               }
+          }
 #endif
-       if (!done)
-         {
+        if (!done)
+          {
              struct _Edje_Program_Data  data;
 
              data.ed = ed;
              data.source = src;
-            data.matches = NULL;
+             data.matches = NULL;
 
              if (ed->collection->patterns.table_programs_size > 0)
                {
-                 const Eina_Inarray *match;
+                  const Eina_Inarray *match;
 #ifdef EDJE_PROGRAM_CACHE
-                 const Eina_List *l;
+                  const Eina_List *l;
 #endif
-                 Edje_Program *pr;
-
-                 if (ed->collection->patterns.programs.u.programs.globing)
-                   if (edje_match_programs_exec(ed->collection->patterns.programs.signals_patterns,
-                                                ed->collection->patterns.programs.sources_patterns,
-                                                sig,
-                                                src,
-                                                ed->collection->patterns.programs.u.programs.globing,
-                                                _edje_glob_callback,
-                                                &data,
+                  Edje_Program *pr;
+
+                  if (ed->collection->patterns.programs.u.programs.globing)
+                    if (edje_match_programs_exec(ed->collection->patterns.programs.signals_patterns,
+                                                 ed->collection->patterns.programs.sources_patterns,
+                                                 sig,
+                                                 src,
+                                                 ed->collection->patterns.programs.u.programs.globing,
+                                                 _edje_glob_callback,
+                                                 &data,
                                                  prop) == 0)
                       goto break_prog;
 
-                 match = edje_match_signal_source_hash_get(sig, src,
-                                                           ed->collection->patterns.programs.exact_match);
+                  match = edje_match_signal_source_hash_get(sig, src,
+                                                            ed->collection->patterns.programs.exact_match);
                   if (match)
                     {
                        Edje_Program **tpr;
 
                        EINA_INARRAY_FOREACH(match, tpr)
-                         _edje_glob_callback(*tpr, &data);
+                          _edje_glob_callback(*tpr, &data);
                     }
 
 #ifdef EDJE_PROGRAM_CACHE
                   EINA_LIST_FOREACH(data.matches, l, pr)
 #else
-                  EINA_LIST_FREE(data.matches, pr)
+                     EINA_LIST_FREE(data.matches, pr)
 #endif
-                    {
-                       if (pr->exec)
-                         _edje_program_run(ed, pr, 0, sig, src);
-
-                       if (_edje_block_break(ed))
-                         {
-                            eina_list_free(data.matches);
-                            data.matches = NULL;
-                            goto break_prog;
-                         }
-                    }
+                       {
+                          if (pr->exec)
+                            _edje_program_run(ed, pr, 0, sig, src);
+
+                          if (_edje_block_break(ed))
+                            {
+                               eina_list_free(data.matches);
+                               data.matches = NULL;
+                               goto break_prog;
+                            }
+                       }
                }
 
 #ifdef EDJE_PROGRAM_CACHE
-            if (tmps)
-              {
-                 if (data.matches == NULL)
-                   {
-                     if (!ec->prog_cache.no_matches)
-                       ec->prog_cache.no_matches = eina_hash_string_superfast_new(NULL);
-                     eina_hash_add(ec->prog_cache.no_matches, tmps, ed);
-                   }
-                 else
-                   {
-                     if (!ec->prog_cache.matches)
-                       ec->prog_cache.matches = eina_hash_string_superfast_new(NULL);
-                     eina_hash_add(ec->prog_cache.matches, tmps, data.matches);
-                   }
-              }
+             if (tmps)
+               {
+                  if (data.matches == NULL)
+                    {
+                       if (!ec->prog_cache.no_matches)
+                         ec->prog_cache.no_matches = eina_hash_string_superfast_new(NULL);
+                       eina_hash_add(ec->prog_cache.no_matches, tmps, ed);
+                    }
+                  else
+                    {
+                       if (!ec->prog_cache.matches)
+                         ec->prog_cache.matches = eina_hash_string_superfast_new(NULL);
+                       eina_hash_add(ec->prog_cache.matches, tmps, data.matches);
+                    }
+               }
 #endif
-         }
-       _edje_emit_cb(ed, sig, src, sdata, prop);
-       if (_edje_block_break(ed))
-         {
-            goto break_prog;
-         }
+          }
+        _edje_emit_cb(ed, sig, src, sdata, prop);
+        if (_edje_block_break(ed))
+          {
+             goto break_prog;
+          }
      }
-   break_prog:
+break_prog:
    _edje_thaw(ed);
    _edje_unref(ed);
    _edje_unblock(ed);
@@ -1416,7 +1416,7 @@ _edje_emit_cb(Edje *ed, const char *sig, const char *src, Edje_Message_Signal_Da
 
    if (eina_inarray_count(&ssp->u.callbacks.globing))
      r = edje_match_callback_exec(ssp,
-                                 m->matches,
+                                  m->matches,
                                   sig,
                                   src,
                                   ed,
@@ -1434,9 +1434,9 @@ _edje_emit_cb(Edje *ed, const char *sig, const char *src, Edje_Message_Signal_Da
 
         EINA_INARRAY_FOREACH(match, i)
           {
-            if (_edje_signal_callback_run(ed->callbacks->flags, *i)) continue;
+             if (_edje_signal_callback_run(ed->callbacks->flags, *i)) continue;
              if ((prop) && (_edje_signal_callback_prop(ed->callbacks->flags,
-                                                      *i))) continue;
+                                                       *i))) continue;
 
              cb = &m->matches[*i];
 
@@ -1446,7 +1446,7 @@ _edje_emit_cb(Edje *ed, const char *sig, const char *src, Edje_Message_Signal_Da
           }
      }
 
- break_prog:
+break_prog:
    _edje_signal_callback_matches_unref(m);
 
    _edje_signal_callback_patterns_unref(ssp);
@@ -1455,7 +1455,7 @@ _edje_emit_cb(Edje *ed, const char *sig, const char *src, Edje_Message_Signal_Da
 
    if (ed->walking_callbacks == 0)
      _edje_signal_callback_reset(ed->callbacks->flags,
-                                ed->callbacks->matches->matches_count);
+                                 ed->callbacks->matches->matches_count);
 
    _edje_unblock(ed);
    _edje_thaw(ed);
@@ -1481,7 +1481,7 @@ _edje_param_external_get(Edje_Real_Part *rp, const char *name, Edje_External_Par
 {
    Evas_Object *swallowed_object;
    const Edje_External_Param_Info *info;
-   
+
    if ((rp->type != EDJE_RP_TYPE_SWALLOW) ||
        (!rp->typedata.swallow)) return NULL;
    swallowed_object = rp->typedata.swallow->swallowed_object;
@@ -1504,152 +1504,152 @@ _edje_param_native_get(Edje *ed, Edje_Real_Part *rp, const char *name, Edje_Exte
    if ((rp->part->type == EDJE_PART_TYPE_TEXT) ||
        (rp->part->type == EDJE_PART_TYPE_TEXTBLOCK))
      {
-       if (!strcmp(name, "text"))
-         {
-            param->name = name;
-            param->type = EDJE_EXTERNAL_PARAM_TYPE_STRING;
-
-            _edje_recalc_do(ed);
-            if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-              param->s = _edje_entry_text_get(rp);
-            else if ((rp->part->type == EDJE_PART_TYPE_TEXT) &&
+        if (!strcmp(name, "text"))
+          {
+             param->name = name;
+             param->type = EDJE_EXTERNAL_PARAM_TYPE_STRING;
+
+             _edje_recalc_do(ed);
+             if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+               param->s = _edje_entry_text_get(rp);
+             else if ((rp->part->type == EDJE_PART_TYPE_TEXT) &&
                       ((rp->type == EDJE_RP_TYPE_TEXT) &&
-                          (rp->typedata.text)))
+                       (rp->typedata.text)))
                param->s = rp->typedata.text->text;
-            else
-              param->s = evas_object_textblock_text_markup_get(rp->object);
-            return param;
-         }
-       if (rp->part->type == EDJE_PART_TYPE_TEXTBLOCK)
-         {
-            if (!strcmp(name, "text_unescaped"))
-              {
-                 param->name = name;
-                 param->type = EDJE_EXTERNAL_PARAM_TYPE_STRING;
-
-                 _edje_recalc_do(ed);
-                 if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
-                   {
-                      const char *tmp = _edje_entry_text_get(rp);
-                      char *unescaped = _edje_text_unescape(tmp);
-                      *free_ptr = unescaped;
-                      param->s = unescaped;
-                   }
+             else
+               param->s = evas_object_textblock_text_markup_get(rp->object);
+             return param;
+          }
+        if (rp->part->type == EDJE_PART_TYPE_TEXTBLOCK)
+          {
+             if (!strcmp(name, "text_unescaped"))
+               {
+                  param->name = name;
+                  param->type = EDJE_EXTERNAL_PARAM_TYPE_STRING;
+
+                  _edje_recalc_do(ed);
+                  if (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
+                    {
+                       const char *tmp = _edje_entry_text_get(rp);
+                       char *unescaped = _edje_text_unescape(tmp);
+                       *free_ptr = unescaped;
+                       param->s = unescaped;
+                    }
                   else if ((rp->part->type == EDJE_PART_TYPE_TEXT) &&
                            ((rp->type == EDJE_RP_TYPE_TEXT) &&
-                               (rp->typedata.text)))
-                   param->s = rp->typedata.text->text;
-                 else
-                   {
-                      const char *tmp;
-                      char *unescaped;
-
-                      tmp = evas_object_textblock_text_markup_get(rp->object);
-                      unescaped = _edje_text_unescape(tmp);
-                      *free_ptr = unescaped;
-                      param->s = unescaped;
-                   }
-
-                 return param;
-              }
+                            (rp->typedata.text)))
+                    param->s = rp->typedata.text->text;
+                  else
+                    {
+                       const char *tmp;
+                       char *unescaped;
+
+                       tmp = evas_object_textblock_text_markup_get(rp->object);
+                       unescaped = _edje_text_unescape(tmp);
+                       *free_ptr = unescaped;
+                       param->s = unescaped;
+                    }
+
+                  return param;
+               }
 
              if (((rp->type == EDJE_RP_TYPE_TEXT) &&
                   (rp->typedata.text)) &&
                  ((rp->typedata.text->entry_data) &&
-                     (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) &&
-                     (!strcmp(name, "select_allow"))))
-              {
-                 param->name = name;
-                 param->type = EDJE_EXTERNAL_PARAM_TYPE_BOOL;
-                 param->i = _edje_entry_select_allow_get(rp);
-                 return param;
-              }
-         }
+                  (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) &&
+                  (!strcmp(name, "select_allow"))))
+               {
+                  param->name = name;
+                  param->type = EDJE_EXTERNAL_PARAM_TYPE_BOOL;
+                  param->i = _edje_entry_select_allow_get(rp);
+                  return param;
+               }
+          }
      }
 
    if ((rp->drag) && (rp->drag->down.count == 0))
      {
-       if (!strncmp(name, "drag_", sizeof("drag_") - 1))
-         {
-            const char *sub_name = name + sizeof("drag_") - 1;
-            if (!strcmp(sub_name, "value_x"))
-              {
-                 double d;
-
-                 _edje_recalc_do(ed);
-                 d = TO_DOUBLE(rp->drag->val.x);
-                 if (rp->part->dragable.x < 0) d = 1.0 - d;
-                 param->name = name;
-                 param->type = EDJE_EXTERNAL_PARAM_TYPE_DOUBLE;
-                 param->d = d;
-                 return param;
-              }
-            if (!strcmp(sub_name, "value_y"))
-              {
-                 double d;
-
-                 _edje_recalc_do(ed);
-                 d = TO_DOUBLE(rp->drag->val.y);
-                 if (rp->part->dragable.y < 0) d = 1.0 - d;
-                 param->name = name;
-                 param->type = EDJE_EXTERNAL_PARAM_TYPE_DOUBLE;
-                 param->d = d;
-                 return param;
-              }
-
-            if (!strcmp(sub_name, "size_w"))
-              {
-                 _edje_recalc_do(ed);
-                 param->name = name;
-                 param->type = EDJE_EXTERNAL_PARAM_TYPE_DOUBLE;
-                 param->d = TO_DOUBLE(rp->drag->size.x);
-                 return param;
-              }
-            if (!strcmp(sub_name, "size_h"))
-              {
-                 _edje_recalc_do(ed);
-                 param->name = name;
-                 param->type = EDJE_EXTERNAL_PARAM_TYPE_DOUBLE;
-                 param->d = TO_DOUBLE(rp->drag->size.y);
-                 return param;
-              }
-
-            if (!strcmp(sub_name, "step_x"))
-              {
-                 _edje_recalc_do(ed);
-                 param->name = name;
-                 param->type = EDJE_EXTERNAL_PARAM_TYPE_DOUBLE;
-                 param->d = TO_DOUBLE(rp->drag->step.x);
-                 return param;
-              }
-            if (!strcmp(sub_name, "step_y"))
-              {
-                 _edje_recalc_do(ed);
-                 param->name = name;
-                 param->type = EDJE_EXTERNAL_PARAM_TYPE_DOUBLE;
-                 param->d = TO_DOUBLE(rp->drag->step.y);
-                 return param;
-              }
-
-            if (!strcmp(sub_name, "page_x"))
-              {
-                 _edje_recalc_do(ed);
-                 param->name = name;
-                 param->type = EDJE_EXTERNAL_PARAM_TYPE_DOUBLE;
-                 param->d = TO_DOUBLE(rp->drag->page.x);
-                 return param;
-              }
-            if (!strcmp(sub_name, "page_y"))
-              {
-                 _edje_recalc_do(ed);
-                 param->name = name;
-                 param->type = EDJE_EXTERNAL_PARAM_TYPE_DOUBLE;
-                 param->d = TO_DOUBLE(rp->drag->page.y);
-                 return param;
-              }
-
-            return NULL;
-         }
+        if (!strncmp(name, "drag_", sizeof("drag_") - 1))
+          {
+             const char *sub_name = name + sizeof("drag_") - 1;
+             if (!strcmp(sub_name, "value_x"))
+               {
+                  double d;
+
+                  _edje_recalc_do(ed);
+                  d = TO_DOUBLE(rp->drag->val.x);
+                  if (rp->part->dragable.x < 0) d = 1.0 - d;
+                  param->name = name;
+                  param->type = EDJE_EXTERNAL_PARAM_TYPE_DOUBLE;
+                  param->d = d;
+                  return param;
+               }
+             if (!strcmp(sub_name, "value_y"))
+               {
+                  double d;
+
+                  _edje_recalc_do(ed);
+                  d = TO_DOUBLE(rp->drag->val.y);
+                  if (rp->part->dragable.y < 0) d = 1.0 - d;
+                  param->name = name;
+                  param->type = EDJE_EXTERNAL_PARAM_TYPE_DOUBLE;
+                  param->d = d;
+                  return param;
+               }
+
+             if (!strcmp(sub_name, "size_w"))
+               {
+                  _edje_recalc_do(ed);
+                  param->name = name;
+                  param->type = EDJE_EXTERNAL_PARAM_TYPE_DOUBLE;
+                  param->d = TO_DOUBLE(rp->drag->size.x);
+                  return param;
+               }
+             if (!strcmp(sub_name, "size_h"))
+               {
+                  _edje_recalc_do(ed);
+                  param->name = name;
+                  param->type = EDJE_EXTERNAL_PARAM_TYPE_DOUBLE;
+                  param->d = TO_DOUBLE(rp->drag->size.y);
+                  return param;
+               }
+
+             if (!strcmp(sub_name, "step_x"))
+               {
+                  _edje_recalc_do(ed);
+                  param->name = name;
+                  param->type = EDJE_EXTERNAL_PARAM_TYPE_DOUBLE;
+                  param->d = TO_DOUBLE(rp->drag->step.x);
+                  return param;
+               }
+             if (!strcmp(sub_name, "step_y"))
+               {
+                  _edje_recalc_do(ed);
+                  param->name = name;
+                  param->type = EDJE_EXTERNAL_PARAM_TYPE_DOUBLE;
+                  param->d = TO_DOUBLE(rp->drag->step.y);
+                  return param;
+               }
+
+             if (!strcmp(sub_name, "page_x"))
+               {
+                  _edje_recalc_do(ed);
+                  param->name = name;
+                  param->type = EDJE_EXTERNAL_PARAM_TYPE_DOUBLE;
+                  param->d = TO_DOUBLE(rp->drag->page.x);
+                  return param;
+               }
+             if (!strcmp(sub_name, "page_y"))
+               {
+                  _edje_recalc_do(ed);
+                  param->name = name;
+                  param->type = EDJE_EXTERNAL_PARAM_TYPE_DOUBLE;
+                  param->d = TO_DOUBLE(rp->drag->page.y);
+                  return param;
+               }
+
+             return NULL;
+          }
      }
 
    return NULL;
@@ -1661,162 +1661,162 @@ _edje_param_native_set(Edje *ed, Edje_Real_Part *rp, const char *name, const Edj
    if ((rp->part->type == EDJE_PART_TYPE_TEXT) ||
        (rp->part->type == EDJE_PART_TYPE_TEXTBLOCK))
      {
-       if (!strcmp(name, "text"))
-         {
-            if (param->type != EDJE_EXTERNAL_PARAM_TYPE_STRING)
-              return EINA_FALSE;
-
-            _edje_object_part_text_raw_set(ed, ed->obj, rp, rp->part->name, param->s);
-            return EINA_TRUE;
-         }
-       if (rp->part->type == EDJE_PART_TYPE_TEXTBLOCK)
-         {
-            if (!strcmp(name, "text_unescaped"))
-              {
-                 if (param->type != EDJE_EXTERNAL_PARAM_TYPE_STRING)
-                   return EINA_FALSE;
-
-                 if (rp->part->type == EDJE_PART_TYPE_TEXT)
-                   _edje_object_part_text_raw_set(ed, ed->obj, rp, rp->part->name, param->s);
-                 else
-                   {
-                      char *escaped = _edje_text_escape(param->s);
-                      _edje_object_part_text_raw_set(ed, ed->obj, rp, rp->part->name, escaped);
-                      free(escaped);
-                   }
-
-                 return EINA_TRUE;
-              }
+        if (!strcmp(name, "text"))
+          {
+             if (param->type != EDJE_EXTERNAL_PARAM_TYPE_STRING)
+               return EINA_FALSE;
+
+             _edje_object_part_text_raw_set(ed, ed->obj, rp, rp->part->name, param->s);
+             return EINA_TRUE;
+          }
+        if (rp->part->type == EDJE_PART_TYPE_TEXTBLOCK)
+          {
+             if (!strcmp(name, "text_unescaped"))
+               {
+                  if (param->type != EDJE_EXTERNAL_PARAM_TYPE_STRING)
+                    return EINA_FALSE;
+
+                  if (rp->part->type == EDJE_PART_TYPE_TEXT)
+                    _edje_object_part_text_raw_set(ed, ed->obj, rp, rp->part->name, param->s);
+                  else
+                    {
+                       char *escaped = _edje_text_escape(param->s);
+                       _edje_object_part_text_raw_set(ed, ed->obj, rp, rp->part->name, escaped);
+                       free(escaped);
+                    }
+
+                  return EINA_TRUE;
+               }
 
              if (((rp->type == EDJE_RP_TYPE_TEXT) &&
                   (rp->typedata.text)) &&
                  ((rp->typedata.text->entry_data) &&
-                     (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) &&
-                     (!strcmp(name, "select_allow"))))
-              {
-                 if (param->type != EDJE_EXTERNAL_PARAM_TYPE_BOOL)
-                   return EINA_FALSE;
-                 _edje_entry_select_allow_set(rp, param->i);
-                 return EINA_TRUE;
-              }
-         }
+                  (rp->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE) &&
+                  (!strcmp(name, "select_allow"))))
+               {
+                  if (param->type != EDJE_EXTERNAL_PARAM_TYPE_BOOL)
+                    return EINA_FALSE;
+                  _edje_entry_select_allow_set(rp, param->i);
+                  return EINA_TRUE;
+               }
+          }
      }
 
    if ((rp->drag) && (rp->drag->down.count == 0))
      {
-       if (!strncmp(name, "drag_", sizeof("drag_") - 1))
-         {
-            const char *sub_name = name + sizeof("drag_") - 1;
-            if (!strcmp(sub_name, "value_x"))
-              {
-                 double d;
-                 if (param->type != EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
-                   return EINA_FALSE;
-                 d = param->d;
-                 if (rp->part->dragable.confine_id != -1)
-                   d = CLAMP(d, 0.0, 1.0);
-                 if (rp->part->dragable.x < 0) d = 1.0 - d;
-                 if (rp->drag->val.x == FROM_DOUBLE(d)) return EINA_TRUE;
-                 rp->drag->val.x = FROM_DOUBLE(d);
+        if (!strncmp(name, "drag_", sizeof("drag_") - 1))
+          {
+             const char *sub_name = name + sizeof("drag_") - 1;
+             if (!strcmp(sub_name, "value_x"))
+               {
+                  double d;
+                  if (param->type != EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
+                    return EINA_FALSE;
+                  d = param->d;
+                  if (rp->part->dragable.confine_id != -1)
+                    d = CLAMP(d, 0.0, 1.0);
+                  if (rp->part->dragable.x < 0) d = 1.0 - d;
+                  if (rp->drag->val.x == FROM_DOUBLE(d)) return EINA_TRUE;
+                  rp->drag->val.x = FROM_DOUBLE(d);
 #ifdef EDJE_CALC_CACHE
-                 rp->invalidate = 1;
+                  rp->invalidate = 1;
 #endif
-                 _edje_dragable_pos_set
-                   (ed, rp, rp->drag->val.x, rp->drag->val.y);
-                 _edje_emit(ed, "drag,set", rp->part->name);
-                 return EINA_TRUE;
-              }
-            if (!strcmp(sub_name, "value_y"))
-              {
-                 double d;
-                 if (param->type != EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
-                   return EINA_FALSE;
-                 d = param->d;
-                 if (rp->part->dragable.confine_id != -1)
-                   d = CLAMP(d, 0.0, 1.0);
-                 if (rp->part->dragable.y < 0) d = 1.0 - d;
-                 if (rp->drag->val.y == FROM_DOUBLE(d)) return EINA_TRUE;
-                 rp->drag->val.y = FROM_DOUBLE(d);
+                  _edje_dragable_pos_set
+                     (ed, rp, rp->drag->val.x, rp->drag->val.y);
+                  _edje_emit(ed, "drag,set", rp->part->name);
+                  return EINA_TRUE;
+               }
+             if (!strcmp(sub_name, "value_y"))
+               {
+                  double d;
+                  if (param->type != EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
+                    return EINA_FALSE;
+                  d = param->d;
+                  if (rp->part->dragable.confine_id != -1)
+                    d = CLAMP(d, 0.0, 1.0);
+                  if (rp->part->dragable.y < 0) d = 1.0 - d;
+                  if (rp->drag->val.y == FROM_DOUBLE(d)) return EINA_TRUE;
+                  rp->drag->val.y = FROM_DOUBLE(d);
 #ifdef EDJE_CALC_CACHE
-                 rp->invalidate = 1;
+                  rp->invalidate = 1;
 #endif
-                 _edje_dragable_pos_set
-                   (ed, rp, rp->drag->val.x, rp->drag->val.y);
-                 _edje_emit(ed, "drag,set", rp->part->name);
-                 return EINA_TRUE;
-              }
-
-            if (!strcmp(sub_name, "size_w"))
-              {
-                 if (param->type != EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
-                   return EINA_FALSE;
-                 rp->drag->size.x = FROM_DOUBLE(CLAMP(param->d, 0.0, 1.0));
+                  _edje_dragable_pos_set
+                     (ed, rp, rp->drag->val.x, rp->drag->val.y);
+                  _edje_emit(ed, "drag,set", rp->part->name);
+                  return EINA_TRUE;
+               }
+
+             if (!strcmp(sub_name, "size_w"))
+               {
+                  if (param->type != EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
+                    return EINA_FALSE;
+                  rp->drag->size.x = FROM_DOUBLE(CLAMP(param->d, 0.0, 1.0));
                   ed->recalc_call = EINA_TRUE;
-                 ed->dirty = EINA_TRUE;
+                  ed->dirty = EINA_TRUE;
 #ifdef EDJE_CALC_CACHE
-                 rp->invalidate = 1;
+                  rp->invalidate = 1;
 #endif
-                 _edje_recalc(ed);
-                 return EINA_TRUE;
-              }
-            if (!strcmp(sub_name, "size_h"))
-              {
-                 if (param->type != EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
-                   return EINA_FALSE;
-                 rp->drag->size.y = FROM_DOUBLE(CLAMP(param->d, 0.0, 1.0));
+                  _edje_recalc(ed);
+                  return EINA_TRUE;
+               }
+             if (!strcmp(sub_name, "size_h"))
+               {
+                  if (param->type != EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
+                    return EINA_FALSE;
+                  rp->drag->size.y = FROM_DOUBLE(CLAMP(param->d, 0.0, 1.0));
                   ed->recalc_call = EINA_TRUE;
-                 ed->dirty = EINA_TRUE;
+                  ed->dirty = EINA_TRUE;
 #ifdef EDJE_CALC_CACHE
-                 rp->invalidate = 1;
+                  rp->invalidate = 1;
 #endif
-                 _edje_recalc(ed);
-                 return EINA_TRUE;
-              }
-
-            if (!strcmp(sub_name, "step_x"))
-              {
-                 if (param->type != EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
-                   return EINA_FALSE;
-                 rp->drag->step.x = FROM_DOUBLE(CLAMP(param->d, 0.0, 1.0));
+                  _edje_recalc(ed);
+                  return EINA_TRUE;
+               }
+
+             if (!strcmp(sub_name, "step_x"))
+               {
+                  if (param->type != EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
+                    return EINA_FALSE;
+                  rp->drag->step.x = FROM_DOUBLE(CLAMP(param->d, 0.0, 1.0));
 #ifdef EDJE_CALC_CACHE
-                 rp->invalidate = 1;
+                  rp->invalidate = 1;
 #endif
-                 return EINA_TRUE;
-              }
-            if (!strcmp(sub_name, "step_y"))
-              {
-                 if (param->type != EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
-                   return EINA_FALSE;
-                 rp->drag->step.y = FROM_DOUBLE(CLAMP(param->d, 0.0, 1.0));
+                  return EINA_TRUE;
+               }
+             if (!strcmp(sub_name, "step_y"))
+               {
+                  if (param->type != EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
+                    return EINA_FALSE;
+                  rp->drag->step.y = FROM_DOUBLE(CLAMP(param->d, 0.0, 1.0));
 #ifdef EDJE_CALC_CACHE
-                 rp->invalidate = 1;
+                  rp->invalidate = 1;
 #endif
-                 return EINA_TRUE;
-              }
-
-            if (!strcmp(sub_name, "page_x"))
-              {
-                 if (param->type != EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
-                   return EINA_FALSE;
-                 rp->drag->page.x = FROM_DOUBLE(CLAMP(param->d, 0.0, 1.0));
+                  return EINA_TRUE;
+               }
+
+             if (!strcmp(sub_name, "page_x"))
+               {
+                  if (param->type != EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
+                    return EINA_FALSE;
+                  rp->drag->page.x = FROM_DOUBLE(CLAMP(param->d, 0.0, 1.0));
 #ifdef EDJE_CALC_CACHE
-                 rp->invalidate = 1;
+                  rp->invalidate = 1;
 #endif
-                 return EINA_TRUE;
-              }
-            if (!strcmp(sub_name, "page_y"))
-              {
-                 if (param->type != EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
-                   return EINA_FALSE;
-                 rp->drag->page.y = FROM_DOUBLE(CLAMP(param->d, 0.0, 1.0));
+                  return EINA_TRUE;
+               }
+             if (!strcmp(sub_name, "page_y"))
+               {
+                  if (param->type != EDJE_EXTERNAL_PARAM_TYPE_DOUBLE)
+                    return EINA_FALSE;
+                  rp->drag->page.y = FROM_DOUBLE(CLAMP(param->d, 0.0, 1.0));
 #ifdef EDJE_CALC_CACHE
-                 rp->invalidate = 1;
+                  rp->invalidate = 1;
 #endif
-                 return EINA_TRUE;
-              }
+                  return EINA_TRUE;
+               }
 
-            return EINA_FALSE;
-         }
+             return EINA_FALSE;
+          }
      }
 
    return EINA_FALSE;
@@ -1828,85 +1828,85 @@ _edje_native_param_info_get(const Edje_Real_Part *rp, const char *name)
    if ((rp->part->type == EDJE_PART_TYPE_TEXT) ||
        (rp->part->type == EDJE_PART_TYPE_TEXTBLOCK))
      {
-       if (!strcmp(name, "text"))
-         {
-            static const Edje_External_Param_Info pi =
-              EDJE_EXTERNAL_PARAM_INFO_STRING("text");
-            return &pi;
-         }
-       if (rp->part->type == EDJE_PART_TYPE_TEXTBLOCK)
-         {
-            if (!strcmp(name, "text_unescaped"))
-              {
-                 static const Edje_External_Param_Info pi =
-                   EDJE_EXTERNAL_PARAM_INFO_STRING("text_unescaped");
-                 return &pi;
-              }
-            if (!strcmp(name, "select_allow"))
-              {
-                 static const Edje_External_Param_Info pi =
-                   EDJE_EXTERNAL_PARAM_INFO_BOOL("text_unescaped");
-                 return &pi;
-              }
-         }
+        if (!strcmp(name, "text"))
+          {
+             static const Edje_External_Param_Info pi =
+                EDJE_EXTERNAL_PARAM_INFO_STRING("text");
+             return &pi;
+          }
+        if (rp->part->type == EDJE_PART_TYPE_TEXTBLOCK)
+          {
+             if (!strcmp(name, "text_unescaped"))
+               {
+                  static const Edje_External_Param_Info pi =
+                     EDJE_EXTERNAL_PARAM_INFO_STRING("text_unescaped");
+                  return &pi;
+               }
+             if (!strcmp(name, "select_allow"))
+               {
+                  static const Edje_External_Param_Info pi =
+                     EDJE_EXTERNAL_PARAM_INFO_BOOL("text_unescaped");
+                  return &pi;
+               }
+          }
      }
 
    if ((rp->drag) && (rp->drag->down.count == 0))
      {
-       if (!strncmp(name, "drag_", sizeof("drag_") - 1))
-         {
-            name += sizeof("drag_") - 1;
-            if (!strcmp(name, "value_x"))
-              {
-                 static const Edje_External_Param_Info pi =
-                   EDJE_EXTERNAL_PARAM_INFO_DOUBLE("drag_value_x");
-                 return &pi;
-              }
-            if (!strcmp(name, "value_y"))
-              {
-                 static const Edje_External_Param_Info pi =
-                   EDJE_EXTERNAL_PARAM_INFO_DOUBLE("drag_value_y");
-                 return &pi;
-              }
-            if (!strcmp(name, "size_w"))
-              {
-                 static const Edje_External_Param_Info pi =
-                   EDJE_EXTERNAL_PARAM_INFO_DOUBLE("drag_size_w");
-                 return &pi;
-              }
-            if (!strcmp(name, "size_h"))
-              {
-                 static const Edje_External_Param_Info pi =
-                   EDJE_EXTERNAL_PARAM_INFO_DOUBLE("drag_size_h");
-                 return &pi;
-              }
-            if (!strcmp(name, "step_x"))
-              {
-                 static const Edje_External_Param_Info pi =
-                   EDJE_EXTERNAL_PARAM_INFO_DOUBLE("drag_step_x");
-                 return &pi;
-              }
-            if (!strcmp(name, "step_y"))
-              {
-                 static const Edje_External_Param_Info pi =
-                   EDJE_EXTERNAL_PARAM_INFO_DOUBLE("drag_step_y");
-                 return &pi;
-              }
-            if (!strcmp(name, "page_x"))
-              {
-                 static const Edje_External_Param_Info pi =
-                   EDJE_EXTERNAL_PARAM_INFO_DOUBLE("drag_page_x");
-                 return &pi;
-              }
-            if (!strcmp(name, "page_y"))
-              {
-                 static const Edje_External_Param_Info pi =
-                   EDJE_EXTERNAL_PARAM_INFO_DOUBLE("drag_page_y");
-                 return &pi;
-              }
-
-            return NULL;
-         }
+        if (!strncmp(name, "drag_", sizeof("drag_") - 1))
+          {
+             name += sizeof("drag_") - 1;
+             if (!strcmp(name, "value_x"))
+               {
+                  static const Edje_External_Param_Info pi =
+                     EDJE_EXTERNAL_PARAM_INFO_DOUBLE("drag_value_x");
+                  return &pi;
+               }
+             if (!strcmp(name, "value_y"))
+               {
+                  static const Edje_External_Param_Info pi =
+                     EDJE_EXTERNAL_PARAM_INFO_DOUBLE("drag_value_y");
+                  return &pi;
+               }
+             if (!strcmp(name, "size_w"))
+               {
+                  static const Edje_External_Param_Info pi =
+                     EDJE_EXTERNAL_PARAM_INFO_DOUBLE("drag_size_w");
+                  return &pi;
+               }
+             if (!strcmp(name, "size_h"))
+               {
+                  static const Edje_External_Param_Info pi =
+                     EDJE_EXTERNAL_PARAM_INFO_DOUBLE("drag_size_h");
+                  return &pi;
+               }
+             if (!strcmp(name, "step_x"))
+               {
+                  static const Edje_External_Param_Info pi =
+                     EDJE_EXTERNAL_PARAM_INFO_DOUBLE("drag_step_x");
+                  return &pi;
+               }
+             if (!strcmp(name, "step_y"))
+               {
+                  static const Edje_External_Param_Info pi =
+                     EDJE_EXTERNAL_PARAM_INFO_DOUBLE("drag_step_y");
+                  return &pi;
+               }
+             if (!strcmp(name, "page_x"))
+               {
+                  static const Edje_External_Param_Info pi =
+                     EDJE_EXTERNAL_PARAM_INFO_DOUBLE("drag_page_x");
+                  return &pi;
+               }
+             if (!strcmp(name, "page_y"))
+               {
+                  static const Edje_External_Param_Info pi =
+                     EDJE_EXTERNAL_PARAM_INFO_DOUBLE("drag_page_y");
+                  return &pi;
+               }
+
+             return NULL;
+          }
      }
 
    return NULL;
@@ -1921,103 +1921,103 @@ _edje_param_convert(Edje_External_Param *param, const Edje_External_Param_Info *
      {
       case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
       case EDJE_EXTERNAL_PARAM_TYPE_INT:
-       {
-          int i;
-          switch (param->type)
-            {
-             case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
-                i = (int)param->d;
-                break;
-             case EDJE_EXTERNAL_PARAM_TYPE_STRING:
-             case EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
-                i = (param->s) ? atoi(param->s) : 0;
-                break;
-             case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
-             case EDJE_EXTERNAL_PARAM_TYPE_INT:
-                i = param->i;
-                 break;
-             default:
-                return NULL;
-            }
-          if (dst_info->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL)
-            i = !!i;
-          param->type = dst_info->type;
-          param->i = i;
-          return param;
-       }
+           {
+              int i;
+              switch (param->type)
+                {
+                 case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
+                    i = (int)param->d;
+                    break;
+                 case EDJE_EXTERNAL_PARAM_TYPE_STRING:
+                 case EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
+                    i = (param->s) ? atoi(param->s) : 0;
+                    break;
+                 case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
+                 case EDJE_EXTERNAL_PARAM_TYPE_INT:
+                    i = param->i;
+                    break;
+                 default:
+                    return NULL;
+                }
+              if (dst_info->type == EDJE_EXTERNAL_PARAM_TYPE_BOOL)
+                i = !!i;
+              param->type = dst_info->type;
+              param->i = i;
+              return param;
+           }
 
       case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
-       {
-          double d;
-          switch (param->type)
-            {
-             case EDJE_EXTERNAL_PARAM_TYPE_INT:
-                d = (double)param->i;
-                break;
-             case EDJE_EXTERNAL_PARAM_TYPE_STRING:
-             case EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
-                d = (param->s) ? atof(param->s) : 0.0;
-                break;
-             case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
-                d = (double)param->i;
-                 break;
-             default:
-                return NULL;
-            }
-          param->type = dst_info->type;
-          param->d = d;
-          return param;
-       }
+           {
+              double d;
+              switch (param->type)
+                {
+                 case EDJE_EXTERNAL_PARAM_TYPE_INT:
+                    d = (double)param->i;
+                    break;
+                 case EDJE_EXTERNAL_PARAM_TYPE_STRING:
+                 case EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
+                    d = (param->s) ? atof(param->s) : 0.0;
+                    break;
+                 case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
+                    d = (double)param->i;
+                    break;
+                 default:
+                    return NULL;
+                }
+              param->type = dst_info->type;
+              param->d = d;
+              return param;
+           }
 
       case EDJE_EXTERNAL_PARAM_TYPE_STRING:
-       {
-          static char s[64];
-          switch (param->type)
-            {
-             case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
-             case EDJE_EXTERNAL_PARAM_TYPE_INT:
-                if (!snprintf(s, sizeof(s), "%i", param->i)) return NULL;
-                break;
-             case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
-                if (!snprintf(s, sizeof(s), "%f", param->d)) return NULL;
-                break;
-             case EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
-                param->type = dst_info->type;
-                return param;
-             default:
-                return NULL;
-            }
-          param->type = dst_info->type;
-          param->s = s;
-          return param;
-       }
+           {
+              static char s[64];
+              switch (param->type)
+                {
+                 case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
+                 case EDJE_EXTERNAL_PARAM_TYPE_INT:
+                    if (!snprintf(s, sizeof(s), "%i", param->i)) return NULL;
+                    break;
+                 case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
+                    if (!snprintf(s, sizeof(s), "%f", param->d)) return NULL;
+                    break;
+                 case EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
+                    param->type = dst_info->type;
+                    return param;
+                 default:
+                    return NULL;
+                }
+              param->type = dst_info->type;
+              param->s = s;
+              return param;
+           }
 
       case EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
-       {
-          static char s[64];
-          const char *val;
-          switch (param->type)
-            {
-             case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
-             case EDJE_EXTERNAL_PARAM_TYPE_INT:
-                if (!snprintf(s, sizeof(s), "%i", param->i)) return NULL;
-                val = s;
-                break;
-             case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
-                if (!snprintf(s, sizeof(s), "%f", param->d)) return NULL;
-                val = s;
-                break;
-             case EDJE_EXTERNAL_PARAM_TYPE_STRING:
-                val = param->s;
-                break;
-             default:
-                return NULL;
-            }
-
-          param->type = dst_info->type;
-          if (param->s != val) param->s = val;
-          return param;
-       }
+           {
+              static char s[64];
+              const char *val;
+              switch (param->type)
+                {
+                 case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
+                 case EDJE_EXTERNAL_PARAM_TYPE_INT:
+                    if (!snprintf(s, sizeof(s), "%i", param->i)) return NULL;
+                    val = s;
+                    break;
+                 case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
+                    if (!snprintf(s, sizeof(s), "%f", param->d)) return NULL;
+                    val = s;
+                    break;
+                 case EDJE_EXTERNAL_PARAM_TYPE_STRING:
+                    val = param->s;
+                    break;
+                 default:
+                    return NULL;
+                }
+
+              param->type = dst_info->type;
+              if (param->s != val) param->s = val;
+              return param;
+           }
 
       default: return NULL;
      }
@@ -2029,47 +2029,47 @@ _edje_param_validate(const Edje_External_Param *param, const Edje_External_Param
    switch (info->type)
      {
       case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
-        return ((param->i == 0) || (param->i == 1));
+         return ((param->i == 0) || (param->i == 1));
 
       case EDJE_EXTERNAL_PARAM_TYPE_INT:
-        if ((info->info.i.min != EDJE_EXTERNAL_INT_UNSET) &&
-            (info->info.i.min > param->i))
-          return EINA_FALSE;
+         if ((info->info.i.min != EDJE_EXTERNAL_INT_UNSET) &&
+             (info->info.i.min > param->i))
+           return EINA_FALSE;
 
-        if ((info->info.i.max != EDJE_EXTERNAL_INT_UNSET) &&
-            (info->info.i.max < param->i))
-          return EINA_FALSE;
+         if ((info->info.i.max != EDJE_EXTERNAL_INT_UNSET) &&
+             (info->info.i.max < param->i))
+           return EINA_FALSE;
 
-        return EINA_TRUE;
+         return EINA_TRUE;
 
       case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
-        if ((info->info.d.min != EDJE_EXTERNAL_DOUBLE_UNSET) &&
-            (info->info.d.min > param->d))
-          return EINA_FALSE;
+         if ((info->info.d.min != EDJE_EXTERNAL_DOUBLE_UNSET) &&
+             (info->info.d.min > param->d))
+           return EINA_FALSE;
 
-        if ((info->info.d.max != EDJE_EXTERNAL_DOUBLE_UNSET) &&
-            (info->info.d.max < param->d))
-          return EINA_FALSE;
+         if ((info->info.d.max != EDJE_EXTERNAL_DOUBLE_UNSET) &&
+             (info->info.d.max < param->d))
+           return EINA_FALSE;
 
-        return EINA_TRUE;
+         return EINA_TRUE;
 
       case EDJE_EXTERNAL_PARAM_TYPE_STRING:
-        if (!param->s) return EINA_FALSE;
-        if (info->info.s.accept_fmt)
-          INF("string 'accept_fmt' validation not implemented.");
-        if (info->info.s.deny_fmt)
-          INF("string 'deny_fmt' validation not implemented.");
-        return EINA_TRUE;
+         if (!param->s) return EINA_FALSE;
+         if (info->info.s.accept_fmt)
+           INF("string 'accept_fmt' validation not implemented.");
+         if (info->info.s.deny_fmt)
+           INF("string 'deny_fmt' validation not implemented.");
+         return EINA_TRUE;
 
       case EDJE_EXTERNAL_PARAM_TYPE_CHOICE:
-       {
-          const char **itr = info->info.c.choices;
-          if (!itr) return EINA_FALSE;
-          for (; *itr; itr++)
-            if (!strcmp(*itr, param->s))
-              return EINA_TRUE;
-          return EINA_FALSE;
-       }
+           {
+              const char **itr = info->info.c.choices;
+              if (!itr) return EINA_FALSE;
+              for (; *itr; itr++)
+                if (!strcmp(*itr, param->s))
+                  return EINA_TRUE;
+              return EINA_FALSE;
+           }
 
       default: return EINA_FALSE;
      }
@@ -2089,75 +2089,75 @@ _edje_param_copy(Edje *ed, Edje_Real_Part *src_part, const char *src_param, Edje
        (dst_part->type == EDJE_RP_TYPE_SWALLOW) &&
        (dst_part->typedata.swallow))
      dst_info = _edje_external_param_info_get
-       (dst_part->typedata.swallow->swallowed_object, dst_param);
+        (dst_part->typedata.swallow->swallowed_object, dst_param);
    else
      dst_info = _edje_native_param_info_get(dst_part, dst_param);
 
    if (!dst_info)
      {
-       ERR("cannot copy, invalid destination parameter '%s' of part '%s'",
-           dst_param, dst_part->part->name);
-       return;
+        ERR("cannot copy, invalid destination parameter '%s' of part '%s'",
+            dst_param, dst_part->part->name);
+        return;
      }
 
    if (src_part->part->type == EDJE_PART_TYPE_EXTERNAL)
      {
-       if (!_edje_param_external_get
-           (src_part, src_param, &val))
-         {
-            ERR("cannot get parameter '%s' of part '%s'",
-                src_param, src_part->part->name);
-            return;
-         }
+        if (!_edje_param_external_get
+            (src_part, src_param, &val))
+          {
+             ERR("cannot get parameter '%s' of part '%s'",
+                 src_param, src_part->part->name);
+             return;
+          }
      }
    else
      {
         if (!_edje_param_native_get(ed, src_part, src_param, &val, &free_ptr))
-         {
-            ERR("cannot get parameter '%s' of part '%s'",
-                src_param, src_part->part->name);
-            return;
-         }
+          {
+             ERR("cannot get parameter '%s' of part '%s'",
+                 src_param, src_part->part->name);
+             return;
+          }
      }
 
    if (!_edje_param_convert(&val, dst_info))
      {
-       ERR("cannot convert parameter type %s to requested type %s",
-           edje_external_param_type_str(val.type),
-           edje_external_param_type_str(dst_info->type));
-       goto end;
+        ERR("cannot convert parameter type %s to requested type %s",
+            edje_external_param_type_str(val.type),
+            edje_external_param_type_str(dst_info->type));
+        goto end;
      }
 
    if (!_edje_param_validate(&val, dst_info))
      {
-       ERR("incorrect parameter value failed validation for type %s",
-           edje_external_param_type_str(dst_info->type));
-       goto end;
+        ERR("incorrect parameter value failed validation for type %s",
+            edje_external_param_type_str(dst_info->type));
+        goto end;
      }
 
    if (dst_part->part->type == EDJE_PART_TYPE_EXTERNAL)
      {
-       val.name = dst_param;
-       if (!_edje_external_param_set(NULL, dst_part, &val))
-         {
-            ERR("failed to set parameter '%s' (%s) of part '%s'",
-                dst_param, edje_external_param_type_str(dst_info->type),
-                dst_part->part->name);
-            goto end;
-         }
+        val.name = dst_param;
+        if (!_edje_external_param_set(NULL, dst_part, &val))
+          {
+             ERR("failed to set parameter '%s' (%s) of part '%s'",
+                 dst_param, edje_external_param_type_str(dst_info->type),
+                 dst_part->part->name);
+             goto end;
+          }
      }
    else
      {
         if (!_edje_param_native_set(ed, dst_part, dst_param, &val))
-         {
-            ERR("failed to set parameter '%s' (%s) of part '%s'",
-                dst_param, edje_external_param_type_str(dst_info->type),
-                dst_part->part->name);
-            goto end;
-         }
+          {
+             ERR("failed to set parameter '%s' (%s) of part '%s'",
+                 dst_param, edje_external_param_type_str(dst_info->type),
+                 dst_part->part->name);
+             goto end;
+          }
      }
 
- end:
+end:
    free(free_ptr);
 }
 
@@ -2179,9 +2179,9 @@ _edje_param_set(Edje *ed, Edje_Real_Part *part, const char *param, const char *v
 
    if (!info)
      {
-       ERR("cannot copy, invalid destination parameter '%s' of part '%s'",
-           param, part->part->name);
-       return;
+        ERR("cannot copy, invalid destination parameter '%s' of part '%s'",
+            param, part->part->name);
+        return;
      }
 
    val.name = "(temp)";
@@ -2190,37 +2190,37 @@ _edje_param_set(Edje *ed, Edje_Real_Part *part, const char *param, const char *v
 
    if (!_edje_param_convert(&val, info))
      {
-       ERR("cannot convert parameter type STRING to requested type %s",
-           edje_external_param_type_str(info->type));
-       return;
+        ERR("cannot convert parameter type STRING to requested type %s",
+            edje_external_param_type_str(info->type));
+        return;
      }
 
    if (!_edje_param_validate(&val, info))
      {
-       ERR("incorrect parameter value failed validation for type %s",
-           edje_external_param_type_str(info->type));
-       return;
+        ERR("incorrect parameter value failed validation for type %s",
+            edje_external_param_type_str(info->type));
+        return;
      }
 
    if (part->part->type == EDJE_PART_TYPE_EXTERNAL)
      {
-       val.name = param;
-       if (!_edje_external_param_set(NULL, part, &val))
-         {
-            ERR("failed to set parameter '%s' (%s) of part '%s'",
-                param, edje_external_param_type_str(info->type),
-                part->part->name);
-            return;
-         }
+        val.name = param;
+        if (!_edje_external_param_set(NULL, part, &val))
+          {
+             ERR("failed to set parameter '%s' (%s) of part '%s'",
+                 param, edje_external_param_type_str(info->type),
+                 part->part->name);
+             return;
+          }
      }
    else
      {
         if (!_edje_param_native_set(ed, part, param, &val))
-         {
-            ERR("failed to set parameter '%s' (%s) of part '%s'",
-                param, edje_external_param_type_str(info->type),
-                part->part->name);
-            return;
-         }
+          {
+             ERR("failed to set parameter '%s' (%s) of part '%s'",
+                 param, edje_external_param_type_str(info->type),
+                 part->part->name);
+             return;
+          }
      }
 }