From: John L. <jla...@gm...> - 2006-01-11 14:45:10
|
> >>I see many *.i files, which have things in it which are not forward > >>declared? > >>Does genwxbind.lua parse the headers included with %include? > >>That would explain it, but i got the feeling it is not doing anything > >>with %include, it is just for putting it in the C++ generated code? > > > >genwxbind.lua reads all the .i files in an generates a list of all the > >classes that were defined. Any class not defined will generate an > >error. > > > > > I see, so if i understand well, each call to genwxbind.lua > should be one a set of *.i files which are selfcontained. Meaning all cla= ss names should be somewhere in there. > What if one uses classes from an other module/library, e.g derived class= es. The base class is wrapped already (with a seperate call to genwxbind.lu= a) , the baseclass of the derived class in the new module needs to be know = too. > So in that case one needs the empty class defenition as a sort of forward= declaration right? > > What i conclude from this is that we need soem sort of *.ih files for mod= ule, being a header of know types from another module. Something like filli= ng the list of know types. > > Maybe we should have a %forward class classname, to achieve the next from= the rules file, but from a *.i file. > > dataTypes["wxCursor"] =3D AllocDataType("wxCursor", "class", false) > > Did would make it a bit more moduler. Yes it would, there is a DataTypes.Cache.lua file created in the bindings/wxwidgets directory that can be used for this, but I haven't been able to look into it. You're right that some sort of "precompiled" header from a set of .i files should be generated to take the burden off of other bindings. I will look into the DataTypes.Cache.lua file to understand how and if it's actually used. Regards, John Labenski |