2013/1/30 Yakov Goldberg <yako...@samsung.com> > Hi Davide, > > The idea is to provide Eo with introspection and automatic bindings > generation. >
Hi Yakov, I gave a quick look at you project, the idea is really interesting but as you said it's really a PoC; I can think of an high number of issues. So I'm happy that our projects don't 'overlap' :) Can we really call your approach introspection? you are parsing the source files :/ Should not introspection be at run-time by definition? > > 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. > Sorry but I'm really out-of-time to help with your project, I need well working bindings NOW ;) > > Yakov > > > On 01/30/2013 12:09 AM, Davide Andreoli wrote: > > 2013/1/29 Tom Hacohen <t...@stosb.com> > > > >> No, custom constructor is not the old one. > >> > >> You need to use: > >> > >> #define elm_obj_win_constructor(name, type) > >> ELM_OBJ_WIN_ID(ELM_OBJ_WIN_SUB_ID_WIN_CONSTRUCTOR), EO_TYPECHECK(const > >> char *, name), EO_TYPECHECK(Elm_Win_Type, type) > >> > > haa, ok,now i can create a window using: > > win = eo_add_custom(ELM_OBJ_WIN_CLASS, NULL, > > elm_obj_win_constructor("main", ELM_WIN_BASIC)); > > > > thanks, I will make more tests tomorrow...too tired now > > > > > >> >From elm_win.h. > >> > >> And well, you should switch to Eo for all the objects. Please also talk > to > >> Yakov in CC, as I believe he has already got Python bindings for Eo. > >> > > Yakov: ping > > are you working on py bindings? we are doing double work? whats your > goal? > > > > > > > >> > >> On Tue, Jan 29, 2013 at 9:18 PM, Davide Andreoli < > d...@gurumeditation.it > >>> wrote: > >>> 2013/1/29 Tom Hacohen <t...@stosb.com> > >>> > >>>> Don't use eo_del/unref as counterparts to the old API. Create the > >> objects > >>>> with the new API if you would like to use them... > >>>> > >>> Hi, thanks for the fast reply. > >>> > >>> I have tried that approach but I have problems with some objects than, > >>> for example elm_win: > >>> if I do: > >>> win = eo_add(ELM_OBJ_WIN_CLASS, NULL); > >>> > >>> I get the error: > >>> ERR<3716>:elementary elm_win.c:2979 _constructor() only custom > >> constructor > >>> can be used with 'elm_win' class > >>> > >>> "custom constructor" is the old one right? > >>> In that case I have to manage different delete cases for objs that > >> support > >>> eo and the ones that don't, > >>> and I lost all the benefits of a single-delete-code for every objects > :/ > >>> > >>> thanks > >>> davemds > >>> > >>> > >>> > >>>> On 29 Jan 2013 19:37, "Davide Andreoli" <d...@gurumeditation.it> > >> wrote: > >>>>> Hi all, > >>>>> I'm working/studying Eo while trying to optimize the python bindings > >>>>> and I have some problems deleting eo objects. > >>>>> > >>>>> see this super simple example: > >>>>> (pastebin.com/1C0dqdYA for a "colored" version) > >>>>> > >>>>> > >>>>> #include <Eo.h> > >>>>> #include <Elementary.h> > >>>>> > >>>>> void > >>>>> my_win_del(void *data, Evas_Object *obj, void *event_info) > >>>>> { > >>>>> elm_exit(); > >>>>> } > >>>>> > >>>>> EAPI_MAIN int > >>>>> elm_main(int argc, char **argv) > >>>>> { > >>>>> Evas_Object *win, *r; > >>>>> > >>>>> win = elm_win_add(NULL, "main", ELM_WIN_BASIC); > >>>>> elm_win_title_set(win, "Elementary Tests"); > >>>>> evas_object_smart_callback_add(win, "delete,request", > my_win_del, > >>>>> NULL); > >>>>> evas_object_resize(win, 320, 320); > >>>>> evas_object_show(win); > >>>>> > >>>>> r = evas_object_rectangle_add(evas_object_evas_get(win)); > >>>>> evas_object_resize(r, 100, 100); > >>>>> evas_object_show(r); > >>>>> > >>>>> evas_object_del(r); // this one work as expected > >>>>> // eo_del(r); // this give a bad warnig > >>>>> // eo_unref(r); // this cause an endless loop on > >>>>> elm_shutdown > >>>>> > >>>>> elm_run(); > >>>>> elm_shutdown(); > >>>>> > >>>>> return 0; > >>>>> } > >>>>> > >>>>> ELM_MAIN() > >>>>> > >>>>> > >>>>> > >>>>> The example simply create a rectangle and then delete it, the only > >>>> working > >>>>> way to delete the rect > >>>>> seems to be the evas_object_del call (that work as expected) > >>>>> > >>>>> Using eo_del() to delete the rect cause this warning: > >>>>> ERR<3219>:eo lib/eo/eo.c:1306 _eo_unref() Object 0x21d9920 already > >>>> deleted. > >>>>> ERR<3219>:eo lib/eo/eo.c:1306 _eo_unref() Object 0x21d9920 already > >>>> deleted. > >>>>> as soon as you call eo_del() > >>>>> > >>>>> While eo_unref() cause an endless loop on elm_shutdown with this > >>> warning > >>>>> repeated forever: > >>>>> CRI<3242>: lib/eo/eo.c:1081 eo_parent_set() *** Eina Magic Check > >> Failed > >>>> at > >>>>> 0x1a88f80 !!! > >>>>> Input handle is wrong type > >>>>> Expected: a186bc32 - Eo > >>>>> Supplied: afda6798 - (unknown) > >>>>> *** NAUGHTY PROGRAMMER!!! > >>>>> *** SPANK SPANK SPANK!!! > >>>>> *** Now go fix your code. Tut tut tut! > >>>>> > >>>>> > >>>>> I'm doing something wrong? I'm misunderstanding something? > >>>>> > >>>>> any help is appreciated > >>>>> > >>>>> thanks > >>>>> davemds > >>>>> > >>>>> > >> > ------------------------------------------------------------------------------ > >>>>> Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, > >>>>> MVC, Windows 8 Apps, JavaScript and much more. Keep your skills > >> current > >>>>> with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft > >>>>> MVPs and experts. ON SALE this month only -- learn more at: > >>>>> http://p.sf.net/sfu/learnnow-d2d > >>>>> _______________________________________________ > >>>>> enlightenment-devel mailing list > >>>>> enlightenment-devel@lists.sourceforge.net > >>>>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > >>>>> > >>>> > >> > ------------------------------------------------------------------------------ > >>>> Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, > >>>> MVC, Windows 8 Apps, JavaScript and much more. Keep your skills > current > >>>> with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft > >>>> MVPs and experts. ON SALE this month only -- learn more at: > >>>> http://p.sf.net/sfu/learnnow-d2d > >>>> _______________________________________________ > >>>> enlightenment-devel mailing list > >>>> enlightenment-devel@lists.sourceforge.net > >>>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > >>>> > >>> > >> > ------------------------------------------------------------------------------ > >>> Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, > >>> MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current > >>> with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft > >>> MVPs and experts. ON SALE this month only -- learn more at: > >>> http://p.sf.net/sfu/learnnow-d2d > >>> _______________________________________________ > >>> enlightenment-devel mailing list > >>> enlightenment-devel@lists.sourceforge.net > >>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > >>> > >> > >> > >> -- > >> Tom. > >> > >> > ------------------------------------------------------------------------------ > >> Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, > >> MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current > >> with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft > >> MVPs and experts. ON SALE this month only -- learn more at: > >> http://p.sf.net/sfu/learnnow-d2d > >> _______________________________________________ > >> enlightenment-devel mailing list > >> enlightenment-devel@lists.sourceforge.net > >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > >> > > > ------------------------------------------------------------------------------ > > Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, > > MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current > > with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft > > MVPs and experts. ON SALE this month only -- learn more at: > > http://p.sf.net/sfu/learnnow-d2d > > _______________________________________________ > > 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 > ------------------------------------------------------------------------------ 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