On 01/30/2013 03:09 PM, Cedric BAIL wrote: > On Wed, Jan 30, 2013 at 9:10 PM, Yakov Goldberg <yako...@samsung.com> wrote: >> On 01/30/2013 12:49 PM, Cedric BAIL wrote: >>> Hello, >>> >>> On Wed, Jan 30, 2013 at 6:13 PM, Yakov Goldberg <yako...@samsung.com> 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 > enlightenment-devel@lists.sourceforge.net > 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 enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel