From: k. h. <kla...@nl...> - 2006-01-19 11:21:54
|
Hi John, I believe i managed to merge your changes in, and i can generate the binding for the sample i made. They are called like this wxluacan_BindingInit etc. In the next routine, the nameSpace is indeed set to wx. void wxLuaBinding::RegisterBinding(const wxLuaState& wxlState, bool registerTypes) { int luaTable = RegisterFunctions(wxlState, registerTypes); lua_State *L = wxlState.GetLuaState(); // create a global lua_pushstring(L, wx2lua(nameSpace)); lua_pushvalue(L, luaTable); lua_rawset(L, LUA_GLOBALSINDEX); lua_pop(L, 1); } But it does NOT work. I think there are two tables created with the same name now? Things like this do not work in a script canvas = wx.GetCan() canobjrect = wx.wxlCanObjRect( 30, 40, 100, 20) But this one does: blah = wx.wxPageSetupDialogData() blah:GetPaperSize() If i change the order of binding the bindings again ( like i did with the two different namespaces ) int LUACALL wxLuaBinding::RegisterFunctions(const wxLuaState& wxlState_, bool registerTypes) { // Register bindings wxLuaBindingList::Node *node; //for (node = M_WXLSTATEDATA->m_bindings.GetFirst(); node; node = node->GetNext() ) for (node = M_WXLSTATEDATA->m_bindings.GetLast(); node; node = node->GetPrevious() ) { wxLuaBinding* binding = node->GetData(); binding->RegisterBinding(L, registerTypes); } The situation is reversed again. meaning this works: canvas = wx.GetCan() canobjrect = wx.wxlCanObjRect( 30, 40, 100, 20) And this not: blah = wx.wxPageSetupDialogData() blah:GetPaperSize() The situation is different from the two namespace situation, since in there the methods where called with the wrong pclass in wxLua_lua_getTableFunc. But knwo i do not even arrive there, lua does not know the functions. In short i think there is realy a bug with registrating/calling function from different bindings, but it is not visible now, since two namespace tables with the same name, does not bring me two that stage anymore. I think we should add my sample to CVS, and then try to find the errors. Without solving this issue wxLua is not usable yet i think. What do you think? Klaas John Labenski wrote: >Sorry about the delay, I've been away for a bit. > > > >>k. holwerda wrote: >> >> >>>I think there is someting wrong with the whole binding registration, >>>and that because of that things get mixed up. >>> >>> > >I've changed genwxbind.lua to have hook_lua_namespace and >hook_cpp_namespace instead of just hook_namespace so that you can have >the same namespace for lua, but different namespaces for the generated >C++ code. See bindings/wxwidgets/wx.rules for how you should define >them. Let me know if this fixes it for you? > >Regards, > John Labenski > > >------------------------------------------------------- >This SF.net email is sponsored by: Splunk Inc. Do you grep through log files >for problems? Stop! Download the new AJAX search engine that makes >searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! >http://sel.as-us.falkag.net/sel?cmd=k&kid3432&bid#0486&dat1642 >_______________________________________________ >Wxlua-users mailing list >Wxl...@li... >https://lists.sourceforge.net/lists/listinfo/wxlua-users > > -- Unclassified |