On Thu, Apr 29, 2010 at 3:54 AM, klaas.holwerda <n...@klaasholwerda.nl> wrote:
> John,
>
> What do you plan to do?

Try to not be so lazy? Seriously though, I have written a parser in
Lua for the XML output from the wxWidgets Doxygen documentation. It
can read in all 1000+ files and generate a Lua table with all the
pertinent data saved in a nice orderly manner. It is complete in that
it understands everything in the files and gives warning messages if
there is anything in the XML file that is not understood.

What has to be done is :

1) Create a new repository in SF using SVN to separate 2.8 from 2.9+
2) Separate the XML files into the different wxWidgets libs. I wonder
if I can concat the wxWidgets interface files together by lib (base,
core, adv...) then run Doxygen on them to generate fewer XML files.
This will make it WAY easier to update in the future since I won't
have to diff 1000+ interface files to see what changed.
3) Write the C code generation for the bindings. (this is actually not
the hard part)
4) Have a way to exclude various parts of wxWidgets from wxLua. Not
all functions/classes are useful, but I don't want to edit the
original wxWidgets interface files since comparing and updating them
against newer versions from wxWidgets would be very difficult. I guess
this info will go into the "rules" files, which used to be very
simple, but now they have have to carry all this extra information.
5) The wxWidgets interface files do not have #if wxUSE_WXFEATURE/CLASS
so I will have to add them, probably by sending patches to wxWidgets.
This can be implemented later.
6) Redo all the build files. (this is the hard part)
7) Test and see what's new vs. what is missing from the old interface
files and send patches to wxWidgets as appropriate.

This is a massive undertaking for me, but yes I still  plan to do it.

> I did an attempt to get it compiled, and although many things were
> rather easy to solve.
> (event declaration and bindings to lua  for those events)
> But i am stuck near the end, at least i think it is near end :-)
> Also i am not always sure if what i made of it is correct. I did only
> change things to get it working for 2.9, not to keep it working for 2.8.

>From the looks of it, making 2.8 and 2.9 work together would be
impossible. You can freely hack away at the generated C binding files
on stuff that you don't care about. For example, if some class
function changed or disappeared, just rem out the code inside these
functions to make them like the code below. Obviously, that
feature/function won't work, but if you don't plan to use it it's a
quick and easy way to get wxLua to compile again.
static int wxLua_wxClass_FunctionName(lua_State* L) { return 1; }

> Anyway it looks feasible to have the current wxLua working with wx2.9.
> If you want, i could sent you what i did sofar??

Nah, not just now.

> Or do you think you will find time to change the whole binding stuff to
> XML/doxygen based.
> Maybe just get it working for 2.9 for the moment, is less a problem??

I haven't tried, but I don't think it should be too hard to get 2.9
working with the current bindings, but then again, maybe a lot more
has changed than I remember. The hardest part is maintaining the class
heirarchy, because that will cause serious problems.

Regards,
    John

------------------------------------------------------------------------------
_______________________________________________
wxlua-users mailing list
wxlua-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wxlua-users

Reply via email to