On 01/30/2013 03:09 PM, Cedric BAIL wrote:
> On Wed, Jan 30, 2013 at 9:10 PM, Yakov Goldberg <[email protected]> wrote:
>> On 01/30/2013 12:49 PM, Cedric BAIL wrote:
>>> Hello,
>>>
>>> On Wed, Jan 30, 2013 at 6:13 PM, Yakov Goldberg <[email protected]> wrote:
>>>> The idea is to provide Eo with introspection and automatic bindings
>>>> generation.
>>>>
>>>> I made some PoC, and can generate bindings for Python and JS -
>>>> elev8. (elev8 is javascript runtime based on Google's v8 js engine).
>>>>
>>>> I scan C -souces for Eo classes and functions definitions and
>>>> generate python(cython) code (or C++ for elev8) which compiled into
>>>> extern module.
>>>>
>>>> There are still issues to solve..
>>>>
>>>> You can look at it here:
>>>> https://github.com/yakov-g/eo_bindings/blob/master/DEV_README
>>>>
>>>> I can answer any questions.
>>>> And discuss how it can be properly done.
>>> Just quickly reading it. I have a few comments.
>>>
>>> It is very important that the produced binding has a stable API from
>>> the script perspective in my opinion. So once you choose your method
>>> to generate the function name, you must stick it to it for all the 1.x
>>> release cycle. Finding a good and robust method there is really key.
>>>
>>> For the callback, I started a discussion a few day ago about it and my
>>> opinion is to link Eo callbacks with Evas callback and get rid of the
>>> issue with that approach. That's what we want anyway on the long term.
>>>
>>> So you tool is in python, right ?
>> Yes, it's in python.
>> And as for the name: I just copy C - macro name.
>> I think you were talking to Daniel about different **_color_get funcs.
>> So when(if) it will be the only func - it will be introspectable and
>> clear to user and that's it.
> Hum, maybe your tool can give us a list of existing conflict, that may
> help to refactor the ID I guess
I'm not talking about technical conflicts, but about user experience.
Particulary, for example the case: elm_bg_color_set
evas_obj_color_set.
So in python I'd like to use it like: obj.color_set() :(
IIRC, there are also several theme funcs: each one for it's widget.
The idea is to leave all work to Eo, so in bindings I'm trying to
make as less work as possible.
So I don't check for name clashes. (I do it for debugging)
I don't think about func overriding, as I suppose it is
implemented correctly in introspected code.
====================
I also started to work on GUI builder.
The same "name clash" happens when I provide comments like this.
I need to use "bg_color" and "color".
/**
* @egui
* {
* "bg" : {
* "parent" : "win",
* "bg_color" : [255,255,200],
* "hint_weight" : [1.0, 1.0],
* "resize" : "win",
* "visibility" : 1
* }
* }
* @!egui
*/
bg = eo_add(ELM_OBJ_BG_CLASS, win);
/**
* @egui
* {
* "button" : {
* "parent" : "win",
* "color" : [255,255,0,255],
* "visibility" : 1,
* "text" : "button",
* "size" : [100, 30],
* "position" : [50, 190]
* }
* }
* @!egui
*/
bt = elm_button_add(win);
>
>> As I said, eo events are introspectable, callback can be added with .
>> But, yes, Evas callback must be implemented in Eo.
> --
> Cedric BAIL
>
> ------------------------------------------------------------------------------
> Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics
> Download AppDynamics Lite for free today:
> http://p.sf.net/sfu/appdyn_d2d_jan
> _______________________________________________
> enlightenment-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_jan
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel