Edje EXTERNAL API break, for good.
authorbarbieri <barbieri@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Thu, 25 Mar 2010 18:05:42 +0000 (18:05 +0000)
committerbarbieri <barbieri@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Thu, 25 Mar 2010 18:05:42 +0000 (18:05 +0000)
commit9dd1aa0919d55e91602b9b957e63dee789f879c1
treef3c7f5677d40df494168089847f4be7bb3c612a2
parentedc6af550837782fe3f05d2d79d1c4c766c78713
Edje EXTERNAL API break, for good.

I'm now introducing a couple of goodies to make externals more useful,
they are:

 * add: extra parameter with the part name. This may be used by
   external objects to emit signals in the name of that part.

 * param_set/param_get: set parameters at runtime, given their names
   and types. This avoids requiring users to get the actual object and
   call methods. This abstraction is also good because it let one uses
   Elementary without even linking to it ;-) (this have limits, like
   complex types are not supported).  Right now this is just exposed
   to C, but goal is to have it exposed in Embryo and Lua as well.

 * translate: new method to translate previously strings that are
   specified statically, such as the parameters names.

Four new functions got added to the Edje API:

 * edje_object_part_external_object_get() so we don't have to abuse
   edje_object_part_swallow_get()

 * edje_object_part_external_param_set() and
   edje_object_part_external_param_get() that call the external type's
   functions.

 * edje_external_param_type_str() to convert types to string and
   provide nicer debugs :-)

TODO:
  * expose external_param_set()/external_param_get() to Embryo and Lua.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/edje@47456 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33
src/lib/Edje.h
src/lib/edje_edit.c
src/lib/edje_external.c
src/lib/edje_load.c
src/lib/edje_private.h