Update of /cvsroot/wxlua/wxLua/bindings/wxwidgets In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv16698/wxLua/bindings/wxwidgets Modified Files: controls.i data.i event.i html.i override.hpp socket.i wx_datatypes.lua wx_rules.lua Log Message: Add "voidptr_long" binding tag to allow using void* as a number Speed up bindings by using numbers as keys in the registry (avoid lua doing a string copy) Get rid of wxLuaState::GetXXXTag functions, something better needs to be implemented, using global vars for the few tags that we really use often now Allow the wxLuaStackDialog to be able to show lua's registry lots of cleanup in bindings.wx.lua Index: wx_datatypes.lua =================================================================== RCS file: /cvsroot/wxlua/wxLua/bindings/wxwidgets/wx_datatypes.lua,v retrieving revision 1.67 retrieving revision 1.68 diff -C2 -d -r1.67 -r1.68 *** wx_datatypes.lua 14 Jun 2007 01:23:09 -0000 1.67 --- wx_datatypes.lua 14 Jun 2007 23:59:41 -0000 1.68 *************** *** 189,192 **** --- 189,197 ---- Name = "void", }, + voidptr_long = { + DefType = "special", + IsNumber = true, + Name = "voidptr_long", + }, wchar_t = { DefType = "number", Index: html.i =================================================================== RCS file: /cvsroot/wxlua/wxLua/bindings/wxwidgets/html.i,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** html.i 14 Jun 2007 01:23:08 -0000 1.22 --- html.i 14 Jun 2007 23:59:41 -0000 1.23 *************** *** 319,324 **** void Append(const wxArrayString& strings) int Append(const wxString& item) ! //int Append(const wxString& item, void *clientData) ! //int Append(const wxString& item, wxClientData *clientData) %endclass --- 319,324 ---- void Append(const wxArrayString& strings) int Append(const wxString& item) ! int Append(const wxString& item, voidptr_long number) // C++ is (void *clientData) You can put a number here ! int Append(const wxString& item, wxClientData *clientData) %endclass Index: data.i =================================================================== RCS file: /cvsroot/wxlua/wxLua/bindings/wxwidgets/data.i,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -d -r1.32 -r1.33 *** data.i 14 Jun 2007 01:23:08 -0000 1.32 --- data.i 14 Jun 2007 23:59:41 -0000 1.33 *************** *** 43,46 **** --- 43,60 ---- //----------------------------------------------------------------------------- + // wxClientDataContainer + + %class %noclassinfo wxClientDataContainer + wxClientDataContainer() + + void SetClientObject( wxClientData *data ) + wxClientData *GetClientObject() const + + void SetClientData( voidptr_long data ) // C++ is (void *clientData) You can put a number here + // C++ Func: void *GetClientData() const + voidptr_long GetClientData() const // C++ returns (void *) You get a number here + %endclass + + //----------------------------------------------------------------------------- // wxObject Index: socket.i =================================================================== RCS file: /cvsroot/wxlua/wxLua/bindings/wxwidgets/socket.i,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** socket.i 14 Jun 2007 01:23:09 -0000 1.16 --- socket.i 14 Jun 2007 23:59:41 -0000 1.17 *************** *** 65,69 **** void Discard() bool Error() const ! wxObject* GetClientData() const bool GetLocal(wxSockAddress& addr) const wxSocketFlags GetFlags() const --- 65,69 ---- void Discard() bool Error() const ! voidptr_long GetClientData() const // C++ returns (void *) You get a number here bool GetLocal(wxSockAddress& addr) const wxSocketFlags GetFlags() const *************** *** 79,83 **** void RestoreState() void SaveState() ! void SetClientData(wxObject *data) void SetEventHandler(wxEvtHandler& handler, int id = -1) void SetFlags(wxSocketFlags flags) --- 79,83 ---- void RestoreState() void SaveState() ! void SetClientData(voidptr_long number) // C++ is (void *clientData) You can put a number here void SetEventHandler(wxEvtHandler& handler, int id = -1) void SetFlags(wxSocketFlags flags) *************** *** 145,149 **** wxSocketEvent(int id = 0) ! wxObject * GetClientData() wxSocketBase * GetSocket() const wxSocketNotify GetSocketEvent() const --- 145,149 ---- wxSocketEvent(int id = 0) ! voidptr_long GetClientData() // C++ returns (void *) You get a number here wxSocketBase * GetSocket() const wxSocketNotify GetSocketEvent() const Index: wx_rules.lua =================================================================== RCS file: /cvsroot/wxlua/wxLua/bindings/wxwidgets/wx_rules.lua,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** wx_rules.lua 14 Jun 2007 01:23:09 -0000 1.28 --- wx_rules.lua 14 Jun 2007 23:59:41 -0000 1.29 *************** *** 275,282 **** if (registerTypes) ! wxLS.GetLuaStateData()->m_wxluatag_NULL = wxLS.tnewtag(); lua_pushlstring(L, "NULL", 4); ! wxLS.tpushusertag(NULL, wxLS.GetLuaStateData()->m_wxluatag_NULL); lua_rawset(L, luaTable); ]] --- 275,282 ---- if (registerTypes) ! g_wxluatag_NULL = wxLS.tnewtag(); lua_pushlstring(L, "NULL", 4); ! wxLS.tpushusertag(NULL, g_wxluatag_NULL); lua_rawset(L, luaTable); ]] Index: controls.i =================================================================== RCS file: /cvsroot/wxlua/wxLua/bindings/wxwidgets/controls.i,v retrieving revision 1.38 retrieving revision 1.39 diff -C2 -d -r1.38 -r1.39 *** controls.i 13 Jun 2007 04:15:22 -0000 1.38 --- controls.i 14 Jun 2007 23:59:41 -0000 1.39 *************** *** 128,132 **** int Append(const wxString& item) ! //int Append(const wxString& item, void *clientData) int Append(const wxString& item, wxClientData *clientData) void Append(const wxArrayString& strings) --- 128,132 ---- int Append(const wxString& item) ! int Append(const wxString& item, voidptr_long number) // C++ is (void *clientData) You can put a number here int Append(const wxString& item, wxClientData *clientData) void Append(const wxArrayString& strings) *************** *** 134,138 **** void Delete(unsigned int n) int FindString(const wxString& string) ! //void* GetClientData(unsigned int n) const wxClientData* GetClientObject(unsigned int n) const %rename GetStringClientObject wxStringClientData* GetClientObject(unsigned int n) const --- 134,140 ---- void Delete(unsigned int n) int FindString(const wxString& string) ! // C++ Func: void* GetClientData(unsigned int n) const ! voidptr_long GetClientData(unsigned int n) const // C++ returns (void *) You get a number here ! wxClientData* GetClientObject(unsigned int n) const %rename GetStringClientObject wxStringClientData* GetClientObject(unsigned int n) const *************** *** 142,151 **** wxString GetStringSelection() const int Insert(const wxString& item, int pos) ! //int Insert(const wxString& item, unsigned int pos, void *clientData) int Insert(const wxString& item, unsigned int pos, wxClientData *clientData) bool IsEmpty() const // int Number() const // obsolete since 2.2 use GetCount() void Select(int n) ! //void SetClientData(unsigned int n, void *data) void SetClientObject(unsigned int n, wxClientData *data) void SetSelection(unsigned int n) --- 144,153 ---- wxString GetStringSelection() const int Insert(const wxString& item, int pos) ! int Insert(const wxString& item, unsigned int pos, voidptr_long number) // C++ is (void *clientData) You can put a number here int Insert(const wxString& item, unsigned int pos, wxClientData *clientData) bool IsEmpty() const // int Number() const // obsolete since 2.2 use GetCount() void Select(int n) ! void SetClientData(unsigned int n, voidptr_long number) // C++ is (void *clientData) You can put a number here void SetClientObject(unsigned int n, wxClientData *data) void SetSelection(unsigned int n) Index: event.i =================================================================== RCS file: /cvsroot/wxlua/wxLua/bindings/wxwidgets/event.i,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** event.i 14 Jun 2007 01:23:08 -0000 1.25 --- event.i 14 Jun 2007 23:59:41 -0000 1.26 *************** *** 33,48 **** bool Disconnect(int id, int lastId, wxEventType eventType) ! //void* GetClientData() wxClientData* GetClientObject() const bool GetEvtHandlerEnabled() ! //wxEvtHandler* GetNextHandler() ! //wxEvtHandler* GetPreviousHandler() virtual bool ProcessEvent(wxEvent& event) //virtual bool SearchEventTable(wxEventTable& table, wxEvent& event) ! //void SetClientData(void* data) void SetClientObject(wxClientData* data) void SetEvtHandlerEnabled(bool enabled) ! //void SetNextHandler(wxEvtHandler* handler) ! //void SetPreviousHandler(wxEvtHandler* handler) %endclass --- 33,48 ---- bool Disconnect(int id, int lastId, wxEventType eventType) ! voidptr_long GetClientData() // C++ returns (void *) You get a number here wxClientData* GetClientObject() const bool GetEvtHandlerEnabled() ! wxEvtHandler* GetNextHandler() ! wxEvtHandler* GetPreviousHandler() virtual bool ProcessEvent(wxEvent& event) //virtual bool SearchEventTable(wxEventTable& table, wxEvent& event) ! void SetClientData(voidptr_long number) // C++ is (void *clientData) You can put a number here void SetClientObject(wxClientData* data) void SetEvtHandlerEnabled(bool enabled) ! void SetNextHandler(wxEvtHandler* handler) ! void SetPreviousHandler(wxEvtHandler* handler) %endclass *************** *** 144,148 **** wxCommandEvent(wxEventType commandEventType = wxEVT_NULL, int id = 0) ! wxObject* GetClientData() wxClientData* GetClientObject() %rename GetStringClientObject wxStringClientData* GetClientObject() --- 144,148 ---- wxCommandEvent(wxEventType commandEventType = wxEVT_NULL, int id = 0) ! voidptr_long GetClientData() // C++ returns (void *) You get a number here wxClientData* GetClientObject() %rename GetStringClientObject wxStringClientData* GetClientObject() *************** *** 153,157 **** bool IsChecked() const bool IsSelection() ! void SetClientData(wxObject *clientData) void SetExtraLong(int extraLong) void SetInt(int intCommand) --- 153,157 ---- bool IsChecked() const bool IsSelection() ! void SetClientData(voidptr_long number) // C++ is (void *clientData) You can put a number here void SetExtraLong(int extraLong) void SetInt(int intCommand) Index: override.hpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/bindings/wxwidgets/override.hpp,v retrieving revision 1.75 retrieving revision 1.76 diff -C2 -d -r1.75 -r1.76 *** override.hpp 14 Jun 2007 01:23:08 -0000 1.75 --- override.hpp 14 Jun 2007 23:59:41 -0000 1.76 *************** *** 38,42 **** ptr = widths = wxlState.GetIntArray(2, count); else ! count = (int)lua_tonumber(L, 2); // get this --- 38,42 ---- ptr = widths = wxlState.GetIntArray(2, count); else ! count = wxlua_getintegertype(L, 2); // get this *************** *** 966,1035 **** %end - %override wxLua_wxTextValidator_GetExcludeList - // wxStringList& GetExcludeList() const - static int LUACALL wxLua_wxTextValidator_GetExcludeList(lua_State *L) - { - wxLuaState wxlState(L); - wxStringList *returns; - // get this - wxTextValidator *self = (wxTextValidator *)wxlState.GetUserDataType(1, s_wxluatag_wxTextValidator); - // call GetExcludeList - returns = &self->GetExcludeList(); - // push the result datatype - wxlState.PushUserDataType(s_wxluatag_wxStringList, returns); - // return the number of parameters - return 1; - } - %end - - %override wxLua_wxTextValidator_GetIncludeList - // wxStringList& GetIncludeList() const - static int LUACALL wxLua_wxTextValidator_GetIncludeList(lua_State *L) - { - wxLuaState wxlState(L); - wxStringList *returns; - // get this - wxTextValidator *self = (wxTextValidator *)wxlState.GetUserDataType(1, s_wxluatag_wxTextValidator); - // call GetIncludeList - returns = &self->GetIncludeList(); - // push the result datatype - wxlState.PushUserDataType(s_wxluatag_wxStringList, returns); - // return the number of parameters - return 1; - } - %end - - %override wxLua_wxTextValidator_SetExcludeList - // void SetExcludeList(const wxStringList& stringList) - static int LUACALL wxLua_wxTextValidator_SetExcludeList(lua_State *L) - { - wxLuaState wxlState(L); - // const wxStringList& stringList - const wxStringList *stringList = (wxStringList *)wxlState.GetUserDataType(2, s_wxluatag_wxStringList); - // get this - wxTextValidator *self = (wxTextValidator *)wxlState.GetUserDataType(1, s_wxluatag_wxTextValidator); - // call SetExcludeList - self->SetExcludeList(*stringList); - // return the number of parameters - return 0; - } - %end - - %override wxLua_wxTextValidator_SetIncludeList - // void SetIncludeList(const wxStringList& stringList) - static int LUACALL wxLua_wxTextValidator_SetIncludeList(lua_State *L) - { - wxLuaState wxlState(L); - // const wxStringList& stringList - const wxStringList *stringList = (wxStringList *)wxlState.GetUserDataType(2, s_wxluatag_wxStringList); - // get this - wxTextValidator *self = (wxTextValidator *)wxlState.GetUserDataType(1, s_wxluatag_wxTextValidator); - // call SetIncludeList - self->SetIncludeList(*stringList); - // return the number of parameters - return 0; - } - %end - %override wxLua_wxGenericValidatorBool_constructor // %constructor wxGenericValidatorBool(wxLuaObject *boolPtr) --- 966,969 ---- *************** *** 1516,1536 **** // ---------------------------------------------------------------------------- - %override wxLua_wxCommandEvent_GetClientData - // wxObject* GetClientData() - static int LUACALL wxLua_wxCommandEvent_GetClientData(lua_State *L) - { - wxLuaState wxlState(L); - wxObject *returns; - // get this - wxCommandEvent *self = (wxCommandEvent *)wxlState.GetUserDataType(1, s_wxluatag_wxCommandEvent); - // call GetClientData - returns = (wxObject *) self->GetClientData(); - // push the result datatype - wxlState.PushUserDataType(s_wxluatag_wxObject, returns); - // return the number of parameters - return 1; - } - %end - %override wxLua_wxKeyEvent_GetPositionXY static int LUACALL wxLua_wxKeyEvent_GetPositionXY(lua_State *L) --- 1450,1453 ---- *************** *** 3965,4002 **** %end - %override wxLua_wxSocketBase_GetClientData - // wxObject * GetClientData() const - static int LUACALL wxLua_wxSocketBase_GetClientData(lua_State *L) - { - wxLuaState wxlState(L); - wxObject *returns; - // get this - wxSocketBase *self = (wxSocketBase *)wxlState.GetUserDataType(1, s_wxluatag_wxSocketBase); - // call GetClientData - returns = (wxObject *) self->GetClientData(); - // push the result datatype - wxlState.PushUserDataType(s_wxluatag_wxObject, returns); - // return the number of parameters - return 1; - } - %end - - %override wxLua_wxSocketEvent_GetClientData - // wxObject * GetClientData() - static int LUACALL wxLua_wxSocketEvent_GetClientData(lua_State *L) - { - wxLuaState wxlState(L); - wxObject *returns; - // get this - wxSocketEvent *self = (wxSocketEvent *)wxlState.GetUserDataType(1, s_wxluatag_wxSocketEvent); - // call GetClientData - returns = (wxObject *) self->GetClientData(); - // push the result datatype - wxlState.PushUserDataType(s_wxluatag_wxObject, returns); - // return the number of parameters - return 1; - } - %end - // ---------------------------------------------------------------------------- // Overrides for thread.i --- 3882,3885 ---- |