Edje EXTERNAL API break, for good.
authorbarbieri <barbieri>
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)
commitf5966bbdee5db60553f26702ae7e8bdad2a79c7f
treef3c7f5677d40df494168089847f4be7bb3c612a2
parent22407a6f488f351f54b953e052d8446f20f7f899
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: http://svn.enlightenment.org/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