You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(191) |
Jul
(1) |
Aug
(2) |
Sep
|
Oct
|
Nov
(238) |
Dec
(68) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(104) |
Feb
(518) |
Mar
(302) |
Apr
(211) |
May
(311) |
Jun
(55) |
Jul
(6) |
Aug
(35) |
Sep
(76) |
Oct
(50) |
Nov
(37) |
Dec
(340) |
2007 |
Jan
(23) |
Feb
(107) |
Mar
(98) |
Apr
(60) |
May
(136) |
Jun
(371) |
Jul
(175) |
Aug
(74) |
Sep
(3) |
Oct
(2) |
Nov
(53) |
Dec
(129) |
2008 |
Jan
(337) |
Feb
(23) |
Mar
(18) |
Apr
(4) |
May
(3) |
Jun
|
Jul
|
Aug
(4) |
Sep
|
Oct
(33) |
Nov
|
Dec
(26) |
2009 |
Jan
(4) |
Feb
(1) |
Mar
(15) |
Apr
|
May
(35) |
Jun
(11) |
Jul
|
Aug
|
Sep
(19) |
Oct
(26) |
Nov
(11) |
Dec
(11) |
2010 |
Jan
(4) |
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
(8) |
Sep
|
Oct
|
Nov
(8) |
Dec
(7) |
2011 |
Jan
|
Feb
|
Mar
(4) |
Apr
(8) |
May
(5) |
Jun
(8) |
Jul
(1) |
Aug
|
Sep
|
Oct
(5) |
Nov
(13) |
Dec
|
From: John L. <jr...@us...> - 2007-06-15 00:00:21
|
Update of /cvsroot/wxlua/wxLua/apps/wxluafreeze/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv16698/wxLua/apps/wxluafreeze/src Modified Files: wxluafreeze.cpp 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: wxluafreeze.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/apps/wxluafreeze/src/wxluafreeze.cpp,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** wxluafreeze.cpp 14 Jun 2007 01:23:06 -0000 1.9 --- wxluafreeze.cpp 14 Jun 2007 23:59:41 -0000 1.10 *************** *** 35,41 **** // Declare the binding initialization functions as extern so we don't have to // #include the binding header for simplicity. ! extern bool wxLuaBinding_wxlua_init(); ! extern bool wxLuaBinding_wx_init(); ! //extern bool wxLuaBinding_wxstc_init(); // unique identifier to return for missing script --- 35,43 ---- // Declare the binding initialization functions as extern so we don't have to // #include the binding header for simplicity. ! extern bool wxLuaBinding_wxlua_init(); // modules/wxlua ! extern bool wxLuaBinding_wx_init(); // modules/wxbind ! //extern bool wxLuaBinding_wxstc_init(); // modules/wxstcbind ! //extern bool wxLuaBinding_wxluasocket_init(); // modules/wxluasocket ! // unique identifier to return for missing script |
From: John L. <jr...@us...> - 2007-06-15 00:00:21
|
Update of /cvsroot/wxlua/wxLua/apps/wxluaedit/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv16698/wxLua/apps/wxluaedit/src Modified Files: wxluaedit.cpp 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: wxluaedit.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/apps/wxluaedit/src/wxluaedit.cpp,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** wxluaedit.cpp 14 Jun 2007 01:23:06 -0000 1.33 --- wxluaedit.cpp 14 Jun 2007 23:59:41 -0000 1.34 *************** *** 41,48 **** // Declare the binding initialization functions as extern so we don't have to // #include the binding header for simplicity. ! extern bool wxLuaBinding_wxlua_init(); ! extern bool wxLuaBinding_wx_init(); ! extern bool wxLuaBinding_wxstc_init(); ! extern bool wxLuaBinding_wxluasocket_init(); wxWindowID ID_WXLUASTATE_DEBUG = 200; --- 41,48 ---- // Declare the binding initialization functions as extern so we don't have to // #include the binding header for simplicity. ! extern bool wxLuaBinding_wxlua_init(); // modules/wxlua ! extern bool wxLuaBinding_wx_init(); // modules/wxbind ! extern bool wxLuaBinding_wxstc_init(); // modules/wxstcbind ! extern bool wxLuaBinding_wxluasocket_init(); // modules/wxluasocket wxWindowID ID_WXLUASTATE_DEBUG = 200; |
From: John L. <jr...@us...> - 2007-06-15 00:00:21
|
Update of /cvsroot/wxlua/wxLua/docs In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv16698/wxLua/docs Modified Files: binding.html 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: binding.html =================================================================== RCS file: /cvsroot/wxlua/wxLua/docs/binding.html,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** binding.html 14 Jun 2007 01:23:09 -0000 1.21 --- binding.html 14 Jun 2007 23:59:42 -0000 1.22 *************** *** 363,367 **** parameter. </li><li>Note : You absolutely must <span style="font-style: italic;">%overrride</span> this function ! as the generated code will not compile.</li></ul> </ul><h3><a name="C_Class_Member_Function_Directives"></a>C++ Class Member Function Directives</h3> --- 363,371 ---- parameter. </li><li>Note : You absolutely must <span style="font-style: italic;">%overrride</span> this function ! as the generated code will not compile.</li></ul><li style="font-weight: bold;">voidptr_long</li><ul><li>This ! is for functions that take a (void *) pointer to something and DO ! NOT EVER TRY TO CAST IT, ACCESS IT, OR DELETE IT. This tag will allow ! the lua code to put a number (perhaps a table index) as the void* ! pointer. </li><li>See Get/SetClientData() functions in the wxWidgets bindings.</li></ul> </ul><h3><a name="C_Class_Member_Function_Directives"></a>C++ Class Member Function Directives</h3> |
From: John L. <jr...@us...> - 2007-06-15 00:00:21
|
Update of /cvsroot/wxlua/wxLua/modules/wxbind/include In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv16698/wxLua/modules/wxbind/include Modified Files: wxbind.h 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: wxbind.h =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxbind/include/wxbind.h,v retrieving revision 1.72 retrieving revision 1.73 diff -C2 -d -r1.72 -r1.73 *** wxbind.h 14 Jun 2007 01:23:10 -0000 1.72 --- wxbind.h 14 Jun 2007 23:59:42 -0000 1.73 *************** *** 954,957 **** --- 954,960 ---- extern WXDLLIMPEXP_WXBIND wxLuaBindMethod wxClientData_methods[]; extern WXDLLIMPEXP_DATA_WXBIND(int) wxClientData_methodCount; + extern WXDLLIMPEXP_DATA_WXBIND(int) s_wxluatag_wxClientDataContainer; + extern WXDLLIMPEXP_WXBIND wxLuaBindMethod wxClientDataContainer_methods[]; + extern WXDLLIMPEXP_DATA_WXBIND(int) wxClientDataContainer_methodCount; extern WXDLLIMPEXP_DATA_WXBIND(int) s_wxluatag_wxCloseEvent; extern WXDLLIMPEXP_WXBIND wxLuaBindMethod wxCloseEvent_methods[]; |
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 ---- |
From: John L. <jr...@us...> - 2007-06-15 00:00:21
|
Update of /cvsroot/wxlua/wxLua/bindings/wxstc In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv16698/wxLua/bindings/wxstc Modified Files: wxstc_datatypes.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: wxstc_datatypes.lua =================================================================== RCS file: /cvsroot/wxlua/wxLua/bindings/wxstc/wxstc_datatypes.lua,v retrieving revision 1.57 retrieving revision 1.58 diff -C2 -d -r1.57 -r1.58 *** wxstc_datatypes.lua 14 Jun 2007 01:23:08 -0000 1.57 --- wxstc_datatypes.lua 14 Jun 2007 23:59:41 -0000 1.58 *************** *** 189,192 **** --- 189,197 ---- Name = "void", }, + voidptr_long = { + DefType = "special", + IsNumber = true, + Name = "voidptr_long", + }, wchar_t = { DefType = "number", |
From: John L. <jr...@us...> - 2007-06-15 00:00:20
|
Update of /cvsroot/wxlua/wxLua/apps/wxluacan/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv16698/wxLua/apps/wxluacan/src Modified Files: cansim.cpp wxluacan.cpp 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: wxluacan.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/apps/wxluacan/src/wxluacan.cpp,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** wxluacan.cpp 8 Jun 2007 01:36:21 -0000 1.30 --- wxluacan.cpp 14 Jun 2007 23:59:40 -0000 1.31 *************** *** 55,59 **** wxlCanObj * self = (wxlCanObj *)wxlState.GetUserDataType(1, s_wxluatag_wxlCanObj); // call GetX ! returns = self->GetX(); // push the result number lua_pushnumber(L, returns); --- 55,59 ---- wxlCanObj * self = (wxlCanObj *)wxlState.GetUserDataType(1, s_wxluatag_wxlCanObj); // call GetX ! returns = (self->GetX()); // push the result number lua_pushnumber(L, returns); *************** *** 73,77 **** wxlCanObj * self = (wxlCanObj *)wxlState.GetUserDataType(1, s_wxluatag_wxlCanObj); // call GetY ! returns = self->GetY(); // push the result number lua_pushnumber(L, returns); --- 73,77 ---- wxlCanObj * self = (wxlCanObj *)wxlState.GetUserDataType(1, s_wxluatag_wxlCanObj); // call GetY ! returns = (self->GetY()); // push the result number lua_pushnumber(L, returns); *************** *** 438,442 **** wxlCan * self = (wxlCan *)wxlState.GetUserDataType(1, s_wxluatag_wxlCan); // call GetYaxis ! returns = self->GetYaxis(); // push the result flag lua_pushboolean(L, returns); --- 438,442 ---- wxlCan * self = (wxlCan *)wxlState.GetUserDataType(1, s_wxluatag_wxlCan); // call GetYaxis ! returns = (self->GetYaxis()); // push the result flag lua_pushboolean(L, returns); Index: cansim.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/apps/wxluacan/src/cansim.cpp,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** cansim.cpp 14 Jun 2007 01:23:06 -0000 1.12 --- cansim.cpp 14 Jun 2007 23:59:40 -0000 1.13 *************** *** 29,34 **** // Declare the binding initialization functions as extern so we don't have to // #include the binding header for simplicity. ! extern bool wxLuaBinding_wxlua_init(); ! extern bool wxLuaBinding_wx_init(); extern bool wxLuaBinding_wxluacan_init(); --- 29,36 ---- // Declare the binding initialization functions as extern so we don't have to // #include the binding header for simplicity. ! extern bool wxLuaBinding_wxlua_init(); // modules/wxlua ! extern bool wxLuaBinding_wx_init(); // modules/wxbind ! //extern bool wxLuaBinding_wxstc_init(); // modules/wxstcbind ! //extern bool wxLuaBinding_wxluasocket_init(); // modules/wxluasocket extern bool wxLuaBinding_wxluacan_init(); |
From: John L. <jr...@us...> - 2007-06-15 00:00:20
|
Update of /cvsroot/wxlua/wxLua/bindings In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv16698/wxLua/bindings Modified Files: genwxbind.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: genwxbind.lua =================================================================== RCS file: /cvsroot/wxlua/wxLua/bindings/genwxbind.lua,v retrieving revision 1.122 retrieving revision 1.123 diff -C2 -d -r1.122 -r1.123 *** genwxbind.lua 14 Jun 2007 01:23:07 -0000 1.122 --- genwxbind.lua 14 Jun 2007 23:59:41 -0000 1.123 *************** *** 271,274 **** --- 271,275 ---- --AllocDataType("wxArrayInt", "special", true) -- special, but we only convert input, not output AllocDataType("IntArray_FromLuaTable", "special", true) + AllocDataType("voidptr_long", "special", true) -- attributes that can precede a data type (must set equal to true) *************** *** 3078,3081 **** --- 3079,3090 ---- end + + -- the function take (void*), but we just pass an int + if argType == "voidptr_long" then + argType = "long" + argTypeWithAttrib = "long" + argCast = "void*" + end + -- our special notation to get wxString/IntArray from a lua table of strings -- BUT! it has to be const wxArrayString& arr or wxArrayString arr *************** *** 3404,3407 **** --- 3413,3420 ---- end + if memberTypeWithAttrib == "voidptr_long " then + memberTypeWithAttrib = "long " + end + table.insert(codeList, " "..memberTypeWithAttrib.."returns;\n") end *************** *** 3551,3558 **** elseif (not member.IsOperator) and (memberPtr == "&") and (memberType ~= "wxString") then table.insert(codeList, " returns = &"..functor..";\n") ! elseif (memberPtr == "*") then table.insert(codeList, " returns = ("..memberTypeWithAttrib..")"..functor..";\n") else ! table.insert(codeList, " returns = "..functor..";\n") end --- 3564,3571 ---- elseif (not member.IsOperator) and (memberPtr == "&") and (memberType ~= "wxString") then table.insert(codeList, " returns = &"..functor..";\n") ! elseif (memberPtr == "*") or (memberType == "voidptr_long") then table.insert(codeList, " returns = ("..memberTypeWithAttrib..")"..functor..";\n") else ! table.insert(codeList, " returns = ("..functor..");\n") end |
From: John L. <jr...@us...> - 2007-06-15 00:00:20
|
Update of /cvsroot/wxlua/wxLua/bindings/wxlua In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv16698/wxLua/bindings/wxlua Modified Files: wxlua.i 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: wxlua.i =================================================================== RCS file: /cvsroot/wxlua/wxLua/bindings/wxlua/wxlua.i,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** wxlua.i 14 Jun 2007 01:23:07 -0000 1.1 --- wxlua.i 14 Jun 2007 23:59:41 -0000 1.2 *************** *** 185,189 **** //----------------------------------------------------------------------------- ! // wxLuaObject - Allows Lua data items to be used for client data. %enum wxLuaObject_Type --- 185,189 ---- //----------------------------------------------------------------------------- ! // wxLuaObject - Allows Lua data items to be used for wxClientData. %enum wxLuaObject_Type *************** *** 195,199 **** %endenum ! %class %delete wxLuaObject, wxObject // %override wxLuaObject(any value type) // C++ Func: wxLuaObject(const wxLuaState& wxlState, int stack_idx = 1) --- 195,199 ---- %endenum ! %class %delete wxLuaObject, wxObject // ALSO! wxClientData use it anywhere that takes that // %override wxLuaObject(any value type) // C++ Func: wxLuaObject(const wxLuaState& wxlState, int stack_idx = 1) *************** *** 217,222 **** //wxArrayInt *GetArrayPtr(); ! int GetAllocationFlags() const ! bool HasAllocationFlag(wxLuaObject_Type flag) ! //int SetAllocationFlag(wxLuaObject_Type flag, bool set) // NOT for use in lua %endclass --- 217,220 ---- //wxArrayInt *GetArrayPtr(); ! int GetAllocationFlag() const %endclass |
From: John L. <jr...@us...> - 2007-06-14 23:59:53
|
Update of /cvsroot/wxlua/wxLua/samples In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv16698/wxLua/samples Modified Files: bindings.wx.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: bindings.wx.lua =================================================================== RCS file: /cvsroot/wxlua/wxLua/samples/bindings.wx.lua,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** bindings.wx.lua 14 Jun 2007 05:02:49 -0000 1.8 --- bindings.wx.lua 14 Jun 2007 23:59:49 -0000 1.9 *************** *** 121,128 **** ID_STACK_DIALOG = 1002 ! img_normal = 0 -- a "file" image in the listctrl ! img_folder = 1 -- a "folder" image in the listctrl ! img_sort_dn = 2 -- a down arrow ! img_sort_up = 3 -- an up arrow listColWidths = {} -- stored by "object_type" name --- 121,130 ---- ID_STACK_DIALOG = 1002 ! list_images = { ! ["normal"] = 0, -- file image ! ["folder"] = 1, -- folder ! ["sort_dn"] = 2, -- down arrow ! ["sort_up"] = 3, -- up arrow ! } listColWidths = {} -- stored by "object_type" name *************** *** 130,138 **** list_level = 1 -- where are we in the listData listData = {} -- store the table currently displayed by the listCtrl ! -- {{"col val 1", "val2", ... ["icon"] = img_normal, ["color"] = wx.wxBLUE }, ! -- {"col val 1", "val2", ... The icon and color are optional }, -- { ... these are numbered items for the rows }, -- ["col_labels"] = { "col label 1", "col label 2", ...}, - -- ["col_icons"] = { nil, nil, img_folder,... }, -- the 3rd col has folder icon -- ["object_type"] = "wxLuaBindClass", -- or something else readable -- ["list_item"] = last selected list item or nil if not set --- 132,141 ---- list_level = 1 -- where are we in the listData listData = {} -- store the table currently displayed by the listCtrl ! -- {{"col val 1", "val2", ... ["icon"] = list_images.normal, ["color"] = wx.wxBLUE }, ! -- {"col val 1", "val2", ... ["col_icons"] = {["col#"] = true, ...}}, ! -- {"col val 1", "val2", ... ["data"] = {["col#"] = some data, ...}}, ! -- {"col val 1", "val2", ... icon, color, col_icons, data are optional }, -- { ... these are numbered items for the rows }, -- ["col_labels"] = { "col label 1", "col label 2", ...}, -- ["object_type"] = "wxLuaBindClass", -- or something else readable -- ["list_item"] = last selected list item or nil if not set *************** *** 141,144 **** --- 144,162 ---- -- ---------------------------------------------------------------------------- + -- Find the bindings installed into wxLua, tables that might have wxLuaBinding_ + -- ---------------------------------------------------------------------------- + wxlua_tables = { "wxlua", "wx", "wxstc" } + + for i = 1, #wxlua_tables do + if _G[wxlua_tables[i]] then + for k, v in pairs(_G[wxlua_tables[i]]) do + if string.find(k, "wxLuaBinding_", 1, 1) then + table.insert(bindingList, {wxlua_tables[i], k}) + end + end + end + end + + -- ---------------------------------------------------------------------------- -- Load all the wxWidgets wxClassInfo -- ---------------------------------------------------------------------------- *************** *** 157,168 **** --print(c:GetClassName(), "Has Base2", c:GetBaseClass2()) ! local t2 = GetBases(c:GetBaseClass2()) ! for i = 1, #t2 do -- insert back in the original info for j = 1, #t do ! table.insert(t2[i], j, t[1][j]) end ! t2[i][1] = t2[i][1].." "..tostring(i) ! table.insert(t, t2[i]) end end --- 175,186 ---- --print(c:GetClassName(), "Has Base2", c:GetBaseClass2()) ! local baseTable2 = GetBases(c:GetBaseClass2()) ! for i = 1, #baseTable2 do -- insert back in the original info for j = 1, #t do ! table.insert(baseTable2[i], j, t[1][j]) end ! baseTable2[i][1] = baseTable2[i][1].." "..tostring(i) -- count # of base2s ! table.insert(t, baseTable2[i]) end end *************** *** 175,179 **** local t = { ! {"..", ["icon"] = img_folder}, ["col_labels"] = {"wxClassInfo::GetClassName()"}, ["object_type"] = "All Classes" --- 193,197 ---- local t = { ! {"..", ["icon"] = list_images.folder}, ["col_labels"] = {"wxClassInfo::GetClassName()"}, ["object_type"] = "All Classes" *************** *** 181,191 **** local ci = wx.wxClassInfo.GetFirst() ! local max_cols = 0 while ci do ! local tc = GetBases(ci) ! for i = 1, #tc do ! if max_cols < #tc[i] then max_cols = #tc[i] end ! table.insert(t, tc[i]) end --- 199,209 ---- local ci = wx.wxClassInfo.GetFirst() ! local max_cols = 1 while ci do ! local baseTable = GetBases(ci) ! for i = 1, #baseTable do ! if max_cols < #baseTable[i] then max_cols = #baseTable[i] end ! table.insert(t, baseTable[i]) end *************** *** 193,196 **** --- 211,215 ---- end + -- Fill remainder of items with "" string for i = 1, #t do for j = #t[i], max_cols do *************** *** 199,202 **** --- 218,222 ---- end + -- Create col labels for i = 2, max_cols do table.insert(t.col_labels, "Base Class "..tostring(i-1)) *************** *** 209,227 **** -- ---------------------------------------------------------------------------- - -- Find the bindings installed into wxLua, tables that might have wxLuaBinding_ - -- ---------------------------------------------------------------------------- - wxlua_tables = { "wxlua", "wx", "wxstc" } - - for i = 1, #wxlua_tables do - if _G[wxlua_tables[i]] then - for k, v in pairs(_G[wxlua_tables[i]]) do - if string.find(k, "wxLuaBinding_", 1, 1) then - table.insert(bindingList, {wxlua_tables[i], k}) - end - end - end - end - - -- ---------------------------------------------------------------------------- -- Save the current listctrl settings into the listColWidths table -- ---------------------------------------------------------------------------- --- 229,232 ---- *************** *** 253,260 **** end ! -- Wipe items and all cols and recreate them with appropriate names listCtrl:DeleteAllItems() ! for col = 1, listCtrl:GetColumnCount() do listCtrl:DeleteColumn(0) end --- 258,274 ---- end ! local function AutoColWidth(col, txt) ! if auto_col_widths and txt then ! local w = listCtrl:GetTextExtent(txt) ! if w > (listColWidths[data.object_type][col] or 0) - 25 then ! listColWidths[data.object_type][col] = w + 25 ! end ! end ! end ! ! -- Wipe items and extra cols listCtrl:DeleteAllItems() ! while #data.col_labels < listCtrl:GetColumnCount() do listCtrl:DeleteColumn(0) end *************** *** 262,276 **** -- Add the cols for col = 1, #data.col_labels do ! listCtrl:InsertColumn(col-1, data.col_labels[col], wx.wxLIST_FORMAT_LEFT, -1) ! if auto_col_widths then ! local w = listCtrl:GetTextExtent(data.col_labels[col]) ! if data.col_icons and data.col_icons[col] then ! w = w + 20 ! end ! if w > (listColWidths[data.object_type][col] or 0) - 20 then ! listColWidths[data.object_type][col] = w + 20 ! end end end --- 276,293 ---- -- Add the cols for col = 1, #data.col_labels do ! if col > listCtrl:GetColumnCount() then ! listCtrl:InsertColumn(col-1, data.col_labels[col], wx.wxLIST_FORMAT_LEFT, -1) ! else ! local li = wx.wxListItem() ! li:SetText(data.col_labels[col]) ! li:SetImage(-1) ! listCtrl:SetColumn(col-1, li) ! end ! if data.col_sorted and data.col_sorted[col] then ! listCtrl:SetColumnImage(col-1, data.col_sorted[col]) end + + AutoColWidth(col, data.col_labels[col]) end *************** *** 281,325 **** local d = data[i] ! local info = wx.wxListItem() ! info:SetId(lc_item+1) ! info:SetText(tostring(d[1])) ! info:SetData(i) -- key into the listData table for sorting if (d.icon) then ! info:SetImage(d.icon) end if (d.color) then ! info:SetTextColour(d.color) end ! lc_item = listCtrl:InsertItem(info) ! ! if auto_col_widths then ! local w = listCtrl:GetTextExtent(tostring(d[1])) ! if w > (listColWidths[data.object_type][1] or 0) - 25 then ! listColWidths[data.object_type][1] = w + 25 ! end ! end ! if (d[1] ~= "..") then ! for col = 2, #listData[level].col_labels do ! listCtrl:SetItem(lc_item, col-1, tostring(d[col])) ! if data.col_icons and data.col_icons[col] and ! (d[col] ~= "") and (type(d[col]) ~= "function") then ! listCtrl:SetItemColumnImage(lc_item, col-1, data.col_icons[col]) ! end ! if auto_col_widths then ! local w = listCtrl:GetTextExtent(tostring(d[col])) ! if w > (listColWidths[data.object_type][col] or 0) - 20 then ! listColWidths[data.object_type][col] = w + 20 ! end ! end ! end ! else ! if data.class_name then ! listCtrl:SetItem(lc_item, 1, tostring(data.class_name)) end end end --- 298,325 ---- local d = data[i] ! local li = wx.wxListItem() ! li:SetId(lc_item+1) ! li:SetText(tostring(d[1] or "")) ! li:SetData(i) -- key into the listData table for sorting if (d.icon) then ! li:SetImage(d.icon) end if (d.color) then ! li:SetTextColour(d.color) end ! lc_item = listCtrl:InsertItem(li) ! AutoColWidth(1, tostring(d[1])) ! for col = 2, #listData[level].col_labels do ! listCtrl:SetItem(lc_item, col-1, tostring(d[col] or "")) ! if d.col_icons and d.col_icons[col] then ! listCtrl:SetItemColumnImage(lc_item, col-1, d.col_icons[col]) end + + AutoColWidth(col, tostring(d[col])) end end *************** *** 400,416 **** -- ---------------------------------------------------------------------------- function CreatewxLuaBindClass(tbl) ! local keys = { "name", "methods", "methods_n", "classInfo", "class_tag", "baseclassName", "baseclass", "enums", "enums_n" } ! local t = CreatewxLuaBindTable(tbl, keys, "wxLuaBindClass") ! for i = 2, #t do ! -- This class has methods and can be expanded ! if (type(t[i][2]) == "table") then ! t[i].icon = img_folder ! end - -- Convert the wxClassInfo userdata into something more readable - local classInfo = t[i][4] if type(classInfo) == "userdata" then ! local s = classInfo:GetClassName() local b1 = classInfo:GetBaseClassName1() local b2 = classInfo:GetBaseClassName2() --- 400,417 ---- -- ---------------------------------------------------------------------------- function CreatewxLuaBindClass(tbl) ! local t = { ! {"..", ["icon"] = list_images.folder}, ! ["col_labels"] = { "name", "# methods", "wxClassInfo", "class tag", "Base Class Name", "# enums" }, ! ["object_type"] = "wxLuaBindClass" ! } ! -- items in table from binding.GetClassArray are these ! -- { "name", "methods", "methods_n", "classInfo", "class_tag", "baseclassName", "baseclass", "enums", "enums_n" } ! ! local function GetClassInfoStr(classInfo) ! local s = "" if type(classInfo) == "userdata" then ! s = classInfo:GetClassName() local b1 = classInfo:GetBaseClassName1() local b2 = classInfo:GetBaseClassName2() *************** *** 422,435 **** s = s.."("..b2..")" end ! t[i][4] = s -- replace with the string end end - -- these columns are expandable - t.col_icons = {} - t.col_icons[2] = img_folder - t.col_icons[7] = img_folder - t.col_icons[8] = img_folder return t end --- 423,482 ---- s = s.."("..b2..")" end + end ! return s ! end ! ! t.col_numbers = {} ! t.col_numbers[2] = true ! t.col_numbers[4] = true ! t.col_numbers[6] = true ! ! --{ "name"[data], "methods_n", "classInfo", "class_tag", "baseclassName"[data], "enums_n"[data] } ! for i = 1, #tbl do ! local item = { ! tbl[i].name, ! tbl[i].methods_n, ! GetClassInfoStr(tbl[i].classInfo), ! tbl[i].class_tag, ! tbl[i].baseclassName or "", ! tbl[i].enums_n, ! ["col_icons"] = {}, ! ["data"] = {} ! } ! ! -- This class has methods and can be expanded ! if (type(tbl[i].methods) == "table") then ! item.icon = list_images.folder ! item.data[1] = tbl[i].methods ! end ! ! -- This class has a baseclass and can be expanded ! if (type(tbl[i].baseclass) == "userdata") then ! item.col_icons[5] = list_images.folder ! item.data[5] = tbl[i].baseclass end + + -- This class has enums and can be expanded + if (type(tbl[i].enums) == "table") then + item.col_icons[6] = list_images.folder + item.data[6] = tbl[i].enums + end + + -- some sanity checks to make sure the bindings are working + if (tbl[i].methods_n > 0) and (type(tbl[i].methods) ~= "table") then + print(tbl[i].name, "is missing methods table") + end + if (tbl[i].baseclassName) and (type(tbl[i].baseclass) ~= "userdata") then + print(tbl[i].name, "is missing baseclass userdata") + end + if (tbl[i].enums_n > 0) and (type(tbl[i].enums) ~= "table") then + print(tbl[i].name, "is missing enums table") + end + + + table.insert(t, item) end return t end *************** *** 439,483 **** -- ---------------------------------------------------------------------------- function CreatewxLuaBindMethod(tbl, classname) ! local keys = { "name", "type", "funcs", "funcs_n", "basemethod" } ! local t = CreatewxLuaBindTable(tbl, keys, "wxLuaBindMethod") ! -- we add in the cfuncs here so we don't have to click so much ! t.col_labels = { "name", "type", "funcs", "funcs_n", "basemethod", "minargs", "maxargs", "argtag_names", "argtags" } ! local i = 1 -- starts at 2 ! while (i < #t) do ! i = i + 1 ! if classname then ! t[i][1] = classname.."::"..t[i][1] end ! t[i][2] = CreatewxLuaMethod_TypeString(t[i][2]) -- Add in the CFuncs ! if (type(t[i][3]) == "table") then ! t[i].color = wx.wxBLUE ! t[i][6] = "" ! t[i][7] = "" ! t[i][8] = "" ! t[i][9] = "" ! ! -- keys for CFunc = { "func", "type", "minargs", "maxargs", "argtag_names", "argtags" } ! local cfunc_t = CreatewxLuaBindCFunc(t[i][3]) ! for j = 2, #cfunc_t do ! local cft = {t[i][1].." "..j-1, cfunc_t[j][2], cfunc_t[j][1], "", "", cfunc_t[j][3], cfunc_t[j][4], cfunc_t[j][5], cfunc_t[j][6]} ! if string.find(cfunc_t[j][2], "Overload", 1, 1) then cft.color = wx.wxGREEN end ! table.insert(t, i+j-1, cft) ! end ! i = i + #cfunc_t - 1 -- skip over the newly added items end end - -- these columns are expandable - t.col_icons = {} - t.col_icons[3] = img_folder - t.col_icons[5] = img_folder return t end --- 486,546 ---- -- ---------------------------------------------------------------------------- function CreatewxLuaBindMethod(tbl, classname) ! local t = { ! {"..", ["icon"] = list_images.folder}, ! ["col_labels"] = { "name", "type", "funcs_n", "basemethod", "minargs", "maxargs", "argtag_names", "argtags" }, ! ["object_type"] = "wxLuaBindMethod" ! } ! -- items in table are ! -- { "name", "type", "funcs", "funcs_n", "basemethod" } ! t.col_numbers = {} ! t.col_numbers[3] = true ! t.col_numbers[5] = true ! t.col_numbers[6] = true ! for i = 1, #tbl do ! local class_name = "" ! if tbl[i].class_name then class_name = tbl[i].class_name.."::" end ! local item = { ! class_name..tbl[i].name, ! CreatewxLuaMethod_TypeString(tbl[i].type), ! tbl[i].funcs_n, ! "", ! "", ! "", ! "", ! "", ! ["icon"] = list_images.folder, ! ["col_icons"] = {}, ! ["data"] = {} ! } ! ! if tbl[i].classname then ! item[1] = tbl[i].classname.."::"..item[1] end ! -- This method has a basemethod and can be expanded ! if type(tbl[i].basemethod) == "userdata" then ! item[4] = tbl[i].basemethod.class_name ! item.data[4] = tbl[i].basemethod ! item.col_icons[4] = list_images.folder ! end -- Add in the CFuncs ! item.data[1] = tbl[i].funcs ! item.color = wx.wxBLUE ! table.insert(t, item) ! -- keys for CFunc = { "func", "type", "minargs", "maxargs", "argtag_names", "argtags" } ! local cfunc_t = CreatewxLuaBindCFunc(tbl[i].funcs) ! for j = 2, #cfunc_t do ! local cft = {item[1].." func "..j-1, cfunc_t[j][2], "", "", cfunc_t[j][3], cfunc_t[j][4], cfunc_t[j][5], cfunc_t[j][6]} ! if string.find(cfunc_t[j][2], "Overload", 1, 1) then cft.color = wx.wxGREEN end ! table.insert(t, cft) end end return t end *************** *** 552,555 **** --- 615,621 ---- t.col_labels[6] ="argtags" + t.col_numbers = {} + t.col_numbers[3] = true + t.col_numbers[4] = true -- we don't want to show the table, just show the values *************** *** 570,574 **** function CreatewxLuaBindTable(tbl, cols, object_type) local t = { ! {"..", ["icon"] = img_folder}, ["col_labels"] = cols, ["object_type"] = object_type --- 636,640 ---- function CreatewxLuaBindTable(tbl, cols, object_type) local t = { ! {"..", ["icon"] = list_images.folder}, ["col_labels"] = cols, ["object_type"] = object_type *************** *** 599,610 **** -- ---------------------------------------------------------------------------- - -- Handle the wxEVT_COMMAND_LIST_COL_CLICK event when the mouse is clicked - -- ---------------------------------------------------------------------------- - function OnListColClicked(event) - local col = event:GetColumn() - SortListItems(col) - end - - -- ---------------------------------------------------------------------------- -- Sort items in the listctrl based on the column (0 based) and also the data table -- ---------------------------------------------------------------------------- --- 665,668 ---- *************** *** 612,621 **** local data = listData[list_level] ! if not data.col_sorted then ! data.col_sorted = {} end - local sorted = data.col_sorted[col+1] or false - local function SortListItems(item1, item2, col) local data1 = data[item1] --- 670,678 ---- local data = listData[list_level] ! local sorted = false ! if data.col_sorted and data.col_sorted[col+1] then ! sorted = data.col_sorted[col+1] == list_images.sort_dn end local function SortListItems(item1, item2, col) local data1 = data[item1] *************** *** 632,638 **** i1 = data1[3] i2 = data2[3] ! elseif ((data.object_type == "wxLuaBindClass") and ((col == 3) or (col == 5) or (col == 9))) or ! ((data.object_type == "wxLuaBindMethod") and ((col == 4) or (col == 6) or (col == 7))) or ! ((data.object_type == "wxLuaBindCFunc") and ((col == 3) or (col == 4))) then -- sort on the real numbers, but treat "" as lower if (i1 == "") and (i2 == "") then --- 689,693 ---- i1 = data1[3] i2 = data2[3] ! elseif data.col_numbers[col] then -- sort on the real numbers, but treat "" as lower if (i1 == "") and (i2 == "") then *************** *** 663,667 **** listCtrl:SortItems(SortListItems, col+1) ! data.col_sorted[col+1] = (not sorted) -- now make the table of data match what's in the listctrl so when you --- 718,727 ---- listCtrl:SortItems(SortListItems, col+1) ! data.col_sorted = {} -- we only remember the last col sorted ! if not sorted then ! data.col_sorted[col+1] = list_images.sort_dn ! else ! data.col_sorted[col+1] = list_images.sort_up ! end -- now make the table of data match what's in the listctrl so when you *************** *** 685,691 **** listCtrl:SetColumnImage(c-1, -1) elseif not sorted then ! listCtrl:SetColumnImage(col, img_sort_dn) else ! listCtrl:SetColumnImage(col, img_sort_up) end end --- 745,751 ---- listCtrl:SetColumnImage(c-1, -1) elseif not sorted then ! listCtrl:SetColumnImage(col, list_images.sort_dn) else ! listCtrl:SetColumnImage(col, list_images.sort_up) end end *************** *** 701,704 **** --- 761,766 ---- local itemText = listCtrl:GetItemText(index) + local data = listData[list_level] + -- ----------------------------------------------------------------------- -- Find what column we're in *************** *** 768,781 **** listData[2] = { ! {"..", ["icon"] = img_folder}, {"GetBindingName", tostring(binding.GetBindingName)}, {"GetLuaNamespace", tostring(binding.GetLuaNamespace)}, ! {"GetClassArray", "GetClassCount : "..tostring(binding.GetClassCount), ["icon"] = img_folder}, ! {"GetFunctionArray", "GetFunctionCount : "..tostring(binding.GetFunctionCount), ["icon"] = img_folder}, ! {"GetDefineArray", "GetDefineCount : "..tostring(binding.GetDefineCount), ["icon"] = img_folder}, ! {"GetStringArray", "GetStringCount : "..tostring(binding.GetStringCount), ["icon"] = img_folder}, ! {"GetEventArray", "GetEventCount : "..tostring(binding.GetEventCount), ["icon"] = img_folder}, ! {"GetObjectArray", "GetObjectCount : "..tostring(binding.GetObjectCount), ["icon"] = img_folder}, ["col_labels"] = {"Function Name", "Value"}, --- 830,843 ---- listData[2] = { ! {"..", ["icon"] = list_images.folder}, {"GetBindingName", tostring(binding.GetBindingName)}, {"GetLuaNamespace", tostring(binding.GetLuaNamespace)}, ! {"GetClassArray", "GetClassCount : "..tostring(binding.GetClassCount), ["icon"] = list_images.folder}, ! {"GetFunctionArray", "GetFunctionCount : "..tostring(binding.GetFunctionCount), ["icon"] = list_images.folder}, ! {"GetDefineArray", "GetDefineCount : "..tostring(binding.GetDefineCount), ["icon"] = list_images.folder}, ! {"GetStringArray", "GetStringCount : "..tostring(binding.GetStringCount), ["icon"] = list_images.folder}, ! {"GetEventArray", "GetEventCount : "..tostring(binding.GetEventCount), ["icon"] = list_images.folder}, ! {"GetObjectArray", "GetObjectCount : "..tostring(binding.GetObjectCount), ["icon"] = list_images.folder}, ["col_labels"] = {"Function Name", "Value"}, *************** *** 814,822 **** local t = nil ! if ((col == 0) or (col == 1)) and (type(listData[list_level][data_index][2]) == "table") then ! t = CreatewxLuaBindMethod(listData[list_level][data_index][2], listData[list_level][data_index][1]) if frame:GetMenuBar():IsChecked(ID_VIEW_BASECLASS_FUNCTIONS) then ! local c = listData[list_level][data_index][7] while type(c) == "userdata" do local tt = CreatewxLuaBindMethod(c.methods, c.name) --- 876,884 ---- local t = nil ! if (col == 0) and (type(data[data_index].data[1]) == "table") then ! t = CreatewxLuaBindMethod(data[data_index].data[1], data[data_index][1]) if frame:GetMenuBar():IsChecked(ID_VIEW_BASECLASS_FUNCTIONS) then ! local c = data[data_index][5] while type(c) == "userdata" do local tt = CreatewxLuaBindMethod(c.methods, c.name) *************** *** 831,838 **** end end ! elseif (col == 6) and (type(listData[list_level][data_index][col+1]) == "userdata") then ! t = CreatewxLuaBindClass({listData[list_level][data_index][col+1]}) ! elseif (col == 7) and (type(listData[list_level][data_index][col+1]) == "table") then ! t = CreatewxLuaBindDefine(listData[list_level][data_index][col+1]) end --- 893,900 ---- end end ! elseif (col == 4) and (type(data[data_index].data[col+1]) == "userdata") then ! t = CreatewxLuaBindClass({data[data_index].data[col+1]}) ! elseif (col == 5) and (type(data[data_index].data[col+1]) == "table") then ! t = CreatewxLuaBindDefine(data[data_index].data[col+1]) end *************** *** 847,856 **** local t = nil ! if ((col == 0) or (col == 2)) and (type(listData[list_level][data_index][3]) == "table") then ! t = CreatewxLuaBindCFunc(listData[list_level][data_index][3]) ! t.class_name = listData[list_level].class_name ! elseif (col == 4) and (type(listData[list_level][data_index][col+1]) == "userdata") then ! t = CreatewxLuaBindMethod({listData[list_level][data_index][col+1]}) ! t.class_name = listData[list_level][data_index][col+1].class_name end --- 909,918 ---- local t = nil ! if (col == 0) and (type(data[data_index].data[col+1]) == "table") then ! t = CreatewxLuaBindCFunc(data[data_index].data[col+1]) ! t.class_name = data.class_name ! elseif (col == 3) and (type(data[data_index].data[col+1]) == "userdata") then ! t = CreatewxLuaBindMethod({data[data_index].data[col+1]}) ! t.class_name = data[data_index][col+1].class_name end *************** *** 871,875 **** function CreatewxLuaTypeTable() local t = { ! {"..", ["icon"] = img_folder}, ["col_labels"] = {"wxLua Type"}, ["object_type"] = "wxLua Types" --- 933,937 ---- function CreatewxLuaTypeTable() local t = { ! {"..", ["icon"] = list_images.folder}, ["col_labels"] = {"wxLua Type"}, ["object_type"] = "wxLua Types" *************** *** 929,933 **** function CreateAllClassesTable() local t = { ! {"..", ["icon"] = img_folder}, ["col_labels"] = {"wxLua Class Name (1st line) / wxClassInfo Name (2nd line)"}, ["object_type"] = "All wxLua Classes" --- 991,995 ---- function CreateAllClassesTable() local t = { ! {"..", ["icon"] = list_images.folder}, ["col_labels"] = {"wxLua Class Name (1st line) / wxClassInfo Name (2nd line)"}, ["object_type"] = "All wxLua Classes" *************** *** 936,956 **** local max_cols = 1 ! local function GetClassInfoStr(ci) ! local s = "" ! if type(ci) == "userdata" then ! s = s.." - "..ci:GetClassName() ! local b1 = ci:GetBaseClassName1() ! local b2 = ci:GetBaseClassName2() ! ! if (string.len(b1) > 0) then ! s = s.." ("..b1..")" ! end ! if (string.len(b2) > 0) then ! s = s.."("..b2..")" ! end ! end ! return s ! end ! local unwrappedBaseClasses = { ["wxDCBase"] = 1, --- 998,1002 ---- local max_cols = 1 ! -- These are classes that wxLua doesn't wrap since they're not necessary local unwrappedBaseClasses = { ["wxDCBase"] = 1, *************** *** 964,967 **** --- 1010,1014 ---- } + -- These are classes that wxLua has, but don't have wxClassInfo local wxwidgetsNoClassInfo = { ["wxBookCtrlBaseEvent"] = "wxNotifyEvent", *************** *** 978,989 **** end ! local t1 = binding.GetClassArray ! for i = 1, #t1 do -- this string is to force the wxLua classname and the wxClassInfo names -- to be together and the first char is to keep bindings together local a = string.format("%s%03d. ", string.char(string.byte('a')+b-1), i) ! local c = t1[i] local c_table = {["color"] = wx.wxBLUE} --- 1025,1036 ---- end ! local classTable = binding.GetClassArray ! for i = 1, #classTable do -- this string is to force the wxLua classname and the wxClassInfo names -- to be together and the first char is to keep bindings together local a = string.format("%s%03d. ", string.char(string.byte('a')+b-1), i) ! local c = classTable[i] local c_table = {["color"] = wx.wxBLUE} *************** *** 1065,1069 **** function CreateOverloadedBasecassFunctionsTable() local t = { ! {"..", ["icon"] = img_folder}, ["col_labels"] = {"Class Name", "Function Name", "Args"}, ["object_type"] = "Overloaded Baseclass Functions" --- 1112,1116 ---- function CreateOverloadedBasecassFunctionsTable() local t = { ! {"..", ["icon"] = list_images.folder}, ["col_labels"] = {"Class Name", "Function Name", "Args"}, ["object_type"] = "Overloaded Baseclass Functions" *************** *** 1078,1088 **** end ! local t1 = binding.GetClassArray ! for i = 1, #t1 do ! local methods = t1[i].methods -- some classes don't have methods, wxBestHelpController for example ! for j = 1, t1[i].methods_n do local m = methods[j] local m_table = {m.class_name, m.name} --- 1125,1135 ---- end ! local classTable = binding.GetClassArray ! for i = 1, #classTable do ! local methods = classTable[i].methods -- some classes don't have methods, wxBestHelpController for example ! for j = 1, classTable[i].methods_n do local m = methods[j] local m_table = {m.class_name, m.name} *************** *** 1214,1225 **** listCtrl:Connect(wx.wxEVT_COMMAND_LIST_ITEM_ACTIVATED, OnListItemActivated) ! listCtrl:Connect(wx.wxEVT_COMMAND_LIST_COL_CLICK, OnListColClicked) list_level = 1 listData[1] = { ! {"wxLua Types", "Compare Lua's type to wxLua's type", ["icon"] = img_folder }, ! {"All wxLua Classes", "Classes and their base classes (red may not indicate error)", ["icon"] = img_folder }, ! {"All wxWidgets wxClassInfo", "All wxObjects having wxClassInfo and their base classes", ["icon"] = img_folder }, ! {"Overloaded Baseclass Functions", "See all functions that also have a baseclass function", ["icon"] = img_folder }, ["col_labels"] = { "Item to View", "Information"}, --- 1261,1276 ---- listCtrl:Connect(wx.wxEVT_COMMAND_LIST_ITEM_ACTIVATED, OnListItemActivated) ! listCtrl:Connect(wx.wxEVT_COMMAND_LIST_COL_CLICK, ! function (event) ! local col = event:GetColumn() ! SortListItems(col) ! end) list_level = 1 listData[1] = { ! {"wxLua Types", "Compare Lua's type to wxLua's type", ["icon"] = list_images.folder }, ! {"All wxLua Classes", "Classes and their base classes (red may not indicate error)", ["icon"] = list_images.folder }, ! {"All wxWidgets wxClassInfo", "All wxObjects having wxClassInfo and their base classes", ["icon"] = list_images.folder }, ! {"Overloaded Baseclass Functions", "See all functions that also have a baseclass function", ["icon"] = list_images.folder }, ["col_labels"] = { "Item to View", "Information"}, *************** *** 1228,1234 **** ! -- Add the binding that are installed {"wxLuaBinding_wx", "wx", ["icon"] = img_folder }, for i = 1, #bindingList do ! table.insert(listData[1], {bindingList[i][2], bindingList[i][1], ["icon"] = img_folder }) end --- 1279,1285 ---- ! -- Add the binding that are installed {"wxLuaBinding_wx", "wx", ["icon"] = list_images.folder }, for i = 1, #bindingList do ! table.insert(listData[1], {bindingList[i][2], bindingList[i][1], ["icon"] = list_images.folder }) end |
Update of /cvsroot/wxlua/wxLua/modules/wxbind/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv16698/wxLua/modules/wxbind/src Modified Files: appframe.cpp clipdrag.cpp config.cpp controls.cpp data.cpp datetime.cpp defsutil.cpp dialogs.cpp event.cpp file.cpp gdi.cpp geometry.cpp grid.cpp help.cpp html.cpp image.cpp mdi.cpp menutool.cpp print.cpp regex.cpp sizer.cpp socket.cpp wave.cpp windows.cpp wx_bind.cpp wxlua.cpp xml.cpp 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: xml.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxbind/src/xml.cpp,v retrieving revision 1.38 retrieving revision 1.39 diff -C2 -d -r1.38 -r1.39 *** xml.cpp 14 Jun 2007 01:23:19 -0000 1.38 --- xml.cpp 14 Jun 2007 23:59:47 -0000 1.39 *************** *** 101,105 **** wxXmlNode * self = (wxXmlNode *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlNode); // call DeleteProperty ! returns = self->DeleteProperty(name); // push the result flag lua_pushboolean(L, returns); --- 101,105 ---- wxXmlNode * self = (wxXmlNode *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlNode); // call DeleteProperty ! returns = (self->DeleteProperty(name)); // push the result flag lua_pushboolean(L, returns); *************** *** 137,141 **** wxXmlNode * self = (wxXmlNode *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlNode); // call GetContent ! returns = self->GetContent(); // push the result string wxlState.lua_PushString(returns); --- 137,141 ---- wxXmlNode * self = (wxXmlNode *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlNode); // call GetContent ! returns = (self->GetContent()); // push the result string wxlState.lua_PushString(returns); *************** *** 155,159 **** wxXmlNode * self = (wxXmlNode *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlNode); // call GetName ! returns = self->GetName(); // push the result string wxlState.lua_PushString(returns); --- 155,159 ---- wxXmlNode * self = (wxXmlNode *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlNode); // call GetName ! returns = (self->GetName()); // push the result string wxlState.lua_PushString(returns); *************** *** 213,217 **** wxXmlNode * self = (wxXmlNode *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlNode); // call GetPropVal ! returns = self->GetPropVal(propName, defaultVal); // push the result string wxlState.lua_PushString(returns); --- 213,217 ---- wxXmlNode * self = (wxXmlNode *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlNode); // call GetPropVal ! returns = (self->GetPropVal(propName, defaultVal)); // push the result string wxlState.lua_PushString(returns); *************** *** 276,280 **** wxXmlNode * self = (wxXmlNode *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlNode); // call GetType ! returns = self->GetType(); // push the result number lua_pushnumber(L, returns); --- 276,280 ---- wxXmlNode * self = (wxXmlNode *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlNode); // call GetType ! returns = (self->GetType()); // push the result number lua_pushnumber(L, returns); *************** *** 296,300 **** wxXmlNode * self = (wxXmlNode *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlNode); // call HasProp ! returns = self->HasProp(propName); // push the result flag lua_pushboolean(L, returns); --- 296,300 ---- wxXmlNode * self = (wxXmlNode *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlNode); // call HasProp ! returns = (self->HasProp(propName)); // push the result flag lua_pushboolean(L, returns); *************** *** 335,339 **** wxXmlNode * self = (wxXmlNode *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlNode); // call RemoveChild ! returns = self->RemoveChild(child); // push the result flag lua_pushboolean(L, returns); --- 335,339 ---- wxXmlNode * self = (wxXmlNode *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlNode); // call RemoveChild ! returns = (self->RemoveChild(child)); // push the result flag lua_pushboolean(L, returns); *************** *** 675,679 **** wxXmlProperty * self = (wxXmlProperty *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlProperty); // call GetName ! returns = self->GetName(); // push the result string wxlState.lua_PushString(returns); --- 675,679 ---- wxXmlProperty * self = (wxXmlProperty *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlProperty); // call GetName ! returns = (self->GetName()); // push the result string wxlState.lua_PushString(returns); *************** *** 711,715 **** wxXmlProperty * self = (wxXmlProperty *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlProperty); // call GetValue ! returns = self->GetValue(); // push the result string wxlState.lua_PushString(returns); --- 711,715 ---- wxXmlProperty * self = (wxXmlProperty *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlProperty); // call GetValue ! returns = (self->GetValue()); // push the result string wxlState.lua_PushString(returns); *************** *** 892,896 **** wxXmlDocument * self = (wxXmlDocument *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlDocument); // call GetFileEncoding ! returns = self->GetFileEncoding(); // push the result string wxlState.lua_PushString(returns); --- 892,896 ---- wxXmlDocument * self = (wxXmlDocument *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlDocument); // call GetFileEncoding ! returns = (self->GetFileEncoding()); // push the result string wxlState.lua_PushString(returns); *************** *** 928,932 **** wxXmlDocument * self = (wxXmlDocument *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlDocument); // call GetVersion ! returns = self->GetVersion(); // push the result string wxlState.lua_PushString(returns); --- 928,932 ---- wxXmlDocument * self = (wxXmlDocument *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlDocument); // call GetVersion ! returns = (self->GetVersion()); // push the result string wxlState.lua_PushString(returns); *************** *** 946,950 **** wxXmlDocument * self = (wxXmlDocument *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlDocument); // call IsOk ! returns = self->IsOk(); // push the result flag lua_pushboolean(L, returns); --- 946,950 ---- wxXmlDocument * self = (wxXmlDocument *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlDocument); // call IsOk ! returns = (self->IsOk()); // push the result flag lua_pushboolean(L, returns); *************** *** 970,974 **** wxXmlDocument * self = (wxXmlDocument *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlDocument); // call Load ! returns = self->Load(filename, encoding); // push the result flag lua_pushboolean(L, returns); --- 970,974 ---- wxXmlDocument * self = (wxXmlDocument *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlDocument); // call Load ! returns = (self->Load(filename, encoding)); // push the result flag lua_pushboolean(L, returns); *************** *** 990,994 **** wxXmlDocument * self = (wxXmlDocument *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlDocument); // call Save ! returns = self->Save(filename); // push the result flag lua_pushboolean(L, returns); --- 990,994 ---- wxXmlDocument * self = (wxXmlDocument *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlDocument); // call Save ! returns = (self->Save(filename)); // push the result flag lua_pushboolean(L, returns); *************** *** 1182,1186 **** wxXmlResource * self = (wxXmlResource *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlResource); // call AttachUnknownControl ! returns = self->AttachUnknownControl(name, control, parent); // push the result flag lua_pushboolean(L, returns); --- 1182,1186 ---- wxXmlResource * self = (wxXmlResource *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlResource); // call AttachUnknownControl ! returns = (self->AttachUnknownControl(name, control, parent)); // push the result flag lua_pushboolean(L, returns); *************** *** 1223,1227 **** wxXmlResource * self = (wxXmlResource *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlResource); // call CompareVersion ! returns = self->CompareVersion(major, minor, release, revision); // push the result number lua_pushnumber(L, returns); --- 1223,1227 ---- wxXmlResource * self = (wxXmlResource *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlResource); // call CompareVersion ! returns = (self->CompareVersion(major, minor, release, revision)); // push the result number lua_pushnumber(L, returns); *************** *** 1324,1328 **** wxXmlResource * self = (wxXmlResource *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlResource); // call GetFlags ! returns = self->GetFlags(); // push the result number lua_pushnumber(L, returns); --- 1324,1328 ---- wxXmlResource * self = (wxXmlResource *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlResource); // call GetFlags ! returns = (self->GetFlags()); // push the result number lua_pushnumber(L, returns); *************** *** 1342,1346 **** wxXmlResource * self = (wxXmlResource *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlResource); // call GetVersion ! returns = self->GetVersion(); // push the result number lua_pushnumber(L, returns); --- 1342,1346 ---- wxXmlResource * self = (wxXmlResource *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlResource); // call GetVersion ! returns = (self->GetVersion()); // push the result number lua_pushnumber(L, returns); *************** *** 1397,1401 **** wxXmlResource * self = (wxXmlResource *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlResource); // call Load ! returns = self->Load(filemask); // push the result flag lua_pushboolean(L, returns); --- 1397,1401 ---- wxXmlResource * self = (wxXmlResource *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlResource); // call Load ! returns = (self->Load(filemask)); // push the result flag lua_pushboolean(L, returns); *************** *** 1449,1453 **** wxXmlResource * self = (wxXmlResource *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlResource); // call LoadDialog ! returns = self->LoadDialog(dlg, parent, name); // push the result flag lua_pushboolean(L, returns); --- 1449,1453 ---- wxXmlResource * self = (wxXmlResource *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlResource); // call LoadDialog ! returns = (self->LoadDialog(dlg, parent, name)); // push the result flag lua_pushboolean(L, returns); *************** *** 1498,1502 **** wxXmlResource * self = (wxXmlResource *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlResource); // call LoadFrame ! returns = self->LoadFrame(frame, parent, name); // push the result flag lua_pushboolean(L, returns); --- 1498,1502 ---- wxXmlResource * self = (wxXmlResource *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlResource); // call LoadFrame ! returns = (self->LoadFrame(frame, parent, name)); // push the result flag lua_pushboolean(L, returns); *************** *** 1615,1619 **** wxXmlResource * self = (wxXmlResource *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlResource); // call LoadPanel ! returns = self->LoadPanel(panel, parent, name); // push the result flag lua_pushboolean(L, returns); --- 1615,1619 ---- wxXmlResource * self = (wxXmlResource *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlResource); // call LoadPanel ! returns = (self->LoadPanel(panel, parent, name)); // push the result flag lua_pushboolean(L, returns); *************** *** 1720,1724 **** wxXmlResource * self = (wxXmlResource *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlResource); // call Unload ! returns = self->Unload(filename); // push the result flag lua_pushboolean(L, returns); --- 1720,1724 ---- wxXmlResource * self = (wxXmlResource *)wxlState.GetUserDataType(1, s_wxluatag_wxXmlResource); // call Unload ! returns = (self->Unload(filename)); // push the result flag lua_pushboolean(L, returns); Index: defsutil.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxbind/src/defsutil.cpp,v retrieving revision 1.40 retrieving revision 1.41 diff -C2 -d -r1.40 -r1.41 *** defsutil.cpp 14 Jun 2007 01:23:13 -0000 1.40 --- defsutil.cpp 14 Jun 2007 23:59:43 -0000 1.41 *************** *** 78,82 **** int pid = (int)wxlua_getnumbertype(L, 1); // call Exists ! returns = wxProcess::Exists(pid); // push the result flag lua_pushboolean(L, returns); --- 78,82 ---- int pid = (int)wxlua_getnumbertype(L, 1); // call Exists ! returns = (wxProcess::Exists(pid)); // push the result flag lua_pushboolean(L, returns); *************** *** 155,159 **** wxProcess * self = (wxProcess *)wxlState.GetUserDataType(1, s_wxluatag_wxProcess); // call IsErrorAvailable ! returns = self->IsErrorAvailable(); // push the result flag lua_pushboolean(L, returns); --- 155,159 ---- wxProcess * self = (wxProcess *)wxlState.GetUserDataType(1, s_wxluatag_wxProcess); // call IsErrorAvailable ! returns = (self->IsErrorAvailable()); // push the result flag lua_pushboolean(L, returns); *************** *** 173,177 **** wxProcess * self = (wxProcess *)wxlState.GetUserDataType(1, s_wxluatag_wxProcess); // call IsInputAvailable ! returns = self->IsInputAvailable(); // push the result flag lua_pushboolean(L, returns); --- 173,177 ---- wxProcess * self = (wxProcess *)wxlState.GetUserDataType(1, s_wxluatag_wxProcess); // call IsInputAvailable ! returns = (self->IsInputAvailable()); // push the result flag lua_pushboolean(L, returns); *************** *** 191,195 **** wxProcess * self = (wxProcess *)wxlState.GetUserDataType(1, s_wxluatag_wxProcess); // call IsInputOpened ! returns = self->IsInputOpened(); // push the result flag lua_pushboolean(L, returns); --- 191,195 ---- wxProcess * self = (wxProcess *)wxlState.GetUserDataType(1, s_wxluatag_wxProcess); // call IsInputOpened ! returns = (self->IsInputOpened()); // push the result flag lua_pushboolean(L, returns); *************** *** 211,215 **** wxProcess * self = (wxProcess *)wxlState.GetUserDataType(1, s_wxluatag_wxProcess); // call IsRedirected ! returns = self->IsRedirected(); // push the result flag lua_pushboolean(L, returns); --- 211,215 ---- wxProcess * self = (wxProcess *)wxlState.GetUserDataType(1, s_wxluatag_wxProcess); // call IsRedirected ! returns = (self->IsRedirected()); // push the result flag lua_pushboolean(L, returns); *************** *** 234,238 **** int pid = (int)wxlua_getnumbertype(L, 1); // call Kill ! returns = wxProcess::Kill(pid, sig, flags); // push the result number lua_pushnumber(L, returns); --- 234,238 ---- int pid = (int)wxlua_getnumbertype(L, 1); // call Kill ! returns = (wxProcess::Kill(pid, sig, flags)); // push the result number lua_pushnumber(L, returns); *************** *** 407,411 **** wxMouseState * self = (wxMouseState *)wxlState.GetUserDataType(1, s_wxluatag_wxMouseState); // call AltDown ! returns = self->AltDown(); // push the result flag lua_pushboolean(L, returns); --- 407,411 ---- wxMouseState * self = (wxMouseState *)wxlState.GetUserDataType(1, s_wxluatag_wxMouseState); // call AltDown ! returns = (self->AltDown()); // push the result flag lua_pushboolean(L, returns); *************** *** 425,429 **** wxMouseState * self = (wxMouseState *)wxlState.GetUserDataType(1, s_wxluatag_wxMouseState); // call CmdDown ! returns = self->CmdDown(); // push the result flag lua_pushboolean(L, returns); --- 425,429 ---- wxMouseState * self = (wxMouseState *)wxlState.GetUserDataType(1, s_wxluatag_wxMouseState); // call CmdDown ! returns = (self->CmdDown()); // push the result flag lua_pushboolean(L, returns); *************** *** 443,447 **** wxMouseState * self = (wxMouseState *)wxlState.GetUserDataType(1, s_wxluatag_wxMouseState); // call ControlDown ! returns = self->ControlDown(); // push the result flag lua_pushboolean(L, returns); --- 443,447 ---- wxMouseState * self = (wxMouseState *)wxlState.GetUserDataType(1, s_wxluatag_wxMouseState); // call ControlDown ! returns = (self->ControlDown()); // push the result flag lua_pushboolean(L, returns); *************** *** 461,465 **** wxMouseState * self = (wxMouseState *)wxlState.GetUserDataType(1, s_wxluatag_wxMouseState); // call GetX ! returns = self->GetX(); // push the result number lua_pushnumber(L, returns); --- 461,465 ---- wxMouseState * self = (wxMouseState *)wxlState.GetUserDataType(1, s_wxluatag_wxMouseState); // call GetX ! returns = (self->GetX()); // push the result number lua_pushnumber(L, returns); *************** *** 479,483 **** wxMouseState * self = (wxMouseState *)wxlState.GetUserDataType(1, s_wxluatag_wxMouseState); // call GetY ! returns = self->GetY(); // push the result number lua_pushnumber(L, returns); --- 479,483 ---- wxMouseState * self = (wxMouseState *)wxlState.GetUserDataType(1, s_wxluatag_wxMouseState); // call GetY ! returns = (self->GetY()); // push the result number lua_pushnumber(L, returns); *************** *** 497,501 **** wxMouseState * self = (wxMouseState *)wxlState.GetUserDataType(1, s_wxluatag_wxMouseState); // call LeftDown ! returns = self->LeftDown(); // push the result flag lua_pushboolean(L, returns); --- 497,501 ---- wxMouseState * self = (wxMouseState *)wxlState.GetUserDataType(1, s_wxluatag_wxMouseState); // call LeftDown ! returns = (self->LeftDown()); // push the result flag lua_pushboolean(L, returns); *************** *** 515,519 **** wxMouseState * self = (wxMouseState *)wxlState.GetUserDataType(1, s_wxluatag_wxMouseState); // call MetaDown ! returns = self->MetaDown(); // push the result flag lua_pushboolean(L, returns); --- 515,519 ---- wxMouseState * self = (wxMouseState *)wxlState.GetUserDataType(1, s_wxluatag_wxMouseState); // call MetaDown ! returns = (self->MetaDown()); // push the result flag lua_pushboolean(L, returns); *************** *** 533,537 **** wxMouseState * self = (wxMouseState *)wxlState.GetUserDataType(1, s_wxluatag_wxMouseState); // call MiddleDown ! returns = self->MiddleDown(); // push the result flag lua_pushboolean(L, returns); --- 533,537 ---- wxMouseState * self = (wxMouseState *)wxlState.GetUserDataType(1, s_wxluatag_wxMouseState); // call MiddleDown ! returns = (self->MiddleDown()); // push the result flag lua_pushboolean(L, returns); *************** *** 551,555 **** wxMouseState * self = (wxMouseState *)wxlState.GetUserDataType(1, s_wxluatag_wxMouseState); // call RightDown ! returns = self->RightDown(); // push the result flag lua_pushboolean(L, returns); --- 551,555 ---- wxMouseState * self = (wxMouseState *)wxlState.GetUserDataType(1, s_wxluatag_wxMouseState); // call RightDown ! returns = (self->RightDown()); // push the result flag lua_pushboolean(L, returns); *************** *** 722,726 **** wxMouseState * self = (wxMouseState *)wxlState.GetUserDataType(1, s_wxluatag_wxMouseState); // call ShiftDown ! returns = self->ShiftDown(); // push the result flag lua_pushboolean(L, returns); --- 722,726 ---- wxMouseState * self = (wxMouseState *)wxlState.GetUserDataType(1, s_wxluatag_wxMouseState); // call ShiftDown ! returns = (self->ShiftDown()); // push the result flag lua_pushboolean(L, returns); Index: wxlua.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxbind/src/wxlua.cpp,v retrieving revision 1.43 retrieving revision 1.44 diff -C2 -d -r1.43 -r1.44 *** wxlua.cpp 14 Jun 2007 01:23:18 -0000 1.43 --- wxlua.cpp 14 Jun 2007 23:59:47 -0000 1.44 *************** *** 91,95 **** wxLuaPrintout * self = (wxLuaPrintout *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaPrintout); // call TestVirtualFunctionBinding ! returns = self->TestVirtualFunctionBinding(val); // push the result string wxlState.lua_PushString(returns); --- 91,95 ---- wxLuaPrintout * self = (wxLuaPrintout *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaPrintout); // call TestVirtualFunctionBinding ! returns = (self->TestVirtualFunctionBinding(val)); // push the result string wxlState.lua_PushString(returns); *************** *** 281,285 **** wxLuaHtmlWinTagEvent * self = (wxLuaHtmlWinTagEvent *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaHtmlWinTagEvent); // call GetParseInnerCalled ! returns = self->GetParseInnerCalled(); // push the result flag lua_pushboolean(L, returns); --- 281,285 ---- wxLuaHtmlWinTagEvent * self = (wxLuaHtmlWinTagEvent *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaHtmlWinTagEvent); // call GetParseInnerCalled ! returns = (self->GetParseInnerCalled()); // push the result flag lua_pushboolean(L, returns); *************** *** 364,368 **** wxLuaTreeItemData * self = (wxLuaTreeItemData *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaTreeItemData); // call GetValue ! returns = self->GetValue(); // push the result number lua_pushnumber(L, returns); --- 364,368 ---- wxLuaTreeItemData * self = (wxLuaTreeItemData *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaTreeItemData); // call GetValue ! returns = (self->GetValue()); // push the result number lua_pushnumber(L, returns); Index: image.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxbind/src/image.cpp,v retrieving revision 1.44 retrieving revision 1.45 diff -C2 -d -r1.44 -r1.45 *** image.cpp 14 Jun 2007 01:23:15 -0000 1.44 --- image.cpp 14 Jun 2007 23:59:45 -0000 1.45 *************** *** 147,151 **** wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call ComputeHistogram ! returns = self->ComputeHistogram(*histogram); // push the result number lua_pushnumber(L, returns); --- 147,151 ---- wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call ComputeHistogram ! returns = (self->ComputeHistogram(*histogram)); // push the result number lua_pushnumber(L, returns); *************** *** 394,398 **** wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call GetAlpha ! returns = self->GetAlpha(x, y); // push the result number lua_pushnumber(L, returns); --- 394,398 ---- wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call GetAlpha ! returns = (self->GetAlpha(x, y)); // push the result number lua_pushnumber(L, returns); *************** *** 416,420 **** wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call GetBlue ! returns = self->GetBlue(x, y); // push the result number lua_pushnumber(L, returns); --- 416,420 ---- wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call GetBlue ! returns = (self->GetBlue(x, y)); // push the result number lua_pushnumber(L, returns); *************** *** 438,442 **** wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call GetGreen ! returns = self->GetGreen(x, y); // push the result number lua_pushnumber(L, returns); --- 438,442 ---- wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call GetGreen ! returns = (self->GetGreen(x, y)); // push the result number lua_pushnumber(L, returns); *************** *** 475,479 **** wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call GetHeight ! returns = self->GetHeight(); // push the result number lua_pushnumber(L, returns); --- 475,479 ---- wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call GetHeight ! returns = (self->GetHeight()); // push the result number lua_pushnumber(L, returns); *************** *** 499,503 **** wxInputStream * stream = (wxInputStream *)wxlState.GetUserDataType(1, s_wxluatag_wxInputStream); // call GetImageCount ! returns = wxImage::GetImageCount(*stream, type); // push the result number lua_pushnumber(L, returns); --- 499,503 ---- wxInputStream * stream = (wxInputStream *)wxlState.GetUserDataType(1, s_wxluatag_wxInputStream); // call GetImageCount ! returns = (wxImage::GetImageCount(*stream, type)); // push the result number lua_pushnumber(L, returns); *************** *** 523,527 **** const wxString filename = wxlState.GetwxStringType(1); // call GetImageCount ! returns = wxImage::GetImageCount(filename, type); // push the result number lua_pushnumber(L, returns); --- 523,527 ---- const wxString filename = wxlState.GetwxStringType(1); // call GetImageCount ! returns = (wxImage::GetImageCount(filename, type)); // push the result number lua_pushnumber(L, returns); *************** *** 538,542 **** wxString returns; // call GetImageExtWildcard ! returns = wxImage::GetImageExtWildcard(); // push the result string wxlState.lua_PushString(returns); --- 538,542 ---- wxString returns; // call GetImageExtWildcard ! returns = (wxImage::GetImageExtWildcard()); // push the result string wxlState.lua_PushString(returns); *************** *** 556,560 **** wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call GetMaskBlue ! returns = self->GetMaskBlue(); // push the result number lua_pushnumber(L, returns); --- 556,560 ---- wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call GetMaskBlue ! returns = (self->GetMaskBlue()); // push the result number lua_pushnumber(L, returns); *************** *** 574,578 **** wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call GetMaskGreen ! returns = self->GetMaskGreen(); // push the result number lua_pushnumber(L, returns); --- 574,578 ---- wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call GetMaskGreen ! returns = (self->GetMaskGreen()); // push the result number lua_pushnumber(L, returns); *************** *** 592,596 **** wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call GetMaskRed ! returns = self->GetMaskRed(); // push the result number lua_pushnumber(L, returns); --- 592,596 ---- wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call GetMaskRed ! returns = (self->GetMaskRed()); // push the result number lua_pushnumber(L, returns); *************** *** 612,616 **** wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call GetOption ! returns = self->GetOption(name); // push the result string wxlState.lua_PushString(returns); --- 612,616 ---- wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call GetOption ! returns = (self->GetOption(name)); // push the result string wxlState.lua_PushString(returns); *************** *** 632,636 **** wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call GetOptionInt ! returns = self->GetOptionInt(name); // push the result number lua_pushnumber(L, returns); --- 632,636 ---- wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call GetOptionInt ! returns = (self->GetOptionInt(name)); // push the result number lua_pushnumber(L, returns); *************** *** 703,707 **** wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call GetRed ! returns = self->GetRed(x, y); // push the result number lua_pushnumber(L, returns); --- 703,707 ---- wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call GetRed ! returns = (self->GetRed(x, y)); // push the result number lua_pushnumber(L, returns); *************** *** 748,752 **** wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call GetWidth ! returns = self->GetWidth(); // push the result number lua_pushnumber(L, returns); --- 748,752 ---- wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call GetWidth ! returns = (self->GetWidth()); // push the result number lua_pushnumber(L, returns); *************** *** 793,797 **** wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call HasAlpha ! returns = self->HasAlpha(); // push the result flag lua_pushboolean(L, returns); --- 793,797 ---- wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call HasAlpha ! returns = (self->HasAlpha()); // push the result flag lua_pushboolean(L, returns); *************** *** 811,815 **** wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call HasMask ! returns = self->HasMask(); // push the result flag lua_pushboolean(L, returns); --- 811,815 ---- wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call HasMask ! returns = (self->HasMask()); // push the result flag lua_pushboolean(L, returns); *************** *** 831,835 **** wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call HasOption ! returns = self->HasOption(name); // push the result number lua_pushnumber(L, returns); --- 831,835 ---- wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call HasOption ! returns = (self->HasOption(name)); // push the result number lua_pushnumber(L, returns); *************** *** 898,902 **** wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call IsTransparent ! returns = self->IsTransparent(x, y, threshold); // push the result flag lua_pushboolean(L, returns); --- 898,902 ---- wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call IsTransparent ! returns = (self->IsTransparent(x, y, threshold)); // push the result flag lua_pushboolean(L, returns); *************** *** 926,930 **** wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call LoadFile ! returns = self->LoadFile(*stream, type, index); // push the result flag lua_pushboolean(L, returns); --- 926,930 ---- wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call LoadFile ! returns = (self->LoadFile(*stream, type, index)); // push the result flag lua_pushboolean(L, returns); *************** *** 950,954 **** wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call LoadFile ! returns = self->LoadFile(name, mimetype); // push the result flag lua_pushboolean(L, returns); --- 950,954 ---- wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call LoadFile ! returns = (self->LoadFile(name, mimetype)); // push the result flag lua_pushboolean(L, returns); *************** *** 974,978 **** wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call LoadFile ! returns = self->LoadFile(name, type); // push the result flag lua_pushboolean(L, returns); --- 974,978 ---- wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call LoadFile ! returns = (self->LoadFile(name, type)); // push the result flag lua_pushboolean(L, returns); *************** *** 1017,1021 **** wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call Ok ! returns = self->Ok(); // push the result flag lua_pushboolean(L, returns); --- 1017,1021 ---- wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call Ok ! returns = (self->Ok()); // push the result flag lua_pushboolean(L, returns); *************** *** 1062,1066 **** const wxString name = wxlState.GetwxStringType(1); // call RemoveHandler ! returns = wxImage::RemoveHandler(name); // push the result flag lua_pushboolean(L, returns); --- 1062,1066 ---- const wxString name = wxlState.GetwxStringType(1); // call RemoveHandler ! returns = (wxImage::RemoveHandler(name)); // push the result flag lua_pushboolean(L, returns); *************** *** 1322,1326 **** wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call SaveFile ! returns = self->SaveFile(name, mimetype); // push the result flag lua_pushboolean(L, returns); --- 1322,1326 ---- wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call SaveFile ! returns = (self->SaveFile(name, mimetype)); // push the result flag lua_pushboolean(L, returns); *************** *** 1344,1348 **** wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call SaveFile ! returns = self->SaveFile(name, type); // push the result flag lua_pushboolean(L, returns); --- 1344,1348 ---- wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call SaveFile ! returns = (self->SaveFile(name, type)); // push the result flag lua_pushboolean(L, returns); *************** *** 1364,1368 **** wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call SaveFile ! returns = self->SaveFile(name); // push the result flag lua_pushboolean(L, returns); --- 1364,1368 ---- wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call SaveFile ! returns = (self->SaveFile(name)); // push the result flag lua_pushboolean(L, returns); *************** *** 1562,1566 **** wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call SetMaskFromImage ! returns = self->SetMaskFromImage(*mask, mr, mg, mb); // push the result flag lua_pushboolean(L, returns); --- 1562,1566 ---- wxImage * self = (wxImage *)wxlState.GetUserDataType(1, s_wxluatag_wxImage); // call SetMaskFromImage ! returns = (self->SetMaskFromImage(*mask, mr, mg, mb)); // push the result flag lua_pushboolean(L, returns); *************** *** 2481,2485 **** wxImageHistogram::iterator * self = (wxImageHistogram::iterator *)wxlState.GetUserDataType(1, s_wxluatag_wxImageHistogram_iterator); // call op_eq ! returns = (*self)==(*other); // push the result flag lua_pushboolean(L, returns); --- 2481,2485 ---- wxImageHistogram::iterator * self = (wxImageHistogram::iterator *)wxlState.GetUserDataType(1, s_wxluatag_wxImageHistogram_iterator); // call op_eq ! returns = ((*self)==(*other)); // push the result flag lua_pushboolean(L, returns); *************** *** 2553,2557 **** unsigned char r = (char)wxlua_getnumbertype(L, 1); // call MakeKey ! returns = wxImageHistogram::MakeKey(r, g, b); // push the result number lua_pushnumber(L, returns); --- 2553,2557 ---- unsigned char r = (char)wxlua_getnumbertype(L, 1); // call MakeKey ! returns = (wxImageHistogram::MakeKey(r, g, b)); // push the result number lua_pushnumber(L, returns); *************** *** 2609,2613 **** wxImageHistogram * self = (wxImageHistogram *)wxlState.GetUserDataType(1, s_wxluatag_wxImageHistogram); // call count ! returns = self->count(key); // push the result number lua_pushnumber(L, returns); --- 2609,2613 ---- wxImageHistogram * self = (wxImageHistogram *)wxlState.GetUserDataType(1, s_wxluatag_wxImageHistogram); // call count ! returns = (self->count(key)); // push the result number lua_pushnumber(L, returns); *************** *** 2627,2631 **** wxImageHistogram * self = (wxImageHistogram *)wxlState.GetUserDataType(1, s_wxluatag_wxImageHistogram); // call empty ! returns = self->empty(); // push the result flag lua_pushboolean(L, returns); --- 2627,2631 ---- wxImageHistogram * self = (wxImageHistogram *)wxlState.GetUserDataType(1, s_wxluatag_wxImageHistogram); // call empty ! returns = (self->empty()); // push the result flag lua_pushboolean(L, returns); *************** *** 2668,2672 **** wxImageHistogram * self = (wxImageHistogram *)wxlState.GetUserDataType(1, s_wxluatag_wxImageHistogram); // call erase ! returns = self->erase(key); // push the result number lua_pushnumber(L, returns); --- 2668,2672 ---- wxImageHistogram * self = (wxImageHistogram *)wxlState.GetUserDataType(1, s_wxluatag_wxImageHistogram); // call erase ! returns = (self->erase(key)); // push the result number lua_pushnumber(L, returns); *************** *** 2709,2713 **** wxImageHistogram * self = (wxImageHistogram *)wxlState.GetUserDataType(1, s_wxluatag_wxImageHistogram); // call size ! returns = self->size(); // push the result number lua_pushnumber(L, returns); --- 2709,2713 ---- wxImageHistogram * self = (wxImageHistogram *)wxlState.GetUserDataType(1, s_wxluatag_wxImageHistogram); // call size ! returns = (self->size()); // push the result number lua_pushnumber(L, returns); *************** *** 2775,2779 **** wxImageHandler * self = (wxImageHandler *)wxlState.GetUserDataType(1, s_wxluatag_wxImageHandler); // call GetExtension ! returns = self->GetExtension(); // push the result string wxlState.lua_PushString(returns); --- 2775,2779 ---- wxImageHandler * self = (wxImageHandler *)wxlState.GetUserDataType(1, s_wxluatag_wxImageHandler); // call GetExtension ! returns = (self->GetExtension()); // push the result string wxlState.lua_PushString(returns); *************** *** 2797,2801 **** wxImageHandler * self = (wxImageHandler *)wxlState.GetUserDataType(1, s_wxluatag_wxImageHandler); // call GetImageCount ! returns = self->GetImageCount(*stream); // push the result number lua_pushnumber(L, returns); --- 2797,2801 ---- wxImageHandler * self = (wxImageHandler *)wxlState.GetUserDataType(1, s_wxluatag_wxImageHandler); // call GetImageCount ! returns = (self->GetImageCount(*stream)); // push the result number lua_pushnumber(L, returns); *************** *** 2817,2821 **** wxImageHandler * self = (wxImageHandler *)wxlState.GetUserDataType(1, s_wxluatag_wxImageHandler); // call GetMimeType ! returns = self->GetMimeType(); // push the result string wxlState.lua_PushString(returns); --- 2817,2821 ---- wxImageHandler * self = (wxImageHandler *)wxlState.GetUserDataType(1, s_wxluatag_wxImageHandler); // call GetMimeType ! returns = (self->GetMimeType()); // push the result string wxlState.lua_PushString(returns); *************** *** 2835,2839 **** wxImageHandler * self = (wxImageHandler *)wxlState.GetUserDataType(1, s_wxluatag_wxImageHandler); // call GetName ! returns = self->GetName(); // push the result string wxlState.lua_PushString(returns); --- 2835,2839 ---- wxImageHandler * self = (wxImageHandler *)wxlState.GetUserDataType(1, s_wxluatag_wxImageHandler); // call GetName ! returns = (self->GetName()); // push the result string wxlState.lua_PushString(returns); *************** *** 2853,2857 **** wxImageHandler * self = (wxImageHandler *)wxlState.GetUserDataType(1, s_wxluatag_wxImageHandler); // call GetType ! returns = self->GetType(); // push the result number lua_pushnumber(L, returns); --- 2853,2857 ---- wxImageHandler * self = (wxImageHandler *)wxlState.GetUserDataType(1, s_wxluatag_wxImageHandler); // call GetType ! returns = (self->GetType()); // push the result number lua_pushnumber(L, returns); *************** *** 2883,2887 **** wxImageHandler * self = (wxImageHandler *)wxlState.GetUserDataType(1, s_wxluatag_wxImageHandler); // call LoadFile ! returns = self->LoadFile(image, *stream, verbose, index); // push the result flag lua_pushboolean(L, returns); --- 2883,2887 ---- wxImageHandler * self = (wxImageHandler *)wxlState.GetUserDataType(1, s_wxluatag_wxImageHandler); // call LoadFile ! returns = (self->LoadFile(image, *stream, verbose, index)); // push the result flag lua_pushboolean(L, returns); *************** *** 2905,2909 **** wxImageHandler * self = (wxImageHandler *)wxlState.GetUserDataType(1, s_wxluatag_wxImageHandler); // call SaveFile ! returns = self->SaveFile(image, *stream); // push the result flag lua_pushboolean(L, returns); --- 2905,2909 ---- wxImageHandler * self = (wxImageHandler *)wxlState.GetUserDataType(1, s_wxluatag_wxImageHandler); // call SaveFile ! returns = (self->SaveFile(image, *stream)); // push the result flag lua_pushboolean(L, returns); *************** *** 3585,3589 **** wxArtProvider * provider = (wxArtProvider *)wxlState.GetUserDataType(1, s_wxluatag_wxArtProvider); // call Delete ! returns = wxArtProvider::Delete(provider); // push the result flag lua_pushboolean(L, returns); --- 3585,3589 ---- wxArtProvider * provider = (wxArtProvider *)wxlState.GetUserDataType(1, s_wxluatag_wxArtProvider); // call Delete ! returns = (wxArtProvider::Delete(provider)); // push the result flag lua_pushboolean(L, returns); *************** *** 3708,3712 **** bool returns; // call Pop ! returns = wxArtProvider::Pop(); // push the result flag lua_pushboolean(L, returns); --- 3708,3712 ---- bool returns; // call Pop ! returns = (wxArtProvider::Pop()); // push the result flag lua_pushboolean(L, returns); *************** *** 3744,3748 **** wxArtProvider * provider = (wxArtProvider *)wxlState.GetUserDataType(1, s_wxluatag_wxArtProvider); // call Remove ! returns = wxArtProvider::Remove(provider); // push the result flag lua_pushboolean(L, returns); --- 3744,3748 ---- wxArtProvider * provider = (wxArtProvider *)wxlState.GetUserDataType(1, s_wxluatag_wxArtProvider); // call Remove ! returns = (wxArtProvider::Remove(provider)); // push the result flag lua_pushboolean(L, returns); Index: mdi.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxbind/src/mdi.cpp,v retrieving revision 1.39 retrieving revision 1.40 diff -C2 -d -r1.39 -r1.40 *** mdi.cpp 13 Jun 2007 04:15:26 -0000 1.39 --- mdi.cpp 14 Jun 2007 23:59:45 -0000 1.40 *************** *** 144,148 **** wxMDIParentFrame * self = (wxMDIParentFrame *)wxlState.GetUserDataType(1, s_wxluatag_wxMDIParentFrame); // call Create ! returns = self->Create(parent, id, title, *pos, *size, style, name); // push the result flag lua_pushboolean(L, returns); --- 144,148 ---- wxMDIParentFrame * self = (wxMDIParentFrame *)wxlState.GetUserDataType(1, s_wxluatag_wxMDIParentFrame); // call Create ! returns = (self->Create(parent, id, title, *pos, *size, style, name)); // push the result flag lua_pushboolean(L, returns); *************** *** 415,419 **** wxMDIChildFrame * self = (wxMDIChildFrame *)wxlState.GetUserDataType(1, s_wxluatag_wxMDIChildFrame); // call Create ! returns = self->Create(parent, id, title, *pos, *size, style, name); // push the result flag lua_pushboolean(L, returns); --- 415,419 ---- wxMDIChildFrame * self = (wxMDIChildFrame *)wxlState.GetUserDataType(1, s_wxluatag_wxMDIChildFrame); // call Create ! returns = (self->Create(parent, id, title, *pos, *size, style, name)); // push the result flag lua_pushboolean(L, returns); *************** *** 828,832 **** wxDocManager * self = (wxDocManager *)wxlState.GetUserDataType(1, s_wxluatag_wxDocManager); // call CloseDocuments ! returns = self->CloseDocuments(force); // push the result flag lua_pushboolean(L, returns); --- 828,832 ---- wxDocManager * self = (wxDocManager *)wxlState.GetUserDataType(1, s_wxluatag_wxDocManager); // call CloseDocuments ! returns = (self->CloseDocuments(force)); // push the result flag lua_pushboolean(L, returns); *************** *** 1127,1131 **** wxDocManager * self = (wxDocManager *)wxlState.GetUserDataType(1, s_wxluatag_wxDocManager); // call GetHistoryFilesCount ! returns = self->GetHistoryFilesCount(); // push the result number lua_pushnumber(L, returns); --- 1127,1131 ---- wxDocManager * self = (wxDocManager *)wxlState.GetUserDataType(1, s_wxluatag_wxDocManager); // call GetHistoryFilesCount ! returns = (self->GetHistoryFilesCount()); // push the result number lua_pushnumber(L, returns); *************** *** 1147,1151 **** wxDocManager * self = (wxDocManager *)wxlState.GetUserDataType(1, s_wxluatag_wxDocManager); // call GetLastDirectory ! returns = self->GetLastDirectory(); // push the result string wxlState.lua_PushString(returns); --- 1147,1151 ---- wxDocManager * self = (wxDocManager *)wxlState.GetUserDataType(1, s_wxluatag_wxDocManager); // call GetLastDirectory ! returns = (self->GetLastDirectory()); // push the result string wxlState.lua_PushString(returns); *************** *** 1165,1169 **** wxDocManager * self = (wxDocManager *)wxlState.GetUserDataType(1, s_wxluatag_wxDocManager); // call GetMaxDocsOpen ! returns = self->GetMaxDocsOpen(); // push the result number lua_pushnumber(L, returns); --- 1165,1169 ---- wxDocManager * self = (wxDocManager *)wxlState.GetUserDataType(1, s_wxluatag_wxDocManager); // call GetMaxDocsOpen ! returns = (self->GetMaxDocsOpen()); // push the result number lua_pushnumber(L, returns); *************** *** 1185,1189 **** wxDocManager * self = (wxDocManager *)wxlState.GetUserDataType(1, s_wxluatag_wxDocManager); // call GetNoHistoryFiles ! returns = self->GetNoHistoryFiles(); // push the result number lua_pushnumber(L, returns); --- 1185,1189 ---- wxDocManager * self = (wxDocManager *)wxlState.GetUserDataType(1, s_wxluatag_wxDocManager); // call GetNoHistoryFiles ! returns = (self->GetNoHistoryFiles()); // push the result number lua_pushnumber(L, returns); *************** *** 1229,1233 **** wxDocManager * self = (wxDocManager *)wxlState.GetUserDataType(1, s_wxluatag_wxDocManager); // call Initialize ! returns = self->Initialize(); // push the result flag lua_pushboolean(L, returns); --- 1229,1233 ---- wxDocManager * self = (wxDocManager *)wxlState.GetUserDataType(1, s_wxluatag_wxDocManager); // call Initialize ! returns = (self->Initialize()); // push the result flag lua_pushboolean(L, returns); *************** *** 1747,1751 **** wxDocTemplate * self = (wxDocTemplate *)wxlState.GetUserDataType(1, s_wxluatag_wxDocTemplate); // call GetDefaultExtension ! returns = self->GetDefaultExtension(); // push the result string wxlState.lua_PushString(returns); --- 1747,1751 ---- wxDocTemplate * self = (wxDocTemplate *)wxlState.GetUserDataType(1, s_wxluatag_wxDocTemplate); // call GetDefaultExtension ! returns = (self->GetDefaultExtension()); // push the result string wxlState.lua_PushString(returns); *************** *** 1765,1769 **** wxDocTemplate * self = (wxDocTemplate *)wxlState.GetUserDataType(1, s_wxluatag_wxDocTemplate); // call GetDescription ! returns = self->GetDescription(); // push the result string wxlState.lua_PushString(returns); --- 1765,1769 ---- wxDocTemplate * self = (wxDocTemplate *)wxlState.GetUserDataType(1, s_wxluatag_wxDocTemplate); // call GetDescription ! returns = (self->GetDescription()); // push the result string wxlState.lua_PushString(returns); *************** *** 1783,1787 **** wxDocTemplate * self = (wxDocTemplate *)wxlState.GetUserDataType(1, s_wxluatag_wxDocTemplate); // call GetDirectory ! returns = self->GetDirectory(); // push the result string wxlState.lua_PushString(returns); --- 1783,1787 ---- wxDocTemplate * self = (wxDocTemplate *)wxlState.GetUserDataType(1, s_wxluatag_wxDocTemplate); // call GetDirectory ! returns = (self->GetDirectory()); // push the result string wxlState.lua_PushString(returns); *************** *** 1819,1823 **** wxDocTemplate * self = (wxDocTemplate *)wxlState.GetUserDataType(1, s_wxluatag_wxDocTemplate); // call GetDocumentName ! returns = self->GetDocumentName(); // push the result string wxlState.lua_PushString(returns); --- 1819,1823 ---- wxDocTemplate * self = (wxDocTemplate *)wxlState.GetUserDataType(1, s_wxluatag_wxDocTemplate); // call GetDocumentName ! returns = (self->GetDocumentName()); // push the result string wxlState.lua_PushString(returns); *************** *** 1837,1841 **** wxDocTemplate * self = (wxDocTemplate *)wxlState.GetUserDataType(1, s_wxluatag_wxDocTemplate); // call GetFileFilter ! returns = self->GetFileFilter(); // push the result string wxlState.lua_PushString(returns); --- 1837,1841 ---- wxDocTemplate * self = (wxDocTemplate *)wxlState.GetUserDataType(1, s_wxluatag_wxDocTemplate); // call GetFileFilter ! returns = (self->GetFileFilter()); // push the result string wxlState.lua_PushString(returns); *************** *** 1855,1859 **** wxDocTemplate * self = (wxDocTemplate *)wxlState.GetUserDataType(1, s_wxluatag_wxDocTemplate); // call GetFlags ! returns = self->GetFlags(); // push the result number lua_pushnumber(L, returns); --- 1855,1859 ---- wxDocTemplate * self = (wxDocTemplate *)wxlState.GetUserDataType(1, s_wxluatag_wxDocTemplate); // call GetFlags ! returns = (self->GetFlags()); // push the result number lua_pushnumber(L, returns); *************** *** 1873,1877 **** wxDocTemplate * self = (wxDocTemplate *)wxlState.GetUserDataType(1, s_wxluatag_wxDocTemplate); // call GetViewName ! returns = self->GetViewName(); // push the result string wxlState.lua_PushString(returns); --- 1873,1877 ---- wxDocTemplate * self = (wxDocTemplate *)wxlState.GetUserDataType(1, s_wxluatag_wxDocTemplate); // call GetViewName ! returns = (self->GetViewName()); // push the result string wxlState.lua_PushString(returns); *************** *** 1899,1903 **** wxDocTemplate * self = (wxDocTemplate *)wxlState.GetUserDataType(1, s_wxluatag_wxDocTemplate); // call InitDocument ! returns = self->InitDocument(doc, path, flags); // push the result flag lua_pushboolean(L, returns); --- 1899,1903 ---- wxDocTemplate * self = (wxDocTemplate *)wxlState.GetUserDataType(1, s_wxluatag_wxDocTemplate); // call InitDocument ! returns = (self->InitDocument(doc, path, flags)); // push the result flag lua_pushboolean(L, returns); *************** *** 1917,1921 **** wxDocTemplate * self = (wxDocTemplate *)wxlState.GetUserDataType(1, s_wxluatag_wxDocTemplate); // call IsVisible ! returns = self->IsVisible(); // push the result flag lua_pushboolean(L, returns); --- 1917,1921 ---- wxDocTemplate * self = (wxDocTemplate *)wxlState.GetUserDataType(1, s_wxluatag_wxDocTemplate); // call IsVisible ! returns = (self->IsVisible()); // push the result flag lua_pushboolean(L, returns); *************** *** 2127,2131 **** wxDocument * self = (wxDocument *)wxlState.GetUserDataType(1, s_wxluatag_wxDocument); // call AddView ! returns = self->AddView(view); // push the result flag lua_pushboolean(L, returns); --- 2127,2131 ---- wxDocument * self = (wxDocument *)wxlState.GetUserDataType(1, s_wxluatag_wxDocument); // call AddView ! returns = (self->AddView(view)); // push the result flag lua_pushboolean(L, returns); *************** *** 2145,2149 **** wxDocument * self = (wxDocument *)wxlState.GetUserDataType(1, s_wxluatag_wxDocument); // call Close ! returns = self->Close(); // push the result flag lua_pushboolean(L, returns); --- 2145,2149 ---- wxDocument * self = (wxDocument *)wxlState.GetUserDataType(1, s_wxluatag_wxDocument); // call Close ! returns = (self->Close()); // push the result flag lua_pushboolean(L, returns); *************** *** 2163,2167 **** wxDocument * self = (wxDocument *)wxlState.GetUserDataType(1, s_wxluatag_wxDocument); // call DeleteAllViews ! returns = self->DeleteAllViews(); // push the result flag lua_pushboolean(L, returns); --- 2163,2167 ---- wxDocument * self = (wxDocument *)wxlState.GetUserDataType(1, s_wxluatag_wxDocument); // call DeleteAllViews ! returns = (self->DeleteAllViews()); // push the result flag lua_pushboolean(L, returns); *************** *** 2221,2225 **** wxDocument * self = (wxDocument *)wxlState.GetUserDataType(1, s_wxluatag_wxDocument); // call GetDocumentName ! returns = self->GetDocumentName(); // push the result string wxlState.lua_PushString(returns); --- 2221,2225 ---- wxDocument * self = (wxDocument *)wxlState.GetUserDataType(1, s_wxluatag_wxDocument); // call GetDocumentName ! returns = (self->GetDocumentName()); // push the result string wxlState.lua_PushString(returns); *************** *** 2275,2279 **** wxDocument * self = (wxDocument *)wxlState.GetUserDataType(1, s_wxluatag_wxDocument); // call GetFilename ! returns = self->GetFilename(); // push the result string wxlState.lua_PushString(returns); --- 2275,2279 ---- wxDocument * self = (wxDocument *)wxlState.GetUserDataType(1, s_wxluatag_wxDocument); // call GetFilename ! returns = (self->GetFilename()); // push the result string wxlState.lua_PushString(returns); *************** *** 2331,2335 **** wxDocument * self = (wxDocument *)wxlState.GetUserDataType(1, s_wxluatag_wxDocument); // call GetTitle ! returns = self->GetTitle(); // push the result string wxlState.lua_PushString(returns); --- 2331,2335 ---- wxDocument * self = (wxDocument *)wxlState.GetUserDataType(1, s_wxluatag_wxDocument); // call GetTitle ! returns = (self->GetTitle()); // push the result string wxlState.lua_PushString(returns); *************** *** 2374,2378 **** wxDocument * self = (wxDocument *)wxlState.GetUserDataType(1, s_wxluatag_wxDocument); // call IsModified ! returns = self->IsModified(); // push the result flag lua_pushboolean(L, returns); --- 2374,2378 ---- wxDocument * self = (wxDocument *)wxlState.GetUserDataType(1, s_wxluatag_wxDocument); // call IsModified ! returns = (self->IsModified()); // push the result flag lua_pushboolean(L, returns); *************** *** 2424,2428 **** wxDocument * self = (wxDocument *)wxlState.GetUserDataType(1, s_wxluatag_wxDocument); // call OnCloseDocument ! returns = self->OnCloseDocument(); // push the result flag lua_pushboolean(L, returns); --- 2424,2428 ---- wxDocument * self = (wxDocument *)wxlState.GetUserDataType(1, s_wxluatag_wxDocument); // call OnCloseDocument ! returns = (self->OnCloseDocument()); // push the result flag lua_pushboolean(L, returns); *************** *** 2446,2450 **** wxDocument * self = (wxDocument *)wxlState.GetUserDataType(1, s_wxluatag_wxDocument); // call OnCreate ! returns = self->OnCreate(path, flags); // push the result flag lua_pushboolean(L, returns); --- 2446,2450 ---- wxDocument * self = (wxDocument *)wxlState.GetUserDataType(1, s_wxluatag_wxDocument); // call OnCreate ! returns = (self->OnCreate(path, flags)); // push the result flag lua_pushboolean(L, returns); *************** *** 2486,2490 **** wxDocument * self = (wxDocument *)wxlState.GetUserDataType(1, s_wxluatag_wxDocument); // call OnNewDocument ! returns = self->OnNewDocument(); // push the result flag lua_pushboolean(L, returns); --- 2486,2490 ---- wxDocument * self = (wxDocument *)wxlState.GetUserDataType(1, s_wxluatag_wxDocument); // call OnNewDocument ! returns = (self->OnNewDocument()); // push the result flag lua_pushboolean(L, returns); *************** *** 2506,2510 **** wxDocument * self = (wxDocument *)wxlState.GetUserDataType(1, s_wxluatag_wxDocument); // call OnOpenDocument ! returns = self->OnOpenDocument(filename); // push the result flag lua_pushboolean(L, returns); --- 2506,2510 ---- wxDocument * self = (wxDocument *)wxlState.GetUserDataType(1, s_wxluatag_wxDocument); // call OnOpenDocument ! returns = (self->OnOpenDocument(filename)); // push the result flag lua_pushboolean(L, returns); *************** *** 2526,2530 **** wxDocument * self = (wxDocument *)wxlState.GetUserDataType(1, s_wxluatag_wxDocument); // call OnSaveDocument ! returns = self->OnSaveDocument(filename); // push the result flag lua_pushboolean(L, returns); --- 2526,2530 ---- wxDocument * self = (wxDocument *)wxlState.GetUserDataType(1, s_wxluatag_wxDocument); // call OnSaveDocument ! returns = (self->OnSaveDocument(filename)); // push the result flag lua_pushboolean(L, returns); *************** *** 2544,2548 **** wxDocument * self = (wxDocument *)wxlState.GetUserDataTyp... [truncated message content] |
From: John L. <jr...@us...> - 2007-06-14 23:59:53
|
Update of /cvsroot/wxlua/wxLua/modules/wxlua/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv16698/wxLua/modules/wxlua/src Modified Files: wxlbind.cpp wxlcallb.cpp wxlstate.cpp wxlua.cpp wxlua_bind.cpp 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: wxlua.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxlua/src/wxlua.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** wxlua.cpp 14 Jun 2007 01:23:19 -0000 1.1 --- wxlua.cpp 14 Jun 2007 23:59:48 -0000 1.2 *************** *** 67,75 **** int s_wxluatag_wxLuaObject = -1; ! static wxLuaArgTag s_wxluatagArray_wxLua_wxLuaObject_GetAllocationFlags[] = { &s_wxluatag_wxLuaObject, NULL }; ! static int LUACALL wxLua_wxLuaObject_GetAllocationFlags(lua_State *L); ! static wxLuaBindCFunc s_wxluafunc_wxLua_wxLuaObject_GetAllocationFlags[1] = {{ wxLua_wxLuaObject_GetAllocationFlags, WXLUAMETHOD_METHOD, 1, 1, s_wxluatagArray_wxLua_wxLuaObject_GetAllocationFlags }}; ! // int GetAllocationFlags() const ! static int LUACALL wxLua_wxLuaObject_GetAllocationFlags(lua_State *L) { wxLuaState wxlState(L); --- 67,75 ---- int s_wxluatag_wxLuaObject = -1; ! static wxLuaArgTag s_wxluatagArray_wxLua_wxLuaObject_GetAllocationFlag[] = { &s_wxluatag_wxLuaObject, NULL }; ! static int LUACALL wxLua_wxLuaObject_GetAllocationFlag(lua_State *L); ! static wxLuaBindCFunc s_wxluafunc_wxLua_wxLuaObject_GetAllocationFlag[1] = {{ wxLua_wxLuaObject_GetAllocationFlag, WXLUAMETHOD_METHOD, 1, 1, s_wxluatagArray_wxLua_wxLuaObject_GetAllocationFlag }}; ! // int GetAllocationFlag() const ! static int LUACALL wxLua_wxLuaObject_GetAllocationFlag(lua_State *L) { wxLuaState wxlState(L); *************** *** 77,82 **** // get this wxLuaObject * self = (wxLuaObject *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaObject); ! // call GetAllocationFlags ! returns = self->GetAllocationFlags(); // push the result number lua_pushnumber(L, returns); --- 77,82 ---- // get this wxLuaObject * self = (wxLuaObject *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaObject); ! // call GetAllocationFlag ! returns = (self->GetAllocationFlag()); // push the result number lua_pushnumber(L, returns); *************** *** 103,126 **** - static wxLuaArgTag s_wxluatagArray_wxLua_wxLuaObject_HasAllocationFlag[] = { &s_wxluatag_wxLuaObject, &s_wxluaarg_Integer, NULL }; - static int LUACALL wxLua_wxLuaObject_HasAllocationFlag(lua_State *L); - static wxLuaBindCFunc s_wxluafunc_wxLua_wxLuaObject_HasAllocationFlag[1] = {{ wxLua_wxLuaObject_HasAllocationFlag, WXLUAMETHOD_METHOD, 2, 2, s_wxluatagArray_wxLua_wxLuaObject_HasAllocationFlag }}; - // bool HasAllocationFlag(wxLuaObject_Type flag) - static int LUACALL wxLua_wxLuaObject_HasAllocationFlag(lua_State *L) - { - wxLuaState wxlState(L); - bool returns; - // wxLuaObject_Type flag - wxLuaObject_Type flag = (wxLuaObject_Type)wxlua_getintegertype(L, 2); - // get this - wxLuaObject * self = (wxLuaObject *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaObject); - // call HasAllocationFlag - returns = self->HasAllocationFlag(flag); - // push the result flag - lua_pushboolean(L, returns); - - return 1; - } - static wxLuaArgTag s_wxluatagArray_wxLua_wxLuaObject_SetObject[] = { &s_wxluatag_wxLuaObject, NULL }; static int LUACALL wxLua_wxLuaObject_SetObject(lua_State *L); --- 103,106 ---- *************** *** 180,186 **** // Map Lua Class Methods to C Binding Functions wxLuaBindMethod wxLuaObject_methods[] = { ! { "GetAllocationFlags", WXLUAMETHOD_METHOD, s_wxluafunc_wxLua_wxLuaObject_GetAllocationFlags, 1, NULL }, { "GetObject", WXLUAMETHOD_METHOD, s_wxluafunc_wxLua_wxLuaObject_GetObject, 1, NULL }, - { "HasAllocationFlag", WXLUAMETHOD_METHOD, s_wxluafunc_wxLua_wxLuaObject_HasAllocationFlag, 1, NULL }, { "SetObject", WXLUAMETHOD_METHOD, s_wxluafunc_wxLua_wxLuaObject_SetObject, 1, NULL }, { "delete", WXLUAMETHOD_METHOD|WXLUAMETHOD_DELETE, s_wxluafunc_wxLua_wxLuaObject_delete, 1, NULL }, --- 160,165 ---- // Map Lua Class Methods to C Binding Functions wxLuaBindMethod wxLuaObject_methods[] = { ! { "GetAllocationFlag", WXLUAMETHOD_METHOD, s_wxluafunc_wxLua_wxLuaObject_GetAllocationFlag, 1, NULL }, { "GetObject", WXLUAMETHOD_METHOD, s_wxluafunc_wxLua_wxLuaObject_GetObject, 1, NULL }, { "SetObject", WXLUAMETHOD_METHOD, s_wxluafunc_wxLua_wxLuaObject_SetObject, 1, NULL }, { "delete", WXLUAMETHOD_METHOD|WXLUAMETHOD_DELETE, s_wxluafunc_wxLua_wxLuaObject_delete, 1, NULL }, Index: wxlstate.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxlua/src/wxlstate.cpp,v retrieving revision 1.112 retrieving revision 1.113 diff -C2 -d -r1.112 -r1.113 *** wxlstate.cpp 14 Jun 2007 12:23:04 -0000 1.112 --- wxlstate.cpp 14 Jun 2007 23:59:48 -0000 1.113 *************** *** 263,267 **** int nTop = lua_gettop(L); // this is where the value is ! wxlua_pushstring_wxLuaReferences(L); // push name of table to get as key lua_rawget(L, LUA_REGISTRYINDEX); // pop key, push result (the refs table) --- 263,267 ---- int nTop = lua_gettop(L); // this is where the value is ! wxlua_pushkey_wxLuaReferences(L); // push name of table to get as key lua_rawget(L, LUA_REGISTRYINDEX); // pop key, push result (the refs table) *************** *** 281,285 **** return true; ! wxlua_pushstring_wxLuaReferences(L); // push name of table to get as key lua_rawget(L, LUA_REGISTRYINDEX); // pop key, push result (the refs table) --- 281,285 ---- return true; ! wxlua_pushkey_wxLuaReferences(L); // push name of table to get as key lua_rawget(L, LUA_REGISTRYINDEX); // pop key, push result (the refs table) *************** *** 295,299 **** return false; ! wxlua_pushstring_wxLuaReferences(L);// push name of table to get as key lua_rawget(L, LUA_REGISTRYINDEX); // pop key, push result (the refs table) --- 295,299 ---- return false; ! wxlua_pushkey_wxLuaReferences(L); // push name of table to get as key lua_rawget(L, LUA_REGISTRYINDEX); // pop key, push result (the refs table) *************** *** 356,360 **** if (lua_getmetatable(L, stack_idx) != 0) // see tnewtag { ! lua_pushlstring(L, "tag", 3); // get t["tag"] lua_rawget(L, -2); //if (lua_isnumber(L, -1)) // Note: lua_tonumber returns 0 == WXLUA_NOTAG if it's not a number --- 356,360 ---- if (lua_getmetatable(L, stack_idx) != 0) // see tnewtag { ! wxlua_pushkey_metatableTag(L); // get t[tag_key] lua_rawget(L, -2); //if (lua_isnumber(L, -1)) // Note: lua_tonumber returns 0 == WXLUA_NOTAG if it's not a number *************** *** 387,391 **** int tag = wxlua_tinsert(L, -1); // insert the table into the wxLuaReferences registry table ! lua_pushlstring(L, "tag", 3); // add t["tag"] = tag to new table lua_pushnumber(L, tag); lua_rawset(L, -3); --- 387,391 ---- int tag = wxlua_tinsert(L, -1); // insert the table into the wxLuaReferences registry table ! wxlua_pushkey_metatableTag(L); // add t[tag_key] = tag to new table lua_pushnumber(L, tag); lua_rawset(L, -3); *************** *** 425,429 **** int tag = wxlua_tinsert(L, -1); // insert the table into the wxLuaReferences registry table ! lua_pushlstring(L, "tag", 3); // add t["tag"] = tag to new table lua_pushnumber(L, tag); lua_rawset(L, -3); --- 425,429 ---- int tag = wxlua_tinsert(L, -1); // insert the table into the wxLuaReferences registry table ! wxlua_pushkey_metatableTag(L); // add t[tag_key] = tag to new table lua_pushnumber(L, tag); lua_rawset(L, -3); *************** *** 480,485 **** if (wxlua_tget(L, class_tag) && lua_istable(L, -1)) { ! // t[class_tag] = { ["wxLuaBindClass"] = lightuserdata wxLuaBindClass... (or nil if not a class tag) ! lua_pushstring(L, "wxLuaBindClass"); lua_rawget(L, -2); const wxLuaBindClass* wxlClass = (wxLuaBindClass *)lua_touserdata(L, -1); // actually lightuserdata --- 480,485 ---- if (wxlua_tget(L, class_tag) && lua_istable(L, -1)) { ! // t[class_tag] = { [bindclass_key] = lightuserdata wxLuaBindClass... (or nil if not a class tag) ! wxlua_pushkey_metatableClass(L); lua_rawget(L, -2); const wxLuaBindClass* wxlClass = (wxLuaBindClass *)lua_touserdata(L, -1); // actually lightuserdata *************** *** 495,499 **** const wxLuaBindClass* LUACALL wxlua_tgetclass(lua_State* L, const char* class_name) { ! wxlua_pushstring_wxLuaClasses(L); lua_rawget(L, LUA_REGISTRYINDEX); // pop key, push result (the classes table) --- 495,499 ---- const wxLuaBindClass* LUACALL wxlua_tgetclass(lua_State* L, const char* class_name) { ! wxlua_pushkey_wxLuaClasses(L); lua_rawget(L, LUA_REGISTRYINDEX); // pop key, push result (the classes table) *************** *** 784,788 **** bool wxlua_setderivedmethod(lua_State* L, void *pObject, const char *method_name, wxLuaObject* wxlObj) { ! wxlua_pushstring_wxLuaDerivedMethods(L); lua_rawget( L, LUA_REGISTRYINDEX ); // pop key, push table --- 784,788 ---- bool wxlua_setderivedmethod(lua_State* L, void *pObject, const char *method_name, wxLuaObject* wxlObj) { ! wxlua_pushkey_wxLuaDerivedMethods(L); lua_rawget( L, LUA_REGISTRYINDEX ); // pop key, push table *************** *** 837,841 **** bool found = false; ! wxlua_pushstring_wxLuaDerivedMethods(L); lua_rawget( L, LUA_REGISTRYINDEX ); // pop key, push table --- 837,841 ---- bool found = false; ! wxlua_pushkey_wxLuaDerivedMethods(L); lua_rawget( L, LUA_REGISTRYINDEX ); // pop key, push table *************** *** 881,885 **** bool found = false; ! wxlua_pushstring_wxLuaDerivedMethods(L); lua_rawget( L, LUA_REGISTRYINDEX ); // pop key, push table --- 881,885 ---- bool found = false; ! wxlua_pushkey_wxLuaDerivedMethods(L); lua_rawget( L, LUA_REGISTRYINDEX ); // pop key, push table *************** *** 1057,1066 **** wxLuaStateData::wxLuaStateData() :m_bindings_registered(false), - m_wxluatag_wxLuaFunction(0), - m_wxluatag_NULL(0), - m_wxluatag_wxWinDestroyTable(0), - m_wxluatag_wxEvent(0), - m_wxluatag_wxWindow(0), - m_wxluatag_wxString(0), m_callbase_func(false), m_inEventType(wxEVT_NULL), --- 1057,1060 ---- *************** *** 1258,1270 **** } ! wxlua_pushstring_wxLuaReferences(m_lua_State); lua_pushnil(m_lua_State); lua_rawset(m_lua_State, LUA_REGISTRYINDEX); ! wxlua_pushstring_wxLuaClasses(m_lua_State); lua_pushnil(m_lua_State); lua_rawset(m_lua_State, LUA_REGISTRYINDEX); ! //wxlua_pushstring_wxLuaDerivedMethods(m_lua_State); // gc will delete them //lua_pushnil(m_lua_State); //lua_rawset(m_lua_State, LUA_REGISTRYINDEX); --- 1252,1264 ---- } ! wxlua_pushkey_wxLuaReferences(m_lua_State); lua_pushnil(m_lua_State); lua_rawset(m_lua_State, LUA_REGISTRYINDEX); ! wxlua_pushkey_wxLuaClasses(m_lua_State); lua_pushnil(m_lua_State); lua_rawset(m_lua_State, LUA_REGISTRYINDEX); ! //wxlua_pushkey_wxLuaDerivedMethods(m_lua_State); // gc will delete them //lua_pushnil(m_lua_State); //lua_rawset(m_lua_State, LUA_REGISTRYINDEX); *************** *** 1285,1289 **** // try to get the state we've stored ! wxlua_pushstring_wxLuaStateRefData(L); lua_rawget( L, LUA_REGISTRYINDEX ); --- 1279,1283 ---- // try to get the state we've stored ! wxlua_pushkey_wxLuaStateRefData(L); lua_rawget( L, LUA_REGISTRYINDEX ); *************** *** 1342,1346 **** // Stick us into the lua_State - push key, value ! wxlua_pushstring_wxLuaStateRefData(L); lua_pushlightuserdata( L, (void*)m_refData ); lua_rawset( L, LUA_REGISTRYINDEX ); // set the value --- 1336,1340 ---- // Stick us into the lua_State - push key, value ! wxlua_pushkey_wxLuaStateRefData(L); lua_pushlightuserdata( L, (void*)m_refData ); lua_rawset( L, LUA_REGISTRYINDEX ); // set the value *************** *** 1379,1383 **** // Stick us into the lua_State - push key, value ! wxlua_pushstring_wxLuaStateRefData(L); lua_pushlightuserdata( L, (void*)m_refData ); lua_rawset( L, LUA_REGISTRYINDEX ); // set the value --- 1373,1377 ---- // Stick us into the lua_State - push key, value ! wxlua_pushkey_wxLuaStateRefData(L); lua_pushlightuserdata( L, (void*)m_refData ); lua_rawset( L, LUA_REGISTRYINDEX ); // set the value *************** *** 1846,1865 **** // Stick us into the lua_State - push key, value // make sure we're there, even though we might have already done this. ! wxlua_pushstring_wxLuaStateRefData(L); lua_pushlightuserdata( L, (void*)m_refData ); lua_rawset( L, LUA_REGISTRYINDEX ); // set the value // create the wxLuaReferences table in registry ! wxlua_pushstring_wxLuaReferences(L); lua_newtable(L); lua_rawset(L, LUA_REGISTRYINDEX); // set the value // create the wxLuaClasses table in the registry ! wxlua_pushstring_wxLuaClasses(L); lua_newtable(L); lua_rawset(L, LUA_REGISTRYINDEX); // Create a table for overridden methods for C++ objects ! wxlua_pushstring_wxLuaDerivedMethods(L); lua_newtable(L); lua_rawset( L, LUA_REGISTRYINDEX ); // set the value --- 1840,1859 ---- // Stick us into the lua_State - push key, value // make sure we're there, even though we might have already done this. ! wxlua_pushkey_wxLuaStateRefData(L); lua_pushlightuserdata( L, (void*)m_refData ); lua_rawset( L, LUA_REGISTRYINDEX ); // set the value // create the wxLuaReferences table in registry ! wxlua_pushkey_wxLuaReferences(L); lua_newtable(L); lua_rawset(L, LUA_REGISTRYINDEX); // set the value // create the wxLuaClasses table in the registry ! wxlua_pushkey_wxLuaClasses(L); lua_newtable(L); lua_rawset(L, LUA_REGISTRYINDEX); // Create a table for overridden methods for C++ objects ! wxlua_pushkey_wxLuaDerivedMethods(L); lua_newtable(L); lua_rawset( L, LUA_REGISTRYINDEX ); // set the value *************** *** 1908,1917 **** if (registerTypes) { ! M_WXLSTATEDATA->m_wxlStateData->m_wxluatag_wxLuaFunction = tnewtag(); ! M_WXLSTATEDATA->m_wxlStateData->m_wxluatag_wxWinDestroyTable = tnewweaktag(false, true); } ! tsettagmethod(GetLuaStateData()->m_wxluatag_wxLuaFunction, "__gc", wxlua_gc_wxLuaFunction); ! tsettagmethod(GetLuaStateData()->m_wxluatag_wxLuaFunction, "__call", wxlua_call_wxLuaFunction); } --- 1902,1926 ---- if (registerTypes) { ! g_wxluatag_wxLuaFunction = tnewtag(); ! g_wxluatag_wxWinDestroyTable = tnewweaktag(false, true); } ! tsettagmethod(g_wxluatag_wxLuaFunction, "__gc", wxlua_gc_wxLuaFunction); ! tsettagmethod(g_wxluatag_wxLuaFunction, "__call", wxlua_call_wxLuaFunction); ! ! ! const wxLuaBindClass* wxlClass = NULL; ! ! wxlClass = GetLuaClass("wxEvent"); ! wxCHECK_RET(wxlClass, wxT("wxEvent lua tag is missing in wxLuaState, forgot to add wxWidgets binding?")); ! g_wxluatag_wxEvent = *wxlClass->class_tag; ! ! wxlClass = GetLuaClass("wxString"); ! wxCHECK_RET(wxlClass, wxT("wxString lua tag is missing in wxLuaState, forgot to add wxWidgets binding?")); ! g_wxluatag_wxString = *wxlClass->class_tag; ! ! wxlClass = GetLuaClass("wxWindow"); ! wxCHECK_RET(wxlClass, wxT("wxWindow lua tag is missing in wxLuaState, forgot to add wxWidgets binding?")); ! g_wxluatag_wxWindow = *wxlClass->class_tag; } *************** *** 2026,2086 **** return M_WXLSTATEDATA->m_wxlStateData->m_bindings_registered; } - int wxLuaState::GetwxLuaFunctionTag() const - { - wxCHECK_MSG(GetRefData() != NULL, 0, wxT("Invalid wxLuaState")); - return M_WXLSTATEDATA->m_wxlStateData->m_wxluatag_wxLuaFunction; - } - int wxLuaState::GetLuaNULLTag() const - { - wxCHECK_MSG(GetRefData() != NULL, 0, wxT("Invalid wxLuaState")); - return M_WXLSTATEDATA->m_wxlStateData->m_wxluatag_NULL; - } - int wxLuaState::GetLuaWinDestroyTableTag() const - { - wxCHECK_MSG(GetRefData() != NULL, 0, wxT("Invalid wxLuaState")); - return M_WXLSTATEDATA->m_wxlStateData->m_wxluatag_wxWinDestroyTable; - } - int wxLuaState::GetwxEventTag() const - { - wxCHECK_MSG(Ok(), 0, wxT("Invalid wxLuaState")); - - // Find the wxEvent tag once and store it for later use - if (M_WXLSTATEDATA->m_wxlStateData->m_wxluatag_wxEvent == 0) - { - const wxLuaBindClass* luaClass = GetLuaClass("wxEvent"); - wxCHECK_MSG(luaClass, 0, wxT("wxEvent lua tag is missing in wxLuaState, forgot to add wxWidgets binding?")); - M_WXLSTATEDATA->m_wxlStateData->m_wxluatag_wxEvent = *luaClass->class_tag; - } - - return M_WXLSTATEDATA->m_wxlStateData->m_wxluatag_wxEvent; - } - int wxLuaState::GetwxWindowTag() const - { - wxCHECK_MSG(Ok(), 0, wxT("Invalid wxLuaState")); - - // Find the wxWindow tag once and store it for later use - if (M_WXLSTATEDATA->m_wxlStateData->m_wxluatag_wxWindow == 0) - { - const wxLuaBindClass* luaClass = GetLuaClass("wxWindow"); - wxCHECK_MSG(luaClass, 0, wxT("wxWindow lua tag is missing in wxLuaState, forgot to add wxWidgets binding?")); - M_WXLSTATEDATA->m_wxlStateData->m_wxluatag_wxWindow = *luaClass->class_tag; - } - - return M_WXLSTATEDATA->m_wxlStateData->m_wxluatag_wxWindow; - } - int wxLuaState::GetwxStringTag() const - { - wxCHECK_MSG(Ok(), 0, wxT("Invalid wxLuaState")); - - // Find the wxString tag once and store it for later use - if (M_WXLSTATEDATA->m_wxlStateData->m_wxluatag_wxString == 0) - { - const wxLuaBindClass* luaClass = GetLuaClass("wxString"); - wxCHECK_MSG(luaClass, 0, wxT("wxString lua tag is missing in wxLuaState, forgot to add wxWidgets binding?")); - M_WXLSTATEDATA->m_wxlStateData->m_wxluatag_wxString = *luaClass->class_tag; - } - - return M_WXLSTATEDATA->m_wxlStateData->m_wxluatag_wxString; - } void wxLuaState::SetCallBaseClassFunction(bool call_base) --- 2035,2038 ---- *************** *** 2317,2326 **** lua_State* L = M_WXLSTATEDATA->m_lua_State; ! const wxLuaBindClass* wxlClass = wxlua_tgetclass(L, "wxArrayString"); ! if (wxlClass && (IsDerivedClass(wxluaarg_tag, *wxlClass->class_tag) >= 0)) return 1; ! wxlClass = wxlua_tgetclass(L, "wxArrayInt"); ! if (wxlClass && (IsDerivedClass(wxluaarg_tag, *wxlClass->class_tag) >= 0)) return 1; } --- 2269,2280 ---- lua_State* L = M_WXLSTATEDATA->m_lua_State; ! const wxLuaBindClass* wxlClass = wxlua_tgetclass(L, wxluaarg_tag); ! ! const wxLuaBindClass* arrClass = wxlua_tgetclass(L, "wxArrayString"); ! if (wxlClass && (wxlua_isderivedclass(wxlClass, arrClass) >= 0)) return 1; ! arrClass = wxlua_tgetclass(L, "wxArrayInt"); ! if (wxlClass && (wxlua_isderivedclass(wxlClass, arrClass) >= 0)) return 1; } *************** *** 2338,2344 **** { int stack_tag = wxlua_ttag(L, stack_idx); ! if ((GetLuaNULLTag() == stack_tag) || // FIXME, how to check when NULL is valid or not? ! (GetwxLuaFunctionTag() == stack_tag) || ! ((tag == WXLUAARG_String) && (IsDerivedClass(stack_tag, GetwxStringTag()) >= 0)) || (IsDerivedClass(stack_tag, tag) >= 0)) return true; --- 2292,2298 ---- { int stack_tag = wxlua_ttag(L, stack_idx); ! if ((g_wxluatag_NULL == stack_tag) || // FIXME, how to check when NULL is valid or not? ! (g_wxluatag_wxLuaFunction == stack_tag) || ! ((tag == WXLUAARG_String) && (IsDerivedClass(stack_tag, g_wxluatag_wxString) >= 0)) || (IsDerivedClass(stack_tag, tag) >= 0)) return true; *************** *** 2357,2366 **** int stack_tag = ttag(stack_idx); ! if (M_WXLSTATEDATA->m_wxlStateData->m_wxluatag_wxLuaFunction == stack_tag) { wxLuaFunction *pFunction = (wxLuaFunction *)ttouserdata(stack_idx); return pFunction->GetObject(); } ! else if (M_WXLSTATEDATA->m_wxlStateData->m_wxluatag_NULL == stack_tag) return NULL; else if (IsDerivedClass(stack_tag, tag) >= 0) --- 2311,2320 ---- int stack_tag = ttag(stack_idx); ! if (g_wxluatag_wxLuaFunction == stack_tag) { wxLuaFunction *pFunction = (wxLuaFunction *)ttouserdata(stack_idx); return pFunction->GetObject(); } ! else if (g_wxluatag_NULL == stack_tag) return NULL; else if (IsDerivedClass(stack_tag, tag) >= 0) *************** *** 2382,2386 **** // if the object we are referencing is derived from wxWindow ! if (IsDerivedClass(tag, GetwxWindowTag()) >= 0) { wxWindow* win = wxDynamicCast(data, wxWindow); --- 2336,2340 ---- // if the object we are referencing is derived from wxWindow ! if (IsDerivedClass(tag, g_wxluatag_wxWindow) >= 0) { wxWindow* win = wxDynamicCast(data, wxWindow); *************** *** 2446,2450 **** int stack_tag = wxlua_ttag(L, stack_idx); ! if (IsDerivedClass(stack_tag, GetwxStringTag()) >= 0) { wxString* wxstr = (wxString*)wxlua_ttouserdata(L, stack_idx, false); --- 2400,2404 ---- int stack_tag = wxlua_ttag(L, stack_idx); ! if (IsDerivedClass(stack_tag, g_wxluatag_wxString) >= 0) { wxString* wxstr = (wxString*)wxlua_ttouserdata(L, stack_idx, false); *************** *** 2486,2490 **** { int stack_tag = wxlua_ttag(L, stack_idx); ! return (IsDerivedClass(stack_tag, GetwxStringTag()) >= 0); } --- 2440,2444 ---- { int stack_tag = wxlua_ttag(L, stack_idx); ! return (IsDerivedClass(stack_tag, g_wxluatag_wxString) >= 0); } *************** *** 2696,2702 **** return wxlua_getwxluatypename(tag); ! if (tag == M_WXLSTATEDATA->m_wxlStateData->m_wxluatag_NULL) return wxT("NULL"); ! if (tag == M_WXLSTATEDATA->m_wxlStateData->m_wxluatag_wxLuaFunction) return wxT("wxLuaFunction"); --- 2650,2656 ---- return wxlua_getwxluatypename(tag); ! if (tag == g_wxluatag_NULL) return wxT("NULL"); ! if (tag == g_wxluatag_wxLuaFunction) return wxT("wxLuaFunction"); *************** *** 3620,3624 **** { is_ok = (IsUserDataType(arg_lua, tag) || ! (tag == M_WXLSTATEDATA->m_wxlStateData->m_wxluatag_NULL)) ? 1 : 0; } --- 3574,3578 ---- { is_ok = (IsUserDataType(arg_lua, tag) || ! (tag == g_wxluatag_NULL)) ? 1 : 0; } Index: wxlbind.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxlua/src/wxlbind.cpp,v retrieving revision 1.75 retrieving revision 1.76 diff -C2 -d -r1.75 -r1.76 *** wxlbind.cpp 14 Jun 2007 05:02:48 -0000 1.75 --- wxlbind.cpp 14 Jun 2007 23:59:48 -0000 1.76 *************** *** 43,46 **** --- 43,53 ---- int s_wxluaarg_Integer = WXLUAARG_Integer; + int g_wxluatag_wxLuaFunction = 0; + int g_wxluatag_wxWinDestroyTable = 0; + int g_wxluatag_NULL = 0; + int g_wxluatag_wxEvent = 0; + int g_wxluatag_wxWindow = 0; + int g_wxluatag_wxString = 0; + //----------------------------------------------------------------------------- // wxLuaFunction *************** *** 67,71 **** wxCHECK_MSG(wxlState.Ok(), 0, wxT("Invalid wxLuaState")); ! if (wxlua_iswxuserdata(L, 1) && (wxlua_ttag(L, 1) == wxlState.GetwxLuaFunctionTag())) { wxLuaFunction *wxlFunction = (wxLuaFunction *)wxlua_ttouserdata(L, 1, true); --- 74,78 ---- wxCHECK_MSG(wxlState.Ok(), 0, wxT("Invalid wxLuaState")); ! if (wxlua_iswxuserdata(L, 1) && (wxlua_ttag(L, 1) == g_wxluatag_wxLuaFunction)) { wxLuaFunction *wxlFunction = (wxLuaFunction *)wxlua_ttouserdata(L, 1, true); *************** *** 81,85 **** wxCHECK_MSG(wxlState.Ok(), 0, wxT("Invalid wxLuaState")); ! if (wxlua_iswxuserdata(L, 1) && (wxlua_ttag(L, 1) == wxlState.GetwxLuaFunctionTag())) { wxLuaFunction *wxlFunction = (wxLuaFunction *)wxlua_ttouserdata(L, 1, false); --- 88,92 ---- wxCHECK_MSG(wxlState.Ok(), 0, wxT("Invalid wxLuaState")); ! if (wxlua_iswxuserdata(L, 1) && (wxlua_ttag(L, 1) == g_wxluatag_wxLuaFunction)) { wxLuaFunction *wxlFunction = (wxLuaFunction *)wxlua_ttouserdata(L, 1, false); *************** *** 102,106 **** wxLuaObject::wxLuaObject(const wxLuaState& wxlState, int stack_idx) : m_wxlState(new wxLuaState(wxlState)), ! m_bool(false), m_int(0), m_alloc_flags(wxLUAOBJECT_NONE) { // set up the reference to the item on the stack --- 109,115 ---- wxLuaObject::wxLuaObject(const wxLuaState& wxlState, int stack_idx) : m_wxlState(new wxLuaState(wxlState)), ! m_alloc_flag(wxLUAOBJECT_NONE), ! m_bool(false), m_int(0), m_string(NULL), m_arrayInt(NULL) ! { // set up the reference to the item on the stack *************** *** 110,113 **** --- 119,127 ---- wxLuaObject::~wxLuaObject() { + if (m_alloc_flag == wxLUAOBJECT_STRING) + delete m_string; + else if (m_alloc_flag == wxLUAOBJECT_ARRAYINT) + delete m_arrayInt; + // If a refererence exists, remove it, but don't bother if lua is being closed if ((m_reference != LUA_NOREF) && m_wxlState->Ok() && !m_wxlState->IsClosing()) *************** *** 122,135 **** } - int wxLuaObject::SetAllocationFlag(wxLuaObject_Type flag, bool set) - { - if (set) - m_alloc_flags |= flag; - else - m_alloc_flags &= (~ int(flag)); - - return m_alloc_flags; - } - bool wxLuaObject::GetObject() { --- 136,139 ---- *************** *** 137,158 **** lua_State* L = m_wxlState->GetLuaState(); ! if (HasAllocationFlag(wxLUAOBJECT_BOOL)) { lua_pushboolean(L, m_bool); return true; } ! else if (HasAllocationFlag(wxLUAOBJECT_INT)) { lua_pushnumber(L, m_int); return true; } ! else if (HasAllocationFlag(wxLUAOBJECT_STRING)) { ! lua_pushstring(L, wx2lua(m_string)); return true; } ! else if (HasAllocationFlag(wxLUAOBJECT_ARRAYINT)) { ! wxlua_pushwxArrayInttable(L, m_arrayInt); return true; } --- 141,162 ---- lua_State* L = m_wxlState->GetLuaState(); ! if (m_alloc_flag == wxLUAOBJECT_BOOL) { lua_pushboolean(L, m_bool); return true; } ! else if (m_alloc_flag == wxLUAOBJECT_INT) { lua_pushnumber(L, m_int); return true; } ! else if (m_alloc_flag == wxLUAOBJECT_STRING) { ! lua_pushstring(L, wx2lua(*m_string)); return true; } ! else if (m_alloc_flag == wxLUAOBJECT_ARRAYINT) { ! wxlua_pushwxArrayInttable(L, *m_arrayInt); return true; } *************** *** 166,185 **** { wxCHECK_RET(m_wxlState->Ok(), wxT("Invalid wxLuaState")); - if (m_wxlState->Ok() && (m_reference != LUA_NOREF)) // FIXME should this error out? - m_wxlState->tremove(m_reference); ! m_reference = LUA_NOREF; ! if (m_wxlState->Ok()) ! m_reference = m_wxlState->tinsert(stack_idx); } bool *wxLuaObject::GetBoolPtr() { ! wxCHECK_MSG(m_wxlState->Ok(), false, wxT("Invalid wxLuaState")); ! if (m_wxlState->Ok() && (m_reference != LUA_NOREF) && GetObject()) { ! m_bool = (lua_toboolean(m_wxlState->GetLuaState(), -1) != 0); ! m_alloc_flags |= wxLUAOBJECT_BOOL; m_wxlState->lua_Pop(1); } --- 170,189 ---- { wxCHECK_RET(m_wxlState->Ok(), wxT("Invalid wxLuaState")); ! if (m_reference != LUA_NOREF) // FIXME should this error out? ! m_wxlState->tremove(m_reference); ! m_reference = m_wxlState->tinsert(stack_idx); } bool *wxLuaObject::GetBoolPtr() { ! wxCHECK_MSG(m_wxlState->Ok(), 0, wxT("Invalid wxLuaState")); ! wxCHECK_MSG(m_alloc_flag == wxLUAOBJECT_NONE, 0, wxT("wxLuaObject already initialized")); ! ! if ((m_reference != LUA_NOREF) && GetObject()) { ! m_bool = (lua_toboolean(m_wxlState->GetLuaState(), -1) != 0); ! m_alloc_flag = wxLUAOBJECT_BOOL; m_wxlState->lua_Pop(1); } *************** *** 190,197 **** { wxCHECK_MSG(m_wxlState->Ok(), false, wxT("Invalid wxLuaState")); ! if (m_wxlState->Ok() && (m_reference != LUA_NOREF) && GetObject()) { ! m_int = (int) lua_tonumber(m_wxlState->GetLuaState(), -1); ! m_alloc_flags |= wxLUAOBJECT_INT; m_wxlState->lua_Pop(1); } --- 194,203 ---- { wxCHECK_MSG(m_wxlState->Ok(), false, wxT("Invalid wxLuaState")); ! wxCHECK_MSG(m_alloc_flag == wxLUAOBJECT_NONE, 0, wxT("wxLuaObject already initialized")); ! ! if ((m_reference != LUA_NOREF) && GetObject()) { ! m_int = (int)lua_tonumber(m_wxlState->GetLuaState(), -1); ! m_alloc_flag = wxLUAOBJECT_INT; m_wxlState->lua_Pop(1); } *************** *** 202,213 **** { wxCHECK_MSG(m_wxlState->Ok(), false, wxT("Invalid wxLuaState")); ! if (m_wxlState->Ok() && (m_reference != LUA_NOREF) && GetObject()) { ! m_string = lua2wx(lua_tostring(m_wxlState->GetLuaState(), -1)); ! m_alloc_flags |= wxLUAOBJECT_STRING; m_wxlState->lua_Pop(1); } ! return &m_string; } --- 208,223 ---- { wxCHECK_MSG(m_wxlState->Ok(), false, wxT("Invalid wxLuaState")); ! wxCHECK_MSG(m_alloc_flag == wxLUAOBJECT_NONE, 0, wxT("wxLuaObject already initialized")); ! ! m_string = new wxString(); // create valid string for return ! ! if ((m_reference != LUA_NOREF) && GetObject()) { ! *m_string = lua2wx(lua_tostring(m_wxlState->GetLuaState(), -1)); ! m_alloc_flag = wxLUAOBJECT_STRING; m_wxlState->lua_Pop(1); } ! return m_string; } *************** *** 215,225 **** { wxCHECK_MSG(m_wxlState->Ok(), false, wxT("Invalid wxLuaState")); ! if (m_wxlState->Ok() && (m_reference != LUA_NOREF) && GetObject()) { ! m_wxlState->GetwxArrayInt(-1, m_arrayInt); ! m_alloc_flags |= wxLUAOBJECT_ARRAYINT; m_wxlState->lua_Pop(1); } ! return &m_arrayInt; } --- 225,239 ---- { wxCHECK_MSG(m_wxlState->Ok(), false, wxT("Invalid wxLuaState")); ! wxCHECK_MSG(m_alloc_flag == wxLUAOBJECT_NONE, 0, wxT("wxLuaObject already initialized")); ! ! m_arrayInt = new wxArrayInt(); // create valid array for return ! ! if ((m_reference != LUA_NOREF) && GetObject()) { ! m_wxlState->GetwxArrayInt(-1, *m_arrayInt); ! m_alloc_flag = wxLUAOBJECT_ARRAYINT; m_wxlState->lua_Pop(1); } ! return m_arrayInt; } *************** *** 327,331 **** result = 1; wxLuaFunction *wxlFunc = new wxLuaFunction(wxlMethod, wxlClass, pObject); ! wxlua_tpushusertag(L, wxlFunc, wxlState.GetwxLuaFunctionTag()); } } --- 341,345 ---- result = 1; wxLuaFunction *wxlFunc = new wxLuaFunction(wxlMethod, wxlClass, pObject); ! wxlua_tpushusertag(L, wxlFunc, g_wxluatag_wxLuaFunction); } } *************** *** 708,712 **** // store a lookup table for the class tags to wxLuaBindClass structs wxlua_tget(L, iTag); ! lua_pushstring(L, "wxLuaBindClass"); lua_pushlightuserdata(L, (void *)wxlClass); lua_rawset(L, -3); // t[name] = tag --- 722,726 ---- // store a lookup table for the class tags to wxLuaBindClass structs wxlua_tget(L, iTag); ! wxlua_pushkey_metatableClass(L); lua_pushlightuserdata(L, (void *)wxlClass); lua_rawset(L, -3); // t[name] = tag *************** *** 714,718 **** // store a lookup table for the class names to wxLuaBindClass structs ! wxlua_pushstring_wxLuaClasses(L); lua_rawget(L, LUA_REGISTRYINDEX); // pop key, push result (the classes table) lua_pushstring(L, wxlClass->name); --- 728,732 ---- // store a lookup table for the class names to wxLuaBindClass structs ! wxlua_pushkey_wxLuaClasses(L); lua_rawget(L, LUA_REGISTRYINDEX); // pop key, push result (the classes table) lua_pushstring(L, wxlClass->name); Index: wxlcallb.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxlua/src/wxlcallb.cpp,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -d -r1.31 -r1.32 *** wxlcallb.cpp 12 Jun 2007 00:08:42 -0000 1.31 --- wxlcallb.cpp 14 Jun 2007 23:59:48 -0000 1.32 *************** *** 136,140 **** event_tag = *m_wxlBindEvent->class_tag; else ! event_tag = wxlState.GetwxEventTag(); // get the s_wxluatag_wxEvent wxlState.lua_CheckStack(LUA_MINSTACK); --- 136,140 ---- event_tag = *m_wxlBindEvent->class_tag; else ! event_tag = g_wxluatag_wxEvent; // get the s_wxluatag_wxEvent wxlState.lua_CheckStack(LUA_MINSTACK); *************** *** 186,190 **** // get a reference to the destroy handler table ! if (m_wxlState.tget(m_wxlState.GetLuaWinDestroyTableTag())) { // create a reference to object --- 186,190 ---- // get a reference to the destroy handler table ! if (m_wxlState.tget(g_wxluatag_wxWinDestroyTable)) { // create a reference to object *************** *** 237,241 **** // Note: do not remove from wxLuaState's destroyHandlerList here, wait 'till destructor ! if (m_wxlState.tget(m_wxlState.GetLuaWinDestroyTableTag())) { // clear the metatable reference in the lua proxy. --- 237,241 ---- // Note: do not remove from wxLuaState's destroyHandlerList here, wait 'till destructor ! if (m_wxlState.tget(g_wxluatag_wxWinDestroyTable)) { // clear the metatable reference in the lua proxy. Index: wxlua_bind.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxlua/src/wxlua_bind.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** wxlua_bind.cpp 14 Jun 2007 05:02:48 -0000 1.2 --- wxlua_bind.cpp 14 Jun 2007 23:59:48 -0000 1.3 *************** *** 160,164 **** int luatype = (int)wxlua_getnumbertype(L, 1); // call wxlua_iswxluatype ! returns = wxlua_iswxluatype(luatype, wxluaarg_tag); // push the result number lua_pushnumber(L, returns); --- 160,164 ---- int luatype = (int)wxlua_getnumbertype(L, 1); // call wxlua_iswxluatype ! returns = (wxlua_iswxluatype(luatype, wxluaarg_tag)); // push the result number lua_pushnumber(L, returns); |
From: John L. <jr...@us...> - 2007-06-14 23:59:52
|
Update of /cvsroot/wxlua/wxLua/modules/wxluasocket/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv16698/wxLua/modules/wxluasocket/src Modified Files: wxluasocket.cpp 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: wxluasocket.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxluasocket/src/wxluasocket.cpp,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** wxluasocket.cpp 14 Jun 2007 01:23:20 -0000 1.28 --- wxluasocket.cpp 14 Jun 2007 23:59:48 -0000 1.29 *************** *** 42,46 **** wxLuaDebuggerServer * self = (wxLuaDebuggerServer *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerServer); // call AddBreakPoint ! returns = self->AddBreakPoint(fileName, lineNumber); // push the result flag lua_pushboolean(L, returns); --- 42,46 ---- wxLuaDebuggerServer * self = (wxLuaDebuggerServer *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerServer); // call AddBreakPoint ! returns = (self->AddBreakPoint(fileName, lineNumber)); // push the result flag lua_pushboolean(L, returns); *************** *** 60,64 **** wxLuaDebuggerServer * self = (wxLuaDebuggerServer *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerServer); // call Break ! returns = self->Break(); // push the result flag lua_pushboolean(L, returns); --- 60,64 ---- wxLuaDebuggerServer * self = (wxLuaDebuggerServer *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerServer); // call Break ! returns = (self->Break()); // push the result flag lua_pushboolean(L, returns); *************** *** 78,82 **** wxLuaDebuggerServer * self = (wxLuaDebuggerServer *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerServer); // call ClearAllBreakPoints ! returns = self->ClearAllBreakPoints(); // push the result flag lua_pushboolean(L, returns); --- 78,82 ---- wxLuaDebuggerServer * self = (wxLuaDebuggerServer *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerServer); // call ClearAllBreakPoints ! returns = (self->ClearAllBreakPoints()); // push the result flag lua_pushboolean(L, returns); *************** *** 96,100 **** wxLuaDebuggerServer * self = (wxLuaDebuggerServer *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerServer); // call Continue ! returns = self->Continue(); // push the result flag lua_pushboolean(L, returns); --- 96,100 ---- wxLuaDebuggerServer * self = (wxLuaDebuggerServer *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerServer); // call Continue ! returns = (self->Continue()); // push the result flag lua_pushboolean(L, returns); *************** *** 139,143 **** wxLuaDebuggerServer * self = (wxLuaDebuggerServer *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerServer); // call EvaluateExpr ! returns = self->EvaluateExpr(exprRef, expr); // push the result flag lua_pushboolean(L, returns); --- 139,143 ---- wxLuaDebuggerServer * self = (wxLuaDebuggerServer *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerServer); // call EvaluateExpr ! returns = (self->EvaluateExpr(exprRef, expr)); // push the result flag lua_pushboolean(L, returns); *************** *** 157,161 **** wxLuaDebuggerServer * self = (wxLuaDebuggerServer *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerServer); // call GetDebuggeeProcessId ! returns = self->GetDebuggeeProcessId(); // push the result number lua_pushnumber(L, returns); --- 157,161 ---- wxLuaDebuggerServer * self = (wxLuaDebuggerServer *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerServer); // call GetDebuggeeProcessId ! returns = (self->GetDebuggeeProcessId()); // push the result number lua_pushnumber(L, returns); *************** *** 172,176 **** wxString returns; // call GetNetworkName ! returns = wxLuaDebuggerServer::GetNetworkName(); // push the result string wxlState.lua_PushString(returns); --- 172,176 ---- wxString returns; // call GetNetworkName ! returns = (wxLuaDebuggerServer::GetNetworkName()); // push the result string wxlState.lua_PushString(returns); *************** *** 187,191 **** wxString returns; // call GetProgramName ! returns = wxLuaDebuggerServer::GetProgramName(); // push the result string wxlState.lua_PushString(returns); --- 187,191 ---- wxString returns; // call GetProgramName ! returns = (wxLuaDebuggerServer::GetProgramName()); // push the result string wxlState.lua_PushString(returns); *************** *** 205,209 **** wxLuaDebuggerServer * self = (wxLuaDebuggerServer *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerServer); // call KillDebuggee ! returns = self->KillDebuggee(); // push the result flag lua_pushboolean(L, returns); --- 205,209 ---- wxLuaDebuggerServer * self = (wxLuaDebuggerServer *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerServer); // call KillDebuggee ! returns = (self->KillDebuggee()); // push the result flag lua_pushboolean(L, returns); *************** *** 227,231 **** wxLuaDebuggerServer * self = (wxLuaDebuggerServer *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerServer); // call RemoveBreakPoint ! returns = self->RemoveBreakPoint(fileName, lineNumber); // push the result flag lua_pushboolean(L, returns); --- 227,231 ---- wxLuaDebuggerServer * self = (wxLuaDebuggerServer *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerServer); // call RemoveBreakPoint ! returns = (self->RemoveBreakPoint(fileName, lineNumber)); // push the result flag lua_pushboolean(L, returns); *************** *** 245,249 **** wxLuaDebuggerServer * self = (wxLuaDebuggerServer *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerServer); // call Reset ! returns = self->Reset(); // push the result flag lua_pushboolean(L, returns); --- 245,249 ---- wxLuaDebuggerServer * self = (wxLuaDebuggerServer *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerServer); // call Reset ! returns = (self->Reset()); // push the result flag lua_pushboolean(L, returns); *************** *** 267,271 **** wxLuaDebuggerServer * self = (wxLuaDebuggerServer *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerServer); // call Run ! returns = self->Run(file, fileName); // push the result flag lua_pushboolean(L, returns); --- 267,271 ---- wxLuaDebuggerServer * self = (wxLuaDebuggerServer *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerServer); // call Run ! returns = (self->Run(file, fileName)); // push the result flag lua_pushboolean(L, returns); *************** *** 285,289 **** wxLuaDebuggerServer * self = (wxLuaDebuggerServer *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerServer); // call StartClient ! returns = self->StartClient(); // push the result number lua_pushnumber(L, returns); --- 285,289 ---- wxLuaDebuggerServer * self = (wxLuaDebuggerServer *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerServer); // call StartClient ! returns = (self->StartClient()); // push the result number lua_pushnumber(L, returns); *************** *** 303,307 **** wxLuaDebuggerServer * self = (wxLuaDebuggerServer *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerServer); // call StartServer ! returns = self->StartServer(); // push the result flag lua_pushboolean(L, returns); --- 303,307 ---- wxLuaDebuggerServer * self = (wxLuaDebuggerServer *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerServer); // call StartServer ! returns = (self->StartServer()); // push the result flag lua_pushboolean(L, returns); *************** *** 321,325 **** wxLuaDebuggerServer * self = (wxLuaDebuggerServer *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerServer); // call Step ! returns = self->Step(); // push the result flag lua_pushboolean(L, returns); --- 321,325 ---- wxLuaDebuggerServer * self = (wxLuaDebuggerServer *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerServer); // call Step ! returns = (self->Step()); // push the result flag lua_pushboolean(L, returns); *************** *** 339,343 **** wxLuaDebuggerServer * self = (wxLuaDebuggerServer *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerServer); // call StepOut ! returns = self->StepOut(); // push the result flag lua_pushboolean(L, returns); --- 339,343 ---- wxLuaDebuggerServer * self = (wxLuaDebuggerServer *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerServer); // call StepOut ! returns = (self->StepOut()); // push the result flag lua_pushboolean(L, returns); *************** *** 357,361 **** wxLuaDebuggerServer * self = (wxLuaDebuggerServer *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerServer); // call StepOver ! returns = self->StepOver(); // push the result flag lua_pushboolean(L, returns); --- 357,361 ---- wxLuaDebuggerServer * self = (wxLuaDebuggerServer *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerServer); // call StepOver ! returns = (self->StepOver()); // push the result flag lua_pushboolean(L, returns); *************** *** 375,379 **** wxLuaDebuggerServer * self = (wxLuaDebuggerServer *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerServer); // call StopServer ! returns = self->StopServer(); // push the result flag lua_pushboolean(L, returns); --- 375,379 ---- wxLuaDebuggerServer * self = (wxLuaDebuggerServer *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerServer); // call StopServer ! returns = (self->StopServer()); // push the result flag lua_pushboolean(L, returns); *************** *** 468,472 **** wxLuaDebuggerEvent * self = (wxLuaDebuggerEvent *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerEvent); // call GetFileName ! returns = self->GetFileName(); // push the result string wxlState.lua_PushString(returns); --- 468,472 ---- wxLuaDebuggerEvent * self = (wxLuaDebuggerEvent *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerEvent); // call GetFileName ! returns = (self->GetFileName()); // push the result string wxlState.lua_PushString(returns); *************** *** 486,490 **** wxLuaDebuggerEvent * self = (wxLuaDebuggerEvent *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerEvent); // call GetLineNumber ! returns = self->GetLineNumber(); // push the result number lua_pushnumber(L, returns); --- 486,490 ---- wxLuaDebuggerEvent * self = (wxLuaDebuggerEvent *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerEvent); // call GetLineNumber ! returns = (self->GetLineNumber()); // push the result number lua_pushnumber(L, returns); *************** *** 504,508 **** wxLuaDebuggerEvent * self = (wxLuaDebuggerEvent *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerEvent); // call GetMessage ! returns = self->GetMessage(); // push the result string wxlState.lua_PushString(returns); --- 504,508 ---- wxLuaDebuggerEvent * self = (wxLuaDebuggerEvent *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerEvent); // call GetMessage ! returns = (self->GetMessage()); // push the result string wxlState.lua_PushString(returns); *************** *** 522,526 **** wxLuaDebuggerEvent * self = (wxLuaDebuggerEvent *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerEvent); // call GetReference ! returns = self->GetReference(); // push the result number lua_pushnumber(L, returns); --- 522,526 ---- wxLuaDebuggerEvent * self = (wxLuaDebuggerEvent *)wxlState.GetUserDataType(1, s_wxluatag_wxLuaDebuggerEvent); // call GetReference ! returns = (self->GetReference()); // push the result number lua_pushnumber(L, returns); |
From: John L. <jr...@us...> - 2007-06-14 23:59:52
|
Update of /cvsroot/wxlua/wxLua/modules/wxluadebug/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv16698/wxLua/modules/wxluadebug/src Modified Files: wxldebug.cpp wxlstack.cpp 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: wxlstack.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxluadebug/src/wxlstack.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** wxlstack.cpp 8 Jun 2007 01:36:32 -0000 1.4 --- wxlstack.cpp 14 Jun 2007 23:59:48 -0000 1.5 *************** *** 350,355 **** --- 350,364 ---- // If at global scope, process globals if (m_stack_sel == (int)m_stackEntries.GetCount() - 1) + { EnumerateGlobalData(m_listCtrl->GetItemCount()); + if (m_wxlState.Ok()) + { + wxLuaDebugData debugData1; + debugData1.EnumerateTable(m_wxlState, LUA_REGISTRYINDEX, -1, m_luaReferences); // Get global table + FillTableEntry(m_listCtrl->GetItemCount(), debugData1); + } + } + if (m_wxlState.Ok()) GetDerivedAndTrackedItems(); *************** *** 397,401 **** info.SetId(lc_item); - m_listCtrl->SetItem(lc_item, 1, wxString::Format(wxT("%d:%d"), level+1, n+1)); m_listCtrl->SetItem(lc_item, 2, item->GetType()); --- 406,409 ---- Index: wxldebug.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxluadebug/src/wxldebug.cpp,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** wxldebug.cpp 14 Jun 2007 05:02:49 -0000 1.33 --- wxldebug.cpp 14 Jun 2007 23:59:48 -0000 1.34 *************** *** 245,253 **** int count = 0; ! if (tableRef == -1) { wxlState.GetGlobals(); int nRef = wxlState.tinsert(-1); ! Add(new wxLuaDebugItem(wxT("Globals"), wxT("Table"), wxT(""), wxT(""), nRef, 0, WXLUA_DEBUGITEM_TTABLE)); references.Add(nRef); } --- 245,267 ---- int count = 0; ! wxString type; ! wxString value; ! wxString name; ! int flag_type = WXLUA_DEBUGITEM_TUNKNOWN; ! ! if ((tableRef == -1) || (tableRef == LUA_GLOBALSINDEX)) { wxlState.GetGlobals(); + GetTypeValue(wxlState, -1, type, value, &flag_type); int nRef = wxlState.tinsert(-1); ! Add(new wxLuaDebugItem(wxT("Globals"), wxT("Table"), value, wxT(""), nRef, 0, WXLUA_DEBUGITEM_TTABLE)); ! references.Add(nRef); ! } ! else if (tableRef == LUA_REGISTRYINDEX) ! { ! wxlState.lua_PushValue(LUA_REGISTRYINDEX); ! GetTypeValue(wxlState, -1, type, value, &flag_type); ! int nRef = wxlState.tinsert(-1); ! Add(new wxLuaDebugItem(wxT("Lua Registry"), wxT("Table"), value, wxT(""), nRef, 0, WXLUA_DEBUGITEM_TTABLE)); references.Add(nRef); } *************** *** 256,263 **** if (wxlState.tget(tableRef)) { ! wxString type; ! wxString value; ! wxString name; ! int flag_type = WXLUA_DEBUGITEM_TUNKNOWN; int nTop = lua_gettop(L); --- 270,286 ---- if (wxlState.tget(tableRef)) { ! // ------------------------------ ! // if we're actually looking at the wxLuaReferences table we'd just ! // keep adding new refs, so count what we've got now and show only them. ! // This is only for debugging or curiosity. ! int is_reftable = -1; ! wxlua_pushkey_wxLuaReferences(L); ! wxlState.lua_RawGet(LUA_REGISTRYINDEX); ! ! if (wxlState.lua_Equal(-1, -2)) ! is_reftable = lua_objlen(L, -1); ! ! wxlState.lua_Pop(1); ! // ------------------------------ int nTop = lua_gettop(L); *************** *** 265,269 **** // start iterating lua_pushnil(L); ! while (lua_next(L, nTop) != 0) { // get the index, just want the name=value, type is dummy here --- 288,292 ---- // start iterating lua_pushnil(L); ! while ((lua_next(L, nTop) != 0) && ((is_reftable < 0) || (count < is_reftable))) { // get the index, just want the name=value, type is dummy here *************** *** 272,275 **** --- 295,300 ---- GetTypeValue(wxlState, -1, type, value, &flag_type); + //wxPrintf(wxT("wxLuaDebugData::EnumerateTable %d type='%s' key='%s' val='%s'\n"), count, type.c_str(), name.c_str(), value.c_str()); + int nRef = LUA_NOREF; if (lua_istable(L, -1)) |
From: John L. <jr...@us...> - 2007-06-14 23:59:52
|
Update of /cvsroot/wxlua/wxLua/modules/wxbindstc/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv16698/wxLua/modules/wxbindstc/src Modified Files: stc.cpp 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: stc.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxbindstc/src/stc.cpp,v retrieving revision 1.40 retrieving revision 1.41 diff -C2 -d -r1.40 -r1.41 *** stc.cpp 14 Jun 2007 01:23:19 -0000 1.40 --- stc.cpp 14 Jun 2007 23:59:48 -0000 1.41 *************** *** 123,127 **** wxStyledTextCtrl * self = (wxStyledTextCtrl *)wxlState.GetUserDataType(1, s_wxluatag_wxStyledTextCtrl); // call AutoCompActive ! returns = self->AutoCompActive(); // push the result flag lua_pushboolean(L, returns); --- 123,127 ---- wxStyledTextCtrl * self = (wxStyledTextCtrl *)wxlState.GetUserDataType(1, s_wxluatag_wxStyledTextCtrl); // call AutoCompActive ! returns = (self->AutoCompActive()); // push the result flag [...2126 lines suppressed...] lua_pushnumber(L, returns); --- 8952,8956 ---- wxStyledTextEvent * self = (wxStyledTextEvent *)wxlState.GetUserDataType(1, s_wxluatag_wxStyledTextEvent); // call GetX ! returns = (self->GetX()); // push the result number lua_pushnumber(L, returns); *************** *** 8970,8974 **** wxStyledTextEvent * self = (wxStyledTextEvent *)wxlState.GetUserDataType(1, s_wxluatag_wxStyledTextEvent); // call GetY ! returns = self->GetY(); // push the result number lua_pushnumber(L, returns); --- 8970,8974 ---- wxStyledTextEvent * self = (wxStyledTextEvent *)wxlState.GetUserDataType(1, s_wxluatag_wxStyledTextEvent); // call GetY ! returns = (self->GetY()); // push the result number lua_pushnumber(L, returns); |
From: John L. <jr...@us...> - 2007-06-14 23:59:52
|
Update of /cvsroot/wxlua/wxLua/modules/wxlua/include In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv16698/wxLua/modules/wxlua/include Modified Files: wxlbind.h wxlstate.h 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: wxlbind.h =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxlua/include/wxlbind.h,v retrieving revision 1.50 retrieving revision 1.51 diff -C2 -d -r1.50 -r1.51 *** wxlbind.h 13 Jun 2007 00:09:04 -0000 1.50 --- wxlbind.h 14 Jun 2007 23:59:48 -0000 1.51 *************** *** 46,49 **** --- 46,61 ---- // wxlua arg tags for common lua types + #define WXLUAARG_None 0 + #define WXLUAARG_Nil -2 + #define WXLUAARG_Boolean -3 + #define WXLUAARG_LightUserData -4 + #define WXLUAARG_Number -5 + #define WXLUAARG_String -6 + #define WXLUAARG_LuaTable -7 + #define WXLUAARG_LuaFunction -8 + #define WXLUAARG_UserData -9 + #define WXLUAARG_LuaThread -10 + #define WXLUAARG_Integer -11 + extern WXDLLIMPEXP_DATA_WXLUA(int) s_wxluaarg_None; extern WXDLLIMPEXP_DATA_WXLUA(int) s_wxluaarg_Nil; *************** *** 58,72 **** extern WXDLLIMPEXP_DATA_WXLUA(int) s_wxluaarg_Integer; ! #define WXLUAARG_None 0 ! #define WXLUAARG_Nil -2 ! #define WXLUAARG_Boolean -3 ! #define WXLUAARG_LightUserData -4 ! #define WXLUAARG_Number -5 ! #define WXLUAARG_String -6 ! #define WXLUAARG_LuaTable -7 ! #define WXLUAARG_LuaFunction -8 ! #define WXLUAARG_UserData -9 ! #define WXLUAARG_LuaThread -10 ! #define WXLUAARG_Integer -11 typedef int* wxLuaArgTag; // address of class tag (a pointer to it) --- 70,81 ---- extern WXDLLIMPEXP_DATA_WXLUA(int) s_wxluaarg_Integer; ! // copies of wxlua arg tags for binding types that are used very often ! extern WXDLLIMPEXP_DATA_WXLUA(int) g_wxluatag_wxLuaFunction; // The lua tag for wxLuaFunctions. ! extern WXDLLIMPEXP_DATA_WXLUA(int) g_wxluatag_wxWinDestroyTable; // The lua tag for the wxWindow destroy tracking table ! extern WXDLLIMPEXP_DATA_WXLUA(int) g_wxluatag_NULL; // The lua tag for NULL pointer ! extern WXDLLIMPEXP_DATA_WXLUA(int) g_wxluatag_wxEvent; // The lua tag for wxEvents ! extern WXDLLIMPEXP_DATA_WXLUA(int) g_wxluatag_wxWindow; // The lua tag for wxWindows ! extern WXDLLIMPEXP_DATA_WXLUA(int) g_wxluatag_wxString; // The lua tag for wxStrings ! typedef int* wxLuaArgTag; // address of class tag (a pointer to it) *************** *** 196,201 **** // wxLuaObject - wraps a reference to a Lua object reference inside a // wxObject-derived class so that a Lua object can be used for ! // user data, and also with a simple extension by the ! // input/output mechanism of the wxValidator classes. // ---------------------------------------------------------------------------- --- 205,210 ---- // wxLuaObject - wraps a reference to a Lua object reference inside a // wxObject-derived class so that a Lua object can be used for ! // user data, and also with a simple extension by a proxy member ! // value it can be used to provide pointers to the wxValidator classes. // ---------------------------------------------------------------------------- *************** *** 209,216 **** }; ! class WXDLLIMPEXP_WXLUA wxLuaObject : public wxObject { public: ! // Wrap the item at the lua_State's stack index and create a reference to it. // in the wxLuaReferences registy table wxLuaObject(const wxLuaState& wxlState, int stack_idx = 1); --- 218,225 ---- }; ! class WXDLLIMPEXP_WXLUA wxLuaObject : public wxObject, wxClientData { public: ! // Wrap the item at the lua_State's stack index and create a reference to it // in the wxLuaReferences registy table wxLuaObject(const wxLuaState& wxlState, int stack_idx = 1); *************** *** 223,227 **** // on failure and nothing is pushed on the stack. bool GetObject(); ! // Remove any existing reference and allocate another void SetObject(int stack_idx = 1); --- 232,238 ---- // on failure and nothing is pushed on the stack. bool GetObject(); ! // Remove any existing reference and allocate another. ! // You cannot call this after calling GetXXXPtr() however only if this wraps a ! // stack item. void SetObject(int stack_idx = 1); *************** *** 231,234 **** --- 242,246 ---- // and return a pointer to member variable to a function that wants // a pointer to read/write from/to. + // You may only call only one of these per instance of a wxLuaObject class. bool *GetBoolPtr(); int *GetIntPtr(); *************** *** 237,245 **** // Return a flag value that indicated whether the ! // object is being used by a wxValidator class (else 0). ! int GetAllocationFlags() const { return m_alloc_flags; } ! bool HasAllocationFlag(wxLuaObject_Type flag) const { return (m_alloc_flags & flag) != 0; } ! // Set or remove the single or ored allocation flag(s) ! int SetAllocationFlag(wxLuaObject_Type flag, bool set); wxLuaState GetwxLuaState() const; --- 249,254 ---- // Return a flag value that indicated whether the ! // object is being used by a wxValidator class (else wxLUAOBJECT_NONE). ! wxLuaObject_Type GetAllocationFlag() const { return m_alloc_flag; } wxLuaState GetwxLuaState() const; *************** *** 248,256 **** wxLuaState* m_wxlState; // a pointer due to include recursion. int m_reference; ! bool m_bool; ! int m_int; ! wxString m_string; ! wxArrayInt m_arrayInt; ! int m_alloc_flags; DECLARE_ABSTRACT_CLASS(wxLuaObject) --- 257,269 ---- wxLuaState* m_wxlState; // a pointer due to include recursion. int m_reference; ! wxLuaObject_Type m_alloc_flag; ! ! union ! { ! bool m_bool; ! int m_int; ! wxString* m_string; ! wxArrayInt* m_arrayInt; ! }; DECLARE_ABSTRACT_CLASS(wxLuaObject) Index: wxlstate.h =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxlua/include/wxlstate.h,v retrieving revision 1.78 retrieving revision 1.79 diff -C2 -d -r1.78 -r1.79 *** wxlstate.h 14 Jun 2007 05:02:48 -0000 1.78 --- wxlstate.h 14 Jun 2007 23:59:48 -0000 1.79 *************** *** 88,110 **** // ---------------------------------------------------------------------------- ! // Push a special string into lua, defines to make sure it's always done the same // ---------------------------------------------------------------------------- ! // Push the "wxLuaReferences" string onto the stack. This is the name of an ! // index in the LUA_REGISTRYINDEX table that is a table indexed on the "tags" and each item ! // is a metatable for classes or a reference to an object we want to keep a handle to. ! #define wxlua_pushstring_wxLuaReferences(L) lua_pushlstring(L, "wxLuaReferences", 15) ! // Push the "wxLuaClasses" string onto the stack. This is the name of an ! // index in the LUA_REGISTRYINDEX table that is a table // t[wxLuaBindClass.name] = wxLuaBindClass, where the wxLuaBindClass is a lightuserdata. ! #define wxlua_pushstring_wxLuaClasses(L) lua_pushlstring(L, "wxLuaClasses", 12) ! // Push the "wxLuaDerivedMethods" string onto the stack. This is the name of an ! // index in the LUA_REGISTRYINDEX table that is a table // t[lightuserdata object] = {["derived func/value name"] = wxLuaObject(lua function/value), ...} ! #define wxlua_pushstring_wxLuaDerivedMethods(L) lua_pushlstring(L, "wxLuaDerivedMethods", 19) ! // Push the "wxLuaStateRefData" string onto the stack. This is the name of an ! // index of the LUA_REGISTRYINDEX table that is a lightuserdata of the // wxLuaStateRefData for this lua_State. ! #define wxlua_pushstring_wxLuaStateRefData(L) lua_pushlstring(L, "wxLuaStateRefData", 17) //---------------------------------------------------------------------------- --- 88,125 ---- // ---------------------------------------------------------------------------- ! // Push a special number into lua, defines to make sure it's always done the same. ! // ! // Note we do not push a human readable string for these because lua always makes ! // a copy of the string and the copying takes a considerable amount of time ! // when benchmarked using valgrind. // ---------------------------------------------------------------------------- ! #define WXLUA_LREG_REFERENCES -100000 ! #define WXLUA_LREG_CLASSES -100001 ! #define WXLUA_LREG_DERIVED_METHODS -100002 ! #define WXLUA_LREG_WXLUASTATEREFDATA -100003 ! #define WXLUA_METATABLE_TAG 0 ! #define WXLUA_METATABLE_CLASS 1 ! ! // Push a key that is index in the LUA_REGISTRYINDEX table that is a table indexed ! // on the "tags" and each item is a metatable for classes ! // or a reference to an object we want to keep a handle to. ! #define wxlua_pushkey_wxLuaReferences(L) lua_pushnumber(L, WXLUA_LREG_REFERENCES) ! // Push a key that is an index in the LUA_REGISTRYINDEX table that is a table // t[wxLuaBindClass.name] = wxLuaBindClass, where the wxLuaBindClass is a lightuserdata. ! #define wxlua_pushkey_wxLuaClasses(L) lua_pushnumber(L, WXLUA_LREG_CLASSES) ! // Push a key that is an index in the LUA_REGISTRYINDEX table that is a table // t[lightuserdata object] = {["derived func/value name"] = wxLuaObject(lua function/value), ...} ! #define wxlua_pushkey_wxLuaDerivedMethods(L) lua_pushnumber(L, WXLUA_LREG_DERIVED_METHODS) ! // Push a key of an index of the LUA_REGISTRYINDEX table that is a lightuserdata of the // wxLuaStateRefData for this lua_State. ! #define wxlua_pushkey_wxLuaStateRefData(L) lua_pushnumber(L, WXLUA_LREG_WXLUASTATEREFDATA) ! ! // Push a key of an index into the metatable of a wxLua userdata for the "tag" ! // in the wxLuaReferences table. ! #define wxlua_pushkey_metatableTag(L) lua_pushnumber(L, WXLUA_METATABLE_TAG) ! // Push a key of an index into the metatable of a wxLua userdata for the wxLuaBindClass ! // in the wxLuaReferences table. ! #define wxlua_pushkey_metatableClass(L) lua_pushnumber(L, WXLUA_METATABLE_CLASS) //---------------------------------------------------------------------------- *************** *** 280,290 **** bool m_bindings_registered; // Are the bindings registered into the lua_State - int m_wxluatag_wxLuaFunction; // The lua tag for wxLuaFunctions. - int m_wxluatag_NULL; // The lua tag for NULL pointer - int m_wxluatag_wxWinDestroyTable; // The lua tag for the wxWindow destroy tracking table - int m_wxluatag_wxEvent; // The lua tag for wxEvents - int m_wxluatag_wxWindow; // The lua tag for wxWindows - int m_wxluatag_wxString; // The lua tag for wxStrings - bool m_callbase_func; // call the base class function instead of derived func --- 295,298 ---- *************** *** 568,578 **** bool GetBindingsRegistered() const; // Are the binding registered - int GetwxLuaFunctionTag() const; // The lua tag for wxLuaFunction objects. - int GetLuaNULLTag() const; // The lua tag for NULL pointer - int GetLuaWinDestroyTableTag() const; // The lua tag for the wxWindow destroy tracking table - int GetwxEventTag() const; // The lua tag for wxEvents - int GetwxWindowTag() const; // The lua tag for wxWindows - int GetwxStringTag() const; // The lua tag for wxStrings - // When looking up a function to call, should the base class function // be called or the wxlua dervived method (internal use) --- 576,579 ---- |
From: John L. <jr...@us...> - 2007-06-14 12:23:10
|
Update of /cvsroot/wxlua/wxLua/modules/build/msw In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv6265/wxLua/modules/build/msw Modified Files: makefile.bcc makefile.gcc makefile.vc makefile.wat Log Message: Update build files for bindings/wxlua files in modules/wxlua Fix calling convention for bitlib Index: makefile.vc =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/build/msw/makefile.vc,v retrieving revision 1.66 retrieving revision 1.67 diff -C2 -d -r1.66 -r1.67 *** makefile.vc 24 May 2007 00:59:45 -0000 1.66 --- makefile.vc 14 Jun 2007 12:23:04 -0000 1.67 *************** *** 172,176 **** vcmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_lib_wxlbind.obj \ vcmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_lib_wxlcallb.obj \ ! vcmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_lib_wxlstate.obj WXLUA_DLL_CXXFLAGS = /M$(__RUNTIME_LIBS_43)$(VAR_69) /DWIN32 \ /I..\..\..\modules\wxbind\setup $(____WX_SHARED) $(__WXUNICODE_DEFINE_p) \ --- 172,178 ---- vcmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_lib_wxlbind.obj \ vcmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_lib_wxlcallb.obj \ ! vcmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_lib_wxlstate.obj \ ! vcmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_lib_wxlua.obj \ ! vcmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_lib_wxlua_bind.obj WXLUA_DLL_CXXFLAGS = /M$(__RUNTIME_LIBS_43)$(VAR_69) /DWIN32 \ /I..\..\..\modules\wxbind\setup $(____WX_SHARED) $(__WXUNICODE_DEFINE_p) \ *************** *** 187,191 **** vcmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_wxlbind.obj \ vcmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_wxlcallb.obj \ ! vcmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_wxlstate.obj WXBIND_LIB_CXXFLAGS = /M$(__RUNTIME_LIBS_56)$(VAR_69) /DWIN32 \ /I..\..\..\modules\wxbind\setup $(____WX_SHARED) $(__WXUNICODE_DEFINE_p) \ --- 189,195 ---- vcmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_wxlbind.obj \ vcmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_wxlcallb.obj \ ! vcmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_wxlstate.obj \ ! vcmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_wxlua.obj \ ! vcmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_wxlua_bind.obj WXBIND_LIB_CXXFLAGS = /M$(__RUNTIME_LIBS_56)$(VAR_69) /DWIN32 \ /I..\..\..\modules\wxbind\setup $(____WX_SHARED) $(__WXUNICODE_DEFINE_p) \ *************** *** 1071,1074 **** --- 1075,1084 ---- $(CXX) /c /nologo /TP /Fo$@ $(WXLUA_LIB_CXXFLAGS) $** + vcmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_lib_wxlua.obj: ..\..\wxlua\src\wxlua.cpp + $(CXX) /c /nologo /TP /Fo$@ $(WXLUA_LIB_CXXFLAGS) $** + + vcmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_lib_wxlua_bind.obj: ..\..\wxlua\src\wxlua_bind.cpp + $(CXX) /c /nologo /TP /Fo$@ $(WXLUA_LIB_CXXFLAGS) $** + vcmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_dummy.obj: ..\..\wxlua\src\dummy.cpp $(CXX) /c /nologo /TP /Fo$@ $(WXLUA_DLL_CXXFLAGS) /Ycwx/wxprec.h $** *************** *** 1083,1086 **** --- 1093,1102 ---- $(CXX) /c /nologo /TP /Fo$@ $(WXLUA_DLL_CXXFLAGS) $** + vcmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_wxlua.obj: ..\..\wxlua\src\wxlua.cpp + $(CXX) /c /nologo /TP /Fo$@ $(WXLUA_DLL_CXXFLAGS) $** + + vcmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_wxlua_bind.obj: ..\..\wxlua\src\wxlua_bind.cpp + $(CXX) /c /nologo /TP /Fo$@ $(WXLUA_DLL_CXXFLAGS) $** + vcmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxbind_lib_appframe.obj: ..\..\wxbind\src\appframe.cpp $(CXX) /c /nologo /TP /Fo$@ $(WXBIND_LIB_CXXFLAGS) $** Index: makefile.bcc =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/build/msw/makefile.bcc,v retrieving revision 1.67 retrieving revision 1.68 diff -C2 -d -r1.67 -r1.68 *** makefile.bcc 24 May 2007 00:59:44 -0000 1.67 --- makefile.bcc 14 Jun 2007 12:23:04 -0000 1.68 *************** *** 213,217 **** bccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_lib_wxlbind.obj \ bccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_lib_wxlcallb.obj \ ! bccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_lib_wxlstate.obj WXLUA_DLL_CXXFLAGS = $(__RUNTIME_LIBS) -I$(BCCDIR)\include \ -I..\..\..\modules\wxbind\setup $(____WX_SHARED) $(__WXUNICODE_DEFINE_p) \ --- 213,219 ---- bccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_lib_wxlbind.obj \ bccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_lib_wxlcallb.obj \ ! bccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_lib_wxlstate.obj \ ! bccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_lib_wxlua.obj \ ! bccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_lib_wxlua_bind.obj WXLUA_DLL_CXXFLAGS = $(__RUNTIME_LIBS) -I$(BCCDIR)\include \ -I..\..\..\modules\wxbind\setup $(____WX_SHARED) $(__WXUNICODE_DEFINE_p) \ *************** *** 226,230 **** bccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_wxlbind.obj \ bccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_wxlcallb.obj \ ! bccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_wxlstate.obj WXBIND_LIB_CXXFLAGS = $(__RUNTIME_LIBS) -I$(BCCDIR)\include \ -I..\..\..\modules\wxbind\setup $(____WX_SHARED) $(__WXUNICODE_DEFINE_p) \ --- 228,234 ---- bccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_wxlbind.obj \ bccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_wxlcallb.obj \ ! bccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_wxlstate.obj \ ! bccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_wxlua.obj \ ! bccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_wxlua_bind.obj WXBIND_LIB_CXXFLAGS = $(__RUNTIME_LIBS) -I$(BCCDIR)\include \ -I..\..\..\modules\wxbind\setup $(____WX_SHARED) $(__WXUNICODE_DEFINE_p) \ *************** *** 1051,1054 **** --- 1055,1064 ---- $(CXX) -q -c -P -o$@ $(WXLUA_LIB_CXXFLAGS) $** + bccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_lib_wxlua.obj: ..\..\wxlua\src\wxlua.cpp + $(CXX) -q -c -P -o$@ $(WXLUA_LIB_CXXFLAGS) $** + + bccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_lib_wxlua_bind.obj: ..\..\wxlua\src\wxlua_bind.cpp + $(CXX) -q -c -P -o$@ $(WXLUA_LIB_CXXFLAGS) $** + bccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_dummy.obj: ..\..\wxlua\src\dummy.cpp $(CXX) -q -c -P -o$@ $(WXLUA_DLL_CXXFLAGS) -H $** *************** *** 1063,1066 **** --- 1073,1082 ---- $(CXX) -q -c -P -o$@ $(WXLUA_DLL_CXXFLAGS) $** + bccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_wxlua.obj: ..\..\wxlua\src\wxlua.cpp + $(CXX) -q -c -P -o$@ $(WXLUA_DLL_CXXFLAGS) $** + + bccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_wxlua_bind.obj: ..\..\wxlua\src\wxlua_bind.cpp + $(CXX) -q -c -P -o$@ $(WXLUA_DLL_CXXFLAGS) $** + bccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxbind_lib_appframe.obj: ..\..\wxbind\src\appframe.cpp $(CXX) -q -c -P -o$@ $(WXBIND_LIB_CXXFLAGS) $** Index: makefile.wat =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/build/msw/makefile.wat,v retrieving revision 1.66 retrieving revision 1.67 diff -C2 -d -r1.66 -r1.67 *** makefile.wat 24 May 2007 00:59:45 -0000 1.66 --- makefile.wat 14 Jun 2007 12:23:04 -0000 1.67 *************** *** 627,631 **** watmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_lib_wxlbind.obj & watmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_lib_wxlcallb.obj & ! watmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_lib_wxlstate.obj WXLUA_DLL_CXXFLAGS = -bd -i=..\..\..\modules\wxbind\setup $(____WX_SHARED) & $(__WXUNICODE_DEFINE_p) $(__WXDEBUG_DEFINE_p) -d__WXMSW__ & --- 627,633 ---- watmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_lib_wxlbind.obj & watmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_lib_wxlcallb.obj & ! watmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_lib_wxlstate.obj & ! watmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_lib_wxlua.obj & ! watmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_lib_wxlua_bind.obj WXLUA_DLL_CXXFLAGS = -bd -i=..\..\..\modules\wxbind\setup $(____WX_SHARED) & $(__WXUNICODE_DEFINE_p) $(__WXDEBUG_DEFINE_p) -d__WXMSW__ & *************** *** 638,642 **** watmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_wxlbind.obj & watmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_wxlcallb.obj & ! watmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_wxlstate.obj WXBIND_LIB_CXXFLAGS = -i=..\..\..\modules\wxbind\setup $(____WX_SHARED) & $(__WXUNICODE_DEFINE_p) $(__WXDEBUG_DEFINE_p) -d__WXMSW__ & --- 640,646 ---- watmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_wxlbind.obj & watmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_wxlcallb.obj & ! watmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_wxlstate.obj & ! watmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_wxlua.obj & ! watmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_wxlua_bind.obj WXBIND_LIB_CXXFLAGS = -i=..\..\..\modules\wxbind\setup $(____WX_SHARED) & $(__WXUNICODE_DEFINE_p) $(__WXDEBUG_DEFINE_p) -d__WXMSW__ & *************** *** 1225,1228 **** --- 1229,1238 ---- $(CXX) -bt=nt -zq -fo=$^@ $(WXLUA_LIB_CXXFLAGS) $< + watmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_lib_wxlua.obj : .AUTODEPEND ..\..\wxlua\src\wxlua.cpp + $(CXX) -bt=nt -zq -fo=$^@ $(WXLUA_LIB_CXXFLAGS) $< + + watmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_lib_wxlua_bind.obj : .AUTODEPEND ..\..\wxlua\src\wxlua_bind.cpp + $(CXX) -bt=nt -zq -fo=$^@ $(WXLUA_LIB_CXXFLAGS) $< + watmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_dummy.obj : .AUTODEPEND ..\..\wxlua\src\dummy.cpp $(CXX) -bt=nt -zq -fo=$^@ $(WXLUA_DLL_CXXFLAGS) $< *************** *** 1237,1240 **** --- 1247,1256 ---- $(CXX) -bt=nt -zq -fo=$^@ $(WXLUA_DLL_CXXFLAGS) $< + watmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_wxlua.obj : .AUTODEPEND ..\..\wxlua\src\wxlua.cpp + $(CXX) -bt=nt -zq -fo=$^@ $(WXLUA_DLL_CXXFLAGS) $< + + watmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_wxlua_bind.obj : .AUTODEPEND ..\..\wxlua\src\wxlua_bind.cpp + $(CXX) -bt=nt -zq -fo=$^@ $(WXLUA_DLL_CXXFLAGS) $< + watmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxbind_lib_appframe.obj : .AUTODEPEND ..\..\wxbind\src\appframe.cpp $(CXX) -bt=nt -zq -fo=$^@ $(WXBIND_LIB_CXXFLAGS) $< Index: makefile.gcc =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/build/msw/makefile.gcc,v retrieving revision 1.66 retrieving revision 1.67 diff -C2 -d -r1.66 -r1.67 *** makefile.gcc 24 May 2007 00:59:45 -0000 1.66 --- makefile.gcc 14 Jun 2007 12:23:04 -0000 1.67 *************** *** 153,157 **** gccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_lib_wxlbind.o \ gccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_lib_wxlcallb.o \ ! gccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_lib_wxlstate.o WXLUA_DLL_CXXFLAGS = -I..\..\..\modules\wxbind\setup -DHAVE_W32API_H \ $(____WX_SHARED) $(__WXUNICODE_DEFINE_p) $(__WXDEBUG_DEFINE_p) -D__WXMSW__ \ --- 153,159 ---- gccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_lib_wxlbind.o \ gccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_lib_wxlcallb.o \ ! gccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_lib_wxlstate.o \ ! gccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_lib_wxlua.o \ ! gccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_lib_wxlua_bind.o WXLUA_DLL_CXXFLAGS = -I..\..\..\modules\wxbind\setup -DHAVE_W32API_H \ $(____WX_SHARED) $(__WXUNICODE_DEFINE_p) $(__WXDEBUG_DEFINE_p) -D__WXMSW__ \ *************** *** 164,168 **** gccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_wxlbind.o \ gccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_wxlcallb.o \ ! gccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_wxlstate.o WXBIND_LIB_CXXFLAGS = -I..\..\..\modules\wxbind\setup -DHAVE_W32API_H \ $(____WX_SHARED) $(__WXUNICODE_DEFINE_p) $(__WXDEBUG_DEFINE_p) -D__WXMSW__ \ --- 166,172 ---- gccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_wxlbind.o \ gccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_wxlcallb.o \ ! gccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_wxlstate.o \ ! gccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_wxlua.o \ ! gccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_wxlua_bind.o WXBIND_LIB_CXXFLAGS = -I..\..\..\modules\wxbind\setup -DHAVE_W32API_H \ $(____WX_SHARED) $(__WXUNICODE_DEFINE_p) $(__WXDEBUG_DEFINE_p) -D__WXMSW__ \ *************** *** 1075,1078 **** --- 1079,1088 ---- $(CXX) -c -o $@ $(WXLUA_LIB_CXXFLAGS) $(CPPDEPS) $< + gccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_lib_wxlua.o: ../../wxlua/src/wxlua.cpp + $(CXX) -c -o $@ $(WXLUA_LIB_CXXFLAGS) $(CPPDEPS) $< + + gccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_lib_wxlua_bind.o: ../../wxlua/src/wxlua_bind.cpp + $(CXX) -c -o $@ $(WXLUA_LIB_CXXFLAGS) $(CPPDEPS) $< + gccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_dummy.o: ../../wxlua/src/dummy.cpp $(CXX) -c -o $@ $(WXLUA_DLL_CXXFLAGS) $(CPPDEPS) $< *************** *** 1087,1090 **** --- 1097,1106 ---- $(CXX) -c -o $@ $(WXLUA_DLL_CXXFLAGS) $(CPPDEPS) $< + gccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_wxlua.o: ../../wxlua/src/wxlua.cpp + $(CXX) -c -o $@ $(WXLUA_DLL_CXXFLAGS) $(CPPDEPS) $< + + gccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxlua_dll_wxlua_bind.o: ../../wxlua/src/wxlua_bind.cpp + $(CXX) -c -o $@ $(WXLUA_DLL_CXXFLAGS) $(CPPDEPS) $< + gccmsw$(WXLIBPOSTFIX)$(_BUILDDIR_SHARED_SUFFIX)\wxbind_lib_appframe.o: ../../wxbind/src/appframe.cpp $(CXX) -c -o $@ $(WXBIND_LIB_CXXFLAGS) $(CPPDEPS) $< |
From: John L. <jr...@us...> - 2007-06-14 12:23:09
|
Update of /cvsroot/wxlua/wxLua/modules/build/msvc8 In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv6265/wxLua/modules/build/msvc8 Modified Files: modules_mod_wxlua.vcproj Log Message: Update build files for bindings/wxlua files in modules/wxlua Fix calling convention for bitlib Index: modules_mod_wxlua.vcproj =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/build/msvc8/modules_mod_wxlua.vcproj,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** modules_mod_wxlua.vcproj 24 Apr 2007 14:40:01 -0000 1.3 --- modules_mod_wxlua.vcproj 14 Jun 2007 12:23:04 -0000 1.4 *************** *** 346,349 **** --- 346,351 ---- <File RelativePath="..\..\wxlua\src\wxlcallb.cpp"/> <File RelativePath="..\..\wxlua\src\wxlstate.cpp"/> + <File RelativePath="..\..\wxlua\src\wxlua.cpp"/> + <File RelativePath="..\..\wxlua\src\wxlua_bind.cpp"/> </Filter> <Filter Name="WXLUA headers" UniqueIdentifier="{774E592C-5F0A-52C8-965C-C79908706A85}"> *************** *** 353,356 **** --- 355,359 ---- <File RelativePath="..\..\wxlua\include\wxlstate.h"/> <File RelativePath="..\..\wxlua\include\wxlua.h"/> + <File RelativePath="..\..\wxlua\include\wxlua_bind.h"/> </Filter> </Files> |
From: John L. <jr...@us...> - 2007-06-14 12:23:09
|
Update of /cvsroot/wxlua/wxLua/modules/wxlua/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv6265/wxLua/modules/wxlua/src Modified Files: Makefile wxlstate.cpp Log Message: Update build files for bindings/wxlua files in modules/wxlua Fix calling convention for bitlib Index: wxlstate.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxlua/src/wxlstate.cpp,v retrieving revision 1.111 retrieving revision 1.112 diff -C2 -d -r1.111 -r1.112 *** wxlstate.cpp 14 Jun 2007 05:02:48 -0000 1.111 --- wxlstate.cpp 14 Jun 2007 12:23:04 -0000 1.112 *************** *** 42,46 **** wxLuaState wxNullLuaState(false); ! LUALIB_API int luaopen_bit (lua_State *L); // ---------------------------------------------------------------------------- --- 42,46 ---- wxLuaState wxNullLuaState(false); ! int LUACALL luaopen_bit(lua_State *L); // ---------------------------------------------------------------------------- *************** *** 3808,3818 **** }; ! LUALIB_API int luaopen_bit (lua_State *L) { luaL_openlib(L, "bit", bitlib, 0); return 1; } - // FIXME - add this to the build files - - #include "wxlua.cpp" - #include "wxlua_bind.cpp" --- 3808,3814 ---- }; ! int LUACALL luaopen_bit (lua_State *L) { luaL_openlib(L, "bit", bitlib, 0); return 1; } Index: Makefile =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxlua/src/Makefile,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** Makefile 12 Jun 2007 05:03:17 -0000 1.13 --- Makefile 14 Jun 2007 12:23:04 -0000 1.14 *************** *** 64,68 **** wxlbind.cpp \ wxlcallb.cpp \ ! wxlstate.cpp OBJECTS=$(SOURCES:.cpp=.o) --- 64,70 ---- wxlbind.cpp \ wxlcallb.cpp \ ! wxlstate.cpp \ ! wxlua_bind.cpp \ ! wxlua.cpp OBJECTS=$(SOURCES:.cpp=.o) |
From: John L. <jr...@us...> - 2007-06-14 12:23:09
|
Update of /cvsroot/wxlua/wxLua/modules/build/msvc6 In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv6265/wxLua/modules/build/msvc6 Modified Files: modules_mod_wxlua.dsp Log Message: Update build files for bindings/wxlua files in modules/wxlua Fix calling convention for bitlib Index: modules_mod_wxlua.dsp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/build/msvc6/modules_mod_wxlua.dsp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** modules_mod_wxlua.dsp 24 Apr 2007 14:39:56 -0000 1.3 --- modules_mod_wxlua.dsp 14 Jun 2007 12:23:04 -0000 1.4 *************** *** 469,472 **** --- 469,480 ---- SOURCE=..\..\wxlua\src\wxlstate.cpp # End Source File + # Begin Source File + + SOURCE=..\..\wxlua\src\wxlua.cpp + # End Source File + # Begin Source File + + SOURCE=..\..\wxlua\src\wxlua_bind.cpp + # End Source File # End Group # Begin Group "WXLUA headers" *************** *** 493,496 **** --- 501,508 ---- SOURCE=..\..\wxlua\include\wxlua.h # End Source File + # Begin Source File + + SOURCE=..\..\wxlua\include\wxlua_bind.h + # End Source File # End Group # End Target |
From: John L. <jr...@us...> - 2007-06-14 12:23:07
|
Update of /cvsroot/wxlua/wxLua/modules In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv6265/wxLua/modules Modified Files: Makefile.in Log Message: Update build files for bindings/wxlua files in modules/wxlua Fix calling convention for bitlib Index: Makefile.in =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/Makefile.in,v retrieving revision 1.56 retrieving revision 1.57 diff -C2 -d -r1.56 -r1.57 *** Makefile.in 24 May 2007 00:59:44 -0000 1.56 --- Makefile.in 14 Jun 2007 12:23:04 -0000 1.57 *************** *** 128,132 **** wxlua_lib_wxlbind.o \ wxlua_lib_wxlcallb.o \ ! wxlua_lib_wxlstate.o WXLUA_LIB_ODEP = $(___pch_wxprec_wxlua_lib_wx_wxprec_h_gch___depname) WXLUA_DLL_CXXFLAGS = $(__wxlua_dll_PCH_INC) \ --- 128,134 ---- wxlua_lib_wxlbind.o \ wxlua_lib_wxlcallb.o \ ! wxlua_lib_wxlstate.o \ ! wxlua_lib_wxlua.o \ ! wxlua_lib_wxlua_bind.o WXLUA_LIB_ODEP = $(___pch_wxprec_wxlua_lib_wx_wxprec_h_gch___depname) WXLUA_DLL_CXXFLAGS = $(__wxlua_dll_PCH_INC) \ *************** *** 138,142 **** wxlua_dll_wxlbind.o \ wxlua_dll_wxlcallb.o \ ! wxlua_dll_wxlstate.o WXLUA_DLL_ODEP = $(___pch_wxprec_wxlua_dll_wx_wxprec_h_gch___depname) WXBIND_LIB_CXXFLAGS = $(__wxbind_lib_PCH_INC) \ --- 140,146 ---- wxlua_dll_wxlbind.o \ wxlua_dll_wxlcallb.o \ ! wxlua_dll_wxlstate.o \ ! wxlua_dll_wxlua.o \ ! wxlua_dll_wxlua_bind.o WXLUA_DLL_ODEP = $(___pch_wxprec_wxlua_dll_wx_wxprec_h_gch___depname) WXBIND_LIB_CXXFLAGS = $(__wxbind_lib_PCH_INC) \ *************** *** 839,843 **** @COND_SHARED_0@install_wxlua_lib_headers: @COND_SHARED_0@ $(INSTALL_DIR) $(DESTDIR)$(includedir) ! @COND_SHARED_0@ for f in wxlua/include/wxlbind.h wxlua/include/wxlcallb.h wxlua/include/wxldefs.h wxlua/include/wxlstate.h wxlua/include/wxlua.h; do \ @COND_SHARED_0@ if test ! -d $(DESTDIR)$(includedir)/`dirname $$f` ; then \ @COND_SHARED_0@ $(INSTALL_DIR) $(DESTDIR)$(includedir)/`dirname $$f`; \ --- 843,847 ---- @COND_SHARED_0@install_wxlua_lib_headers: @COND_SHARED_0@ $(INSTALL_DIR) $(DESTDIR)$(includedir) ! @COND_SHARED_0@ for f in wxlua/include/wxlbind.h wxlua/include/wxlcallb.h wxlua/include/wxldefs.h wxlua/include/wxlstate.h wxlua/include/wxlua.h wxlua/include/wxlua_bind.h; do \ @COND_SHARED_0@ if test ! -d $(DESTDIR)$(includedir)/`dirname $$f` ; then \ @COND_SHARED_0@ $(INSTALL_DIR) $(DESTDIR)$(includedir)/`dirname $$f`; \ *************** *** 847,851 **** @COND_SHARED_0@uninstall_wxlua_lib_headers: ! @COND_SHARED_0@ for f in wxlua/include/wxlbind.h wxlua/include/wxlcallb.h wxlua/include/wxldefs.h wxlua/include/wxlstate.h wxlua/include/wxlua.h; do \ @COND_SHARED_0@ rm -f $(DESTDIR)$(includedir)/$$f; \ @COND_SHARED_0@ done --- 851,855 ---- @COND_SHARED_0@uninstall_wxlua_lib_headers: ! @COND_SHARED_0@ for f in wxlua/include/wxlbind.h wxlua/include/wxlcallb.h wxlua/include/wxldefs.h wxlua/include/wxlstate.h wxlua/include/wxlua.h wxlua/include/wxlua_bind.h; do \ @COND_SHARED_0@ rm -f $(DESTDIR)$(includedir)/$$f; \ @COND_SHARED_0@ done *************** *** 872,876 **** @COND_SHARED_1@install_wxlua_dll_headers: @COND_SHARED_1@ $(INSTALL_DIR) $(DESTDIR)$(includedir) ! @COND_SHARED_1@ for f in wxlua/include/wxlbind.h wxlua/include/wxlcallb.h wxlua/include/wxldefs.h wxlua/include/wxlstate.h wxlua/include/wxlua.h; do \ @COND_SHARED_1@ if test ! -d $(DESTDIR)$(includedir)/`dirname $$f` ; then \ @COND_SHARED_1@ $(INSTALL_DIR) $(DESTDIR)$(includedir)/`dirname $$f`; \ --- 876,880 ---- @COND_SHARED_1@install_wxlua_dll_headers: @COND_SHARED_1@ $(INSTALL_DIR) $(DESTDIR)$(includedir) ! @COND_SHARED_1@ for f in wxlua/include/wxlbind.h wxlua/include/wxlcallb.h wxlua/include/wxldefs.h wxlua/include/wxlstate.h wxlua/include/wxlua.h wxlua/include/wxlua_bind.h; do \ @COND_SHARED_1@ if test ! -d $(DESTDIR)$(includedir)/`dirname $$f` ; then \ @COND_SHARED_1@ $(INSTALL_DIR) $(DESTDIR)$(includedir)/`dirname $$f`; \ *************** *** 880,884 **** @COND_SHARED_1@uninstall_wxlua_dll_headers: ! @COND_SHARED_1@ for f in wxlua/include/wxlbind.h wxlua/include/wxlcallb.h wxlua/include/wxldefs.h wxlua/include/wxlstate.h wxlua/include/wxlua.h; do \ @COND_SHARED_1@ rm -f $(DESTDIR)$(includedir)/$$f; \ @COND_SHARED_1@ done --- 884,888 ---- @COND_SHARED_1@uninstall_wxlua_dll_headers: ! @COND_SHARED_1@ for f in wxlua/include/wxlbind.h wxlua/include/wxlcallb.h wxlua/include/wxldefs.h wxlua/include/wxlstate.h wxlua/include/wxlua.h wxlua/include/wxlua_bind.h; do \ @COND_SHARED_1@ rm -f $(DESTDIR)$(includedir)/$$f; \ @COND_SHARED_1@ done *************** *** 1364,1367 **** --- 1368,1377 ---- $(CXXC) -c -o $@ $(WXLUA_LIB_CXXFLAGS) $(srcdir)/wxlua/src/wxlstate.cpp + wxlua_lib_wxlua.o: $(srcdir)/wxlua/src/wxlua.cpp $(WXLUA_LIB_ODEP) + $(CXXC) -c -o $@ $(WXLUA_LIB_CXXFLAGS) $(srcdir)/wxlua/src/wxlua.cpp + + wxlua_lib_wxlua_bind.o: $(srcdir)/wxlua/src/wxlua_bind.cpp $(WXLUA_LIB_ODEP) + $(CXXC) -c -o $@ $(WXLUA_LIB_CXXFLAGS) $(srcdir)/wxlua/src/wxlua_bind.cpp + wxlua_dll_dummy.o: $(srcdir)/wxlua/src/dummy.cpp $(WXLUA_DLL_ODEP) $(CXXC) -c -o $@ $(WXLUA_DLL_CXXFLAGS) $(srcdir)/wxlua/src/dummy.cpp *************** *** 1376,1379 **** --- 1386,1395 ---- $(CXXC) -c -o $@ $(WXLUA_DLL_CXXFLAGS) $(srcdir)/wxlua/src/wxlstate.cpp + wxlua_dll_wxlua.o: $(srcdir)/wxlua/src/wxlua.cpp $(WXLUA_DLL_ODEP) + $(CXXC) -c -o $@ $(WXLUA_DLL_CXXFLAGS) $(srcdir)/wxlua/src/wxlua.cpp + + wxlua_dll_wxlua_bind.o: $(srcdir)/wxlua/src/wxlua_bind.cpp $(WXLUA_DLL_ODEP) + $(CXXC) -c -o $@ $(WXLUA_DLL_CXXFLAGS) $(srcdir)/wxlua/src/wxlua_bind.cpp + wxbind_lib_appframe.o: $(srcdir)/wxbind/src/appframe.cpp $(WXBIND_LIB_ODEP) $(CXXC) -c -o $@ $(WXBIND_LIB_CXXFLAGS) $(srcdir)/wxbind/src/appframe.cpp |
From: John L. <jr...@us...> - 2007-06-14 12:23:07
|
Update of /cvsroot/wxlua/wxLua In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv6265/wxLua Modified Files: Makefile.in Log Message: Update build files for bindings/wxlua files in modules/wxlua Fix calling convention for bitlib Index: Makefile.in =================================================================== RCS file: /cvsroot/wxlua/wxLua/Makefile.in,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** Makefile.in 24 May 2007 00:59:43 -0000 1.25 --- Makefile.in 14 Jun 2007 12:23:03 -0000 1.26 *************** *** 79,83 **** samples: @mkdir -p $(DESTDIR)$(datadir)/wxlua/samples ! @for f in samples/calculator.wx.lua samples/choices.wx.lua samples/coroutine.wx.lua samples/debug.wx.lua samples/dialog.wx.lua samples/editor.wx.lua samples/fldemo.wx.lua samples/grid.wx.lua samples/htmlwin.wx.lua samples/luamodule.wx.lua samples/mdi.wx.lua samples/minimal.wx.lua samples/printing.wx.lua samples/scribble.wx.lua samples/sizer.wx.lua samples/tree.wx.lua samples/unittest.wx.lua samples/veryminimal.wx.lua samples/wxluasudoku.wx.lua samples/calculator.xrc; do \ if test ! -f $(DESTDIR)$(datadir)/wxlua/samples/$$f -a ! -d $(DESTDIR)$(datadir)/wxlua/samples/$$f ; \ then x=yep ; \ --- 79,83 ---- samples: @mkdir -p $(DESTDIR)$(datadir)/wxlua/samples ! @for f in samples/validator.wx.lua samples/calculator.wx.lua samples/choices.wx.lua samples/coroutine.wx.lua samples/debug.wx.lua samples/dialog.wx.lua samples/editor.wx.lua samples/fldemo.wx.lua samples/grid.wx.lua samples/htmlwin.wx.lua samples/luamodule.wx.lua samples/mdi.wx.lua samples/minimal.wx.lua samples/printing.wx.lua samples/scribble.wx.lua samples/sizer.wx.lua samples/tree.wx.lua samples/unittest.wx.lua samples/veryminimal.wx.lua samples/wxluasudoku.wx.lua samples/bindings.wx.lua samples/calculator.xrc; do \ if test ! -f $(DESTDIR)$(datadir)/wxlua/samples/$$f -a ! -d $(DESTDIR)$(datadir)/wxlua/samples/$$f ; \ then x=yep ; \ |
From: John L. <jr...@us...> - 2007-06-14 05:34:05
|
Update of /cvsroot/wxlua/wxLua/apps/wxlua/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv10013/wxLua/apps/wxlua/src Modified Files: editor.h Log Message: Update the editor for the binding changes, delete() and wxstc table Index: editor.h =================================================================== RCS file: /cvsroot/wxlua/wxLua/apps/wxlua/src/editor.h,v retrieving revision 1.38 retrieving revision 1.39 diff -C2 -d -r1.38 -r1.39 *** editor.h 6 Jun 2007 23:42:52 -0000 1.38 --- editor.h 14 Jun 2007 05:34:00 -0000 1.39 *************** *** 10,15 **** extern const unsigned char wxLuaEditor[]; ! const size_t wxLuaEditor_len = 90424; ! const unsigned char wxLuaEditor[90425] = { 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 61, 45, 45, 45, 10, 45, 45, 32, 78, 97,109,101, 58, 32, 32, 32, 32, 32, 32, 32, 32, 69,100,105,116,111,114, 46,119,120, 46,108,117, 97, 10, --- 10,15 ---- extern const unsigned char wxLuaEditor[]; ! const size_t wxLuaEditor_len = 90589; ! const unsigned char wxLuaEditor[90590] = { 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 61, 45, 45, 45, 10, 45, 45, 32, 78, 97,109,101, 58, 32, 32, 32, 32, 32, 32, 32, 32, 69,100,105,116,111,114, 46,119,120, 46,108,117, 97, 10, *************** *** 239,250 **** 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 41, 10, 10, ! 101,114,114,111,114, 76,111,103, 32, 61, 32,119,120, 46,119,120, 83,116,121,108,101,100, 84,101,120,116, 67,116,114,108, 40,115,112,108,105,116,116,101,114, 44, 32,119,120, 46,119,120, 73, 68, 95, 65, 78, 89, 41, 10, 101,114,114,111,114, 76,111,103, 58, 83,104,111,119, 40,102, 97,108,115,101, 41, 10, 101,114,114,111,114, 76,111,103, 58, 83,101,116, 70,111,110,116, 40,102,111,110,116, 41, 10, ! 101,114,114,111,114, 76,111,103, 58, 83,116,121,108,101, 83,101,116, 70,111,110,116, 40,119,120, 46,119,120, 83, 84, 67, 95, 83, 84, 89, 76, 69, 95, 68, 69, 70, 65, 85, 76, 84, 44, 32,102,111,110,116, 41, 10, 101,114,114,111,114, 76,111,103, 58, 83,116,121,108,101, 67,108,101, 97,114, 65,108,108, 40, 41, 10, 101,114,114,111,114, 76,111,103, 58, 83,101,116, 77, 97,114,103,105,110, 87,105,100,116,104, 40, 49, 44, 32, 49, 54, 41, 32, 45, 45, 32,109, 97,114,107,101,114, 32,109, 97,114,103,105,110, 10, ! 101,114,114,111,114, 76,111,103, 58, 83,101,116, 77, 97,114,103,105,110, 84,121,112,101, 40, 49, 44, 32,119,120, 46,119,120, 83, 84, 67, 95, 77, 65, 82, 71, 73, 78, 95, 83, 89, 77, 66, 79, 76, 41, 59, 10, ! 101,114,114,111,114, 76,111,103, 58, 77, 97,114,107,101,114, 68,101,102,105,110,101, 40, 67, 85, 82, 82, 69, 78, 84, 95, 76, 73, 78, 69, 95, 77, 65, 82, 75, 69, 82, 44, 32,119,120, 46,119,120, 83, 84, 67, 95, 77, 65, 82, 75, 95, 65, 82, 82, 79, 87, 83, 44, 32,119,120, 46,119,120, 66, 76, 65, 67, 75, 44, 32,119,120, 46,119,120, 87, 72, 73, 84, 69, 41, 10, 101,114,114,111,114, 76,111,103, 58, 83,101,116, 82,101, 97,100, 79,110,108,121, 40,116,114,117,101, 41, 10, 10, --- 239,250 ---- 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 41, 10, 10, ! 101,114,114,111,114, 76,111,103, 32, 61, 32,119,120,115,116, 99, 46,119,120, 83,116,121,108,101,100, 84,101,120,116, 67,116,114,108, 40,115,112,108,105,116,116,101,114, 44, 32,119,120, 46,119,120, 73, 68, 95, 65, 78, 89, 41, 10, 101,114,114,111,114, 76,111,103, 58, 83,104,111,119, 40,102, 97,108,115,101, 41, 10, 101,114,114,111,114, 76,111,103, 58, 83,101,116, 70,111,110,116, 40,102,111,110,116, 41, 10, ! 101,114,114,111,114, 76,111,103, 58, 83,116,121,108,101, 83,101,116, 70,111,110,116, 40,119,120,115,116, 99, 46,119,120, 83, 84, 67, 95, 83, 84, 89, 76, 69, 95, 68, 69, 70, 65, 85, 76, 84, 44, 32,102,111,110,116, 41, 10, 101,114,114,111,114, 76,111,103, 58, 83,116,121,108,101, 67,108,101, 97,114, 65,108,108, 40, 41, 10, 101,114,114,111,114, 76,111,103, 58, 83,101,116, 77, 97,114,103,105,110, 87,105,100,116,104, 40, 49, 44, 32, 49, 54, 41, 32, 45, 45, 32,109, 97,114,107,101,114, 32,109, 97,114,103,105,110, 10, ! 101,114,114,111,114, 76,111,103, 58, 83,101,116, 77, 97,114,103,105,110, 84,121,112,101, 40, 49, 44, 32,119,120,115,116, 99, 46,119,120, 83, 84, 67, 95, 77, 65, 82, 71, 73, 78, 95, 83, 89, 77, 66, 79, 76, 41, 59, 10, ! 101,114,114,111,114, 76,111,103, 58, 77, 97,114,107,101,114, 68,101,102,105,110,101, 40, 67, 85, 82, 82, 69, 78, 84, 95, 76, 73, 78, 69, 95, 77, 65, 82, 75, 69, 82, 44, 32,119,120,115,116, 99, 46,119,120, 83, 84, 67, 95, 77, 65, 82, 75, 95, 65, 82, 82, 79, 87, 83, 44, 32,119,120, 46,119,120, 66, 76, 65, 67, 75, 44, 32,119,120, 46,119,120, 87, 72, 73, 84, 69, 41, 10, 101,114,114,111,114, 76,111,103, 58, 83,101,116, 82,101, 97,100, 79,110,108,121, 40,116,114,117,101, 41, 10, 10, *************** *** 417,423 **** 45, 45, 32, 67,114,101, 97,116,101, 32, 97,110, 32,101,100,105,116,111,114, 32, 97,110,100, 32, 97,100,100, 32,105,116, 32,116,111, 32,116,104,101, 32,110,111,116,101, 98,111,111,107, 10, 102,117,110, 99,116,105,111,110, 32, 67,114,101, 97,116,101, 69,100,105,116,111,114, 40,110, 97,109,101, 41, 10, ! 32, 32, 32, 32,108,111, 99, 97,108, 32,101,100,105,116,111,114, 32, 61, 32,119,120, 46,119,120, 83,116,121,108,101,100, 84,101,120,116, 67,116,114,108, 40,110,111,116,101, 98,111,111,107, 44, 32,101,100,105,116,111,114, 73, 68, 44, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,119,120, 46,119,120, 68,101,102, 97,117,108,116, 80,111,115,105,116,105,111,110, 44, 32,119,120, 46,119,120, 68,101,102, 97,117,108,116, 83,105,122,101, 44, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,119,120, 46,119,120, 83, 85, 78, 75, 69, 78, 95, 66, 79, 82, 68, 69, 82, 41, 10, 10, 32, 32, 32, 32,101,100,105,116,111,114, 73, 68, 32, 61, 32,101,100,105,116,111,114, 73, 68, 32, 43, 32, 49, 32, 45, 45, 32,105,110, 99,114,101,109,101,110,116, 32,115,111, 32,116,104,101,121, 39,114,101, 32, 97,108,119, 97,121,115, 32,117,110,105,113,117,101, 10, --- 417,423 ---- 45, 45, 32, 67,114,101, 97,116,101, 32, 97,110, 32,101,100,105,116,111,114, 32, 97,110,100, 32, 97,100,100, 32,105,116, 32,116,111, 32,116,104,101, 32,110,111,116,101, 98,111,111,107, 10, 102,117,110, 99,116,105,111,110, 32, 67,114,101, 97,116,101, 69,100,105,116,111,114, 40,110, 97,109,101, 41, 10, ! 32, 32, 32, 32,108,111, 99, 97,108, 32,101,100,105,116,111,114, 32, 61, 32,119,120,115,116, 99, 46,119,120, 83,116,121,108,101,100, 84,101,120,116, 67,116,114,108, 40,110,111,116,101, 98,111,111,107, 44, 32,101,100,105,116,111,114, 73, 68, 44, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,119,120, 46,119,120, 68,101,102, 97,117,108,116, 80,111,115,105,116,105,111,110, 44, 32,119,120, 46,119,120, 68,101,102, 97,117,108,116, 83,105,122,101, 44, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,119,120, 46,119,120, 83, 85, 78, 75, 69, 78, 95, 66, 79, 82, 68, 69, 82, 41, 10, 10, 32, 32, 32, 32,101,100,105,116,111,114, 73, 68, 32, 61, 32,101,100,105,116,111,114, 73, 68, 32, 43, 32, 49, 32, 45, 45, 32,105,110, 99,114,101,109,101,110,116, 32,115,111, 32,116,104,101,121, 39,114,101, 32, 97,108,119, 97,121,115, 32,117,110,105,113,117,101, 10, *************** *** 427,431 **** 10, 32, 32, 32, 32,101,100,105,116,111,114, 58, 83,101,116, 70,111,110,116, 40,102,111,110,116, 41, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 83,116,121,108,101, 83,101,116, 70,111,110,116, 40,119,120, 46,119,120, 83, 84, 67, 95, 83, 84, 89, 76, 69, 95, 68, 69, 70, 65, 85, 76, 84, 44, 32,102,111,110,116, 41, 10, 32, 32, 32, 32,102,111,114, 32,105, 32, 61, 32, 48, 44, 32, 51, 50, 32,100,111, 10, 32, 32, 32, 32, 32, 32, 32, 32,101,100,105,116,111,114, 58, 83,116,121,108,101, 83,101,116, 70,111,110,116, 40,105, 44, 32,102,111,110,116, 41, 10, --- 427,431 ---- 10, 32, 32, 32, 32,101,100,105,116,111,114, 58, 83,101,116, 70,111,110,116, 40,102,111,110,116, 41, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 83,116,121,108,101, 83,101,116, 70,111,110,116, 40,119,120,115,116, 99, 46,119,120, 83, 84, 67, 95, 83, 84, 89, 76, 69, 95, 68, 69, 70, 65, 85, 76, 84, 44, 32,102,111,110,116, 41, 10, 32, 32, 32, 32,102,111,114, 32,105, 32, 61, 32, 48, 44, 32, 51, 50, 32,100,111, 10, 32, 32, 32, 32, 32, 32, 32, 32,101,100,105,116,111,114, 58, 83,116,121,108,101, 83,101,116, 70,111,110,116, 40,105, 44, 32,102,111,110,116, 41, 10, *************** *** 491,514 **** 32, 32, 32, 32,101,100,105,116,111,114, 58, 83,101,116, 73,110,100,101,110,116, 97,116,105,111,110, 71,117,105,100,101,115, 40,116,114,117,101, 41, 10, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 83,101,116, 86,105,115,105, 98,108,101, 80,111,108,105, 99,121, 40,119,120, 46,119,120, 83, 84, 67, 95, 86, 73, 83, 73, 66, 76, 69, 95, 83, 76, 79, 80, 44, 32, 51, 41, 10, ! 32, 32, 32, 32, 45, 45,101,100,105,116,111,114, 58, 83,101,116, 88, 67, 97,114,101,116, 80,111,108,105, 99,121, 40,119,120, 46,119,120, 83, 84, 67, 95, 67, 65, 82, 69, 84, 95, 83, 76, 79, 80, 44, 32, 49, 48, 41, 10, ! 32, 32, 32, 32, 45, 45,101,100,105,116,111,114, 58, 83,101,116, 89, 67, 97,114,101,116, 80,111,108,105, 99,121, 40,119,120, 46,119,120, 83, 84, 67, 95, 67, 65, 82, 69, 84, 95, 83, 76, 79, 80, 44, 32, 51, 41, 10, 10, 32, 32, 32, 32,101,100,105,116,111,114, 58, 83,101,116, 77, 97,114,103,105,110, 87,105,100,116,104, 40, 48, 44, 32,101,100,105,116,111,114, 58, 84,101,120,116, 87,105,100,116,104, 40, 51, 50, 44, 32, 34, 57, 57, 57, 57, 57, 95, 34, 41, 41, 32, 45, 45, 32,108,105,110,101, 32, 35, 32,109, 97,114,103,105,110, 10, 10, 32, 32, 32, 32,101,100,105,116,111,114, 58, 83,101,116, 77, 97,114,103,105,110, 87,105,100,116,104, 40, 49, 44, 32, 49, 54, 41, 32, 45, 45, 32,109, 97,114,107,101,114, 32,109, 97,114,103,105,110, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 83,101,116, 77, 97,114,103,105,110, 84,121,112,101, 40, 49, 44, 32,119,120, 46,119,120, 83, 84, 67, 95, 77, 65, 82, 71, 73, 78, 95, 83, 89, 77, 66, 79, 76, 41, 10, 32, 32, 32, 32,101,100,105,116,111,114, 58, 83,101,116, 77, 97,114,103,105,110, 83,101,110,115,105,116,105,118,101, 40, 49, 44, 32,116,114,117,101, 41, 10, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 77, 97,114,107,101,114, 68,101,102,105,110,101, 40, 66, 82, 69, 65, 75, 80, 79, 73, 78, 84, 95, 77, 65, 82, 75, 69, 82, 44, 32, 32, 32,119,120, 46,119,120, 83, 84, 67, 95, 77, 65, 82, 75, 95, 82, 79, 85, 78, 68, 82, 69, 67, 84, 44, 32,119,120, 46,119,120, 87, 72, 73, 84, 69, 44, 32,119,120, 46,119,120, 82, 69, 68, 41, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 77, 97,114,107,101,114, 68,101,102,105,110,101, 40, 67, 85, 82, 82, 69, 78, 84, 95, 76, 73, 78, 69, 95, 77, 65, 82, 75, 69, 82, 44, 32,119,120, 46,119,120, 83, 84, 67, 95, 77, 65, 82, 75, 95, 65, 82, 82, 79, 87, 44, 32, 32, 32, 32, 32,119,120, 46,119,120, 66, 76, 65, 67, 75, 44, 32,119,120, 46,119,120, 71, 82, 69, 69, 78, 41, 10, 10, 32, 32, 32, 32,101,100,105,116,111,114, 58, 83,101,116, 77, 97,114,103,105,110, 87,105,100,116,104, 40, 50, 44, 32, 49, 54, 41, 32, 45, 45, 32,102,111,108,100, 32,109, 97,114,103,105,110, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 83,101,116, 77, 97,114,103,105,110, 84,121,112,101, 40, 50, 44, 32,119,120, 46,119,120, 83, 84, 67, 95, 77, 65, 82, 71, 73, 78, 95, 83, 89, 77, 66, 79, 76, 41, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 83,101,116, 77, 97,114,103,105,110, 77, 97,115,107, 40, 50, 44, 32,119,120, 46,119,120, 83, 84, 67, 95, 77, 65, 83, 75, 95, 70, 79, 76, 68, 69, 82, 83, 41, 10, 32, 32, 32, 32,101,100,105,116,111,114, 58, 83,101,116, 77, 97,114,103,105,110, 83,101,110,115,105,116,105,118,101, 40, 50, 44, 32,116,114,117,101, 41, 10, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 83,101,116, 70,111,108,100, 70,108, 97,103,115, 40,119,120, 46,119,120, 83, 84, 67, 95, 70, 79, 76, 68, 70, 76, 65, 71, 95, 76, 73, 78, 69, 66, 69, 70, 79, 82, 69, 95, 67, 79, 78, 84, 82, 65, 67, 84, 69, 68, 32, 43, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,119,120, 46,119,120, 83, 84, 67, 95, 70, 79, 76, 68, 70, 76, 65, 71, 95, 76, 73, 78, 69, 65, 70, 84, 69, 82, 95, 67, 79, 78, 84, 82, 65, 67, 84, 69, 68, 41, 10, 10, 32, 32, 32, 32,101,100,105,116,111,114, 58, 83,101,116, 80,114,111,112,101,114,116,121, 40, 34,102,111,108,100, 34, 44, 32, 34, 49, 34, 41, 10, --- 491,514 ---- 32, 32, 32, 32,101,100,105,116,111,114, 58, 83,101,116, 73,110,100,101,110,116, 97,116,105,111,110, 71,117,105,100,101,115, 40,116,114,117,101, 41, 10, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 83,101,116, 86,105,115,105, 98,108,101, 80,111,108,105, 99,121, 40,119,120,115,116, 99, 46,119,120, 83, 84, 67, 95, 86, 73, 83, 73, 66, 76, 69, 95, 83, 76, 79, 80, 44, 32, 51, 41, 10, ! 32, 32, 32, 32, 45, 45,101,100,105,116,111,114, 58, 83,101,116, 88, 67, 97,114,101,116, 80,111,108,105, 99,121, 40,119,120,115,116, 99, 46,119,120, 83, 84, 67, 95, 67, 65, 82, 69, 84, 95, 83, 76, 79, 80, 44, 32, 49, 48, 41, 10, ! 32, 32, 32, 32, 45, 45,101,100,105,116,111,114, 58, 83,101,116, 89, 67, 97,114,101,116, 80,111,108,105, 99,121, 40,119,120,115,116, 99, 46,119,120, 83, 84, 67, 95, 67, 65, 82, 69, 84, 95, 83, 76, 79, 80, 44, 32, 51, 41, 10, 10, 32, 32, 32, 32,101,100,105,116,111,114, 58, 83,101,116, 77, 97,114,103,105,110, 87,105,100,116,104, 40, 48, 44, 32,101,100,105,116,111,114, 58, 84,101,120,116, 87,105,100,116,104, 40, 51, 50, 44, 32, 34, 57, 57, 57, 57, 57, 95, 34, 41, 41, 32, 45, 45, 32,108,105,110,101, 32, 35, 32,109, 97,114,103,105,110, 10, 10, 32, 32, 32, 32,101,100,105,116,111,114, 58, 83,101,116, 77, 97,114,103,105,110, 87,105,100,116,104, 40, 49, 44, 32, 49, 54, 41, 32, 45, 45, 32,109, 97,114,107,101,114, 32,109, 97,114,103,105,110, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 83,101,116, 77, 97,114,103,105,110, 84,121,112,101, 40, 49, 44, 32,119,120,115,116, 99, 46,119,120, 83, 84, 67, 95, 77, 65, 82, 71, 73, 78, 95, 83, 89, 77, 66, 79, 76, 41, 10, 32, 32, 32, 32,101,100,105,116,111,114, 58, 83,101,116, 77, 97,114,103,105,110, 83,101,110,115,105,116,105,118,101, 40, 49, 44, 32,116,114,117,101, 41, 10, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 77, 97,114,107,101,114, 68,101,102,105,110,101, 40, 66, 82, 69, 65, 75, 80, 79, 73, 78, 84, 95, 77, 65, 82, 75, 69, 82, 44, 32, 32, 32,119,120,115,116, 99, 46,119,120, 83, 84, 67, 95, 77, 65, 82, 75, 95, 82, 79, 85, 78, 68, 82, 69, 67, 84, 44, 32,119,120, 46,119,120, 87, 72, 73, 84, 69, 44, 32,119,120, 46,119,120, 82, 69, 68, 41, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 77, 97,114,107,101,114, 68,101,102,105,110,101, 40, 67, 85, 82, 82, 69, 78, 84, 95, 76, 73, 78, 69, 95, 77, 65, 82, 75, 69, 82, 44, 32,119,120,115,116, 99, 46,119,120, 83, 84, 67, 95, 77, 65, 82, 75, 95, 65, 82, 82, 79, 87, 44, 32, 32, 32, 32, 32,119,120, 46,119,120, 66, 76, 65, 67, 75, 44, 32,119,120, 46,119,120, 71, 82, 69, 69, 78, 41, 10, 10, 32, 32, 32, 32,101,100,105,116,111,114, 58, 83,101,116, 77, 97,114,103,105,110, 87,105,100,116,104, 40, 50, 44, 32, 49, 54, 41, 32, 45, 45, 32,102,111,108,100, 32,109, 97,114,103,105,110, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 83,101,116, 77, 97,114,103,105,110, 84,121,112,101, 40, 50, 44, 32,119,120,115,116, 99, 46,119,120, 83, 84, 67, 95, 77, 65, 82, 71, 73, 78, 95, 83, 89, 77, 66, 79, 76, 41, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 83,101,116, 77, 97,114,103,105,110, 77, 97,115,107, 40, 50, 44, 32,119,120,115,116, 99, 46,119,120, 83, 84, 67, 95, 77, 65, 83, 75, 95, 70, 79, 76, 68, 69, 82, 83, 41, 10, 32, 32, 32, 32,101,100,105,116,111,114, 58, 83,101,116, 77, 97,114,103,105,110, 83,101,110,115,105,116,105,118,101, 40, 50, 44, 32,116,114,117,101, 41, 10, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 83,101,116, 70,111,108,100, 70,108, 97,103,115, 40,119,120,115,116, 99, 46,119,120, 83, 84, 67, 95, 70, 79, 76, 68, 70, 76, 65, 71, 95, 76, 73, 78, 69, 66, 69, 70, 79, 82, 69, 95, 67, 79, 78, 84, 82, 65, 67, 84, 69, 68, 32, 43, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,119,120,115,116, 99, 46,119,120, 83, 84, 67, 95, 70, 79, 76, 68, 70, 76, 65, 71, 95, 76, 73, 78, 69, 65, 70, 84, 69, 82, 95, 67, 79, 78, 84, 82, 65, 67, 84, 69, 68, 41, 10, 10, 32, 32, 32, 32,101,100,105,116,111,114, 58, 83,101,116, 80,114,111,112,101,114,116,121, 40, 34,102,111,108,100, 34, 44, 32, 34, 49, 34, 41, 10, *************** *** 517,530 **** 10, 32, 32, 32, 32,108,111, 99, 97,108, 32,103,114,101,121, 32, 61, 32,119,120, 46,119,120, 67,111,108,111,117,114, 40, 49, 50, 56, 44, 32, 49, 50, 56, 44, 32, 49, 50, 56, 41, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 77, 97,114,107,101,114, 68,101,102,105,110,101, 40,119,120, 46,119,120, 83, 84, 67, 95, 77, 65, 82, 75, 78, 85, 77, 95, 70, 79, 76, 68, 69, 82, 79, 80, 69, 78, 44, 32, 32, 32, 32,119,120, 46,119,120, 83, 84, 67, 95, 77, 65, 82, 75, 95, 66, 79, 88, 77, 73, 78, 85, 83, 44, 32,119,120, 46,119,120, 87, 72, 73, 84, 69, 44, 32,103,114,101,121, 41, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 77, 97,114,107,101,114, 68,101,102,105,110,101, 40,119,120, 46,119,120, 83, 84, 67, 95, 77, 65, 82, 75, 78, 85, 77, 95, 70, 79, 76, 68, 69, 82, 44, 32, 32, 32, 32, 32, 32, 32, 32,119,120, 46,119,120, 83, 84, 67, 95, 77, 65, 82, 75, 95, 66, 79, 88, 80, 76, 85, 83, 44, 32, 32,119,120, 46,119,120, 87, 72, 73, 84, 69, 44, 32,103,114,101,121, 41, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 77, 97,114,107,101,114, 68,101,102,105,110,101, 40,119,120, 46,119,120, 83, 84, 67, 95, 77, 65, 82, 75, 78, 85, 77, 95, 70, 79, 76, 68, 69, 82, 83, 85, 66, 44, 32, 32, 32, 32, 32,119,120, 46,119,120, 83, 84, 67, 95, 77, 65, 82, 75, 95, 86, 76, 73, 78, 69, 44, 32, 32, 32, 32,119,120, 46,119,120, 87, 72, 73, 84, 69, 44, 32,103,114,101,121, 41, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 77, 97,114,107,101,114, 68,101,102,105,110,101, 40,119,120, 46,119,120, 83, 84, 67, 95, 77, 65, 82, 75, 78, 85, 77, 95, 70, 79, 76, 68, 69, 82, 84, 65, 73, 76, 44, 32, 32, 32, 32,119,120, 46,119,120, 83, 84, 67, 95, 77, 65, 82, 75, 95, 76, 67, 79, 82, 78, 69, 82, 44, 32, 32,119,120, 46,119,120, 87, 72, 73, 84, 69, 44, 32,103,114,101,121, 41, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 77, 97,114,107,101,114, 68,101,102,105,110,101, 40,119,120, 46,119,120, 83, 84, 67, 95, 77, 65, 82, 75, 78, 85, 77, 95, 70, 79, 76, 68, 69, 82, 69, 78, 68, 44, 32, 32, 32, 32, 32,119,120, 46,119,120, 83, 84, 67, 95, 77, 65, 82, 75, 95, 66, 79, 88, 80, 76, 85, 83, 67, 79, 78, 78, 69, 67, 84, 69, 68, 44, 32, 32,119,120, 46,119,120, 87, 72, 73, 84, 69, 44, 32,103,114,101,121, 41, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 77, 97,114,107,101,114, 68,101,102,105,110,101, 40,119,120, 46,119,120, 83, 84, 67, 95, 77, 65, 82, 75, 78, 85, 77, 95, 70, 79, 76, 68, 69, 82, 79, 80, 69, 78, 77, 73, 68, 44, 32,119,120, 46,119,120, 83, 84, 67, 95, 77, 65, 82, 75, 95, 66, 79, 88, 77, 73, 78, 85, 83, 67, 79, 78, 78, 69, 67, 84, 69, 68, 44, 32,119,120, 46,119,120, 87, 72, 73, 84, 69, 44, 32,103,114,101,121, 41, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 77, 97,114,107,101,114, 68,101,102,105,110,101, 40,119,120, 46,119,120, 83, 84, 67, 95, 77, 65, 82, 75, 78, 85, 77, 95, 70, 79, 76, 68, 69, 82, 77, 73, 68, 84, 65, 73, 76, 44, 32,119,120, 46,119,120, 83, 84, 67, 95, 77, 65, 82, 75, 95, 84, 67, 79, 82, 78, 69, 82, 44, 32, 32,119,120, 46,119,120, 87, 72, 73, 84, 69, 44, 32,103,114,101,121, 41, 10, ! 32, 32, 32, 32,103,114,101,121, 58, 68,101,108,101,116,101, 40, 41, 10, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 67,111,110,110,101, 99,116, 40,119,120, 46,119,120, 69, 86, 84, 95, 83, 84, 67, 95, 77, 65, 82, 71, 73, 78, 67, 76, 73, 67, 75, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,102,117,110, 99,116,105,111,110, 32, 40,101,118,101,110,116, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,108,111, 99, 97,108, 32,108,105,110,101, 32, 61, 32,101,100,105,116,111,114, 58, 76,105,110,101, 70,114,111,109, 80,111,115,105,116,105,111,110, 40,101,118,101,110,116, 58, 71,101,116, 80,111,115,105,116,105,111,110, 40, 41, 41, 10, --- 517,530 ---- 10, 32, 32, 32, 32,108,111, 99, 97,108, 32,103,114,101,121, 32, 61, 32,119,120, 46,119,120, 67,111,108,111,117,114, 40, 49, 50, 56, 44, 32, 49, 50, 56, 44, 32, 49, 50, 56, 41, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 77, 97,114,107,101,114, 68,101,102,105,110,101, 40,119,120,115,116, 99, 46,119,120, 83, 84, 67, 95, 77, 65, 82, 75, 78, 85, 77, 95, 70, 79, 76, 68, 69, 82, 79, 80, 69, 78, 44, 32, 32, 32, 32,119,120,115,116, 99, 46,119,120, 83, 84, 67, 95, 77, 65, 82, 75, 95, 66, 79, 88, 77, 73, 78, 85, 83, 44, 32,119,120, 46,119,120, 87, 72, 73, 84, 69, 44, 32,103,114,101,121, 41, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 77, 97,114,107,101,114, 68,101,102,105,110,101, 40,119,120,115,116, 99, 46,119,120, 83, 84, 67, 95, 77, 65, 82, 75, 78, 85, 77, 95, 70, 79, 76, 68, 69, 82, 44, 32, 32, 32, 32, 32, 32, 32, 32,119,120,115,116, 99, 46,119,120, 83, 84, 67, 95, 77, 65, 82, 75, 95, 66, 79, 88, 80, 76, 85, 83, 44, 32, 32,119,120, 46,119,120, 87, 72, 73, 84, 69, 44, 32,103,114,101,121, 41, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 77, 97,114,107,101,114, 68,101,102,105,110,101, 40,119,120,115,116, 99, 46,119,120, 83, 84, 67, 95, 77, 65, 82, 75, 78, 85, 77, 95, 70, 79, 76, 68, 69, 82, 83, 85, 66, 44, 32, 32, 32, 32, 32,119,120,115,116, 99, 46,119,120, 83, 84, 67, 95, 77, 65, 82, 75, 95, 86, 76, 73, 78, 69, 44, 32, 32, 32, 32,119,120, 46,119,120, 87, 72, 73, 84, 69, 44, 32,103,114,101,121, 41, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 77, 97,114,107,101,114, 68,101,102,105,110,101, 40,119,120,115,116, 99, 46,119,120, 83, 84, 67, 95, 77, 65, 82, 75, 78, 85, 77, 95, 70, 79, 76, 68, 69, 82, 84, 65, 73, 76, 44, 32, 32, 32, 32,119,120,115,116, 99, 46,119,120, 83, 84, 67, 95, 77, 65, 82, 75, 95, 76, 67, 79, 82, 78, 69, 82, 44, 32, 32,119,120, 46,119,120, 87, 72, 73, 84, 69, 44, 32,103,114,101,121, 41, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 77, 97,114,107,101,114, 68,101,102,105,110,101, 40,119,120,115,116, 99, 46,119,120, 83, 84, 67, 95, 77, 65, 82, 75, 78, 85, 77, 95, 70, 79, 76, 68, 69, 82, 69, 78, 68, 44, 32, 32, 32, 32, 32,119,120,115,116, 99, 46,119,120, 83, 84, 67, 95, 77, 65, 82, 75, 95, 66, 79, 88, 80, 76, 85, 83, 67, 79, 78, 78, 69, 67, 84, 69, 68, 44, 32, 32,119,120, 46,119,120, 87, 72, 73, 84, 69, 44, 32,103,114,101,121, 41, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 77, 97,114,107,101,114, 68,101,102,105,110,101, 40,119,120,115,116, 99, 46,119,120, 83, 84, 67, 95, 77, 65, 82, 75, 78, 85, 77, 95, 70, 79, 76, 68, 69, 82, 79, 80, 69, 78, 77, 73, 68, 44, 32,119,120,115,116, 99, 46,119,120, 83, 84, 67, 95, 77, 65, 82, 75, 95, 66, 79, 88, 77, 73, 78, 85, 83, 67, 79, 78, 78, 69, 67, 84, 69, 68, 44, 32,119,120, 46,119,120, 87, 72, 73, 84, 69, 44, 32,103,114,101,121, 41, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 77, 97,114,107,101,114, 68,101,102,105,110,101, 40,119,120,115,116, 99, 46,119,120, 83, 84, 67, 95, 77, 65, 82, 75, 78, 85, 77, 95, 70, 79, 76, 68, 69, 82, 77, 73, 68, 84, 65, 73, 76, 44, 32,119,120,115,116, 99, 46,119,120, 83, 84, 67, 95, 77, 65, 82, 75, 95, 84, 67, 79, 82, 78, 69, 82, 44, 32, 32,119,120, 46,119,120, 87, 72, 73, 84, 69, 44, 32,103,114,101,121, 41, 10, ! 32, 32, 32, 32,103,114,101,121, 58,100,101,108,101,116,101, 40, 41, 10, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 67,111,110,110,101, 99,116, 40,119,120,115,116, 99, 46,119,120, 69, 86, 84, 95, 83, 84, 67, 95, 77, 65, 82, 71, 73, 78, 67, 76, 73, 67, 75, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,102,117,110, 99,116,105,111,110, 32, 40,101,118,101,110,116, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,108,111, 99, 97,108, 32,108,105,110,101, 32, 61, 32,101,100,105,116,111,114, 58, 76,105,110,101, 70,114,111,109, 80,111,115,105,116,105,111,110, 40,101,118,101,110,116, 58, 71,101,116, 80,111,115,105,116,105,111,110, 40, 41, 41, 10, *************** *** 537,541 **** 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,108,115,101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,108,111, 99, 97,108, 32,108,101,118,101,108, 32, 61, 32,101,100,105,116,111,114, 58, 71,101,116, 70,111,108,100, 76,101,118,101,108, 40,108,105,110,101, 41, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32, 72, 97,115, 66,105,116, 40,108,101,118,101,108, 44, 32,119,120, 46,119,120, 83, 84, 67, 95, 70, 79, 76, 68, 76, 69, 86, 69, 76, 72, 69, 65, 68, 69, 82, 70, 76, 65, 71, 41, 32,116,104,101,110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,100,105,116,111,114, 58, 84,111,103,103,108,101, 70,111,108,100, 40,108,105,110,101, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, --- 537,541 ---- 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,108,115,101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,108,111, 99, 97,108, 32,108,101,118,101,108, 32, 61, 32,101,100,105,116,111,114, 58, 71,101,116, 70,111,108,100, 76,101,118,101,108, 40,108,105,110,101, 41, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32, 72, 97,115, 66,105,116, 40,108,101,118,101,108, 44, 32,119,120,115,116, 99, 46,119,120, 83, 84, 67, 95, 70, 79, 76, 68, 76, 69, 86, 69, 76, 72, 69, 65, 68, 69, 82, 70, 76, 65, 71, 41, 32,116,104,101,110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,100,105,116,111,114, 58, 84,111,103,103,108,101, 70,111,108,100, 40,108,105,110,101, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, *************** *** 544,548 **** 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 41, 10, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 67,111,110,110,101, 99,116, 40,119,120, 46,119,120, 69, 86, 84, 95, 83, 84, 67, 95, 67, 72, 65, 82, 65, 68, 68, 69, 68, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,102,117,110, 99,116,105,111,110, 32, 40,101,118,101,110,116, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 45, 45, 32, 97,117,116,111, 45,105,110,100,101,110,116, 10, --- 544,548 ---- 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 41, 10, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 67,111,110,110,101, 99,116, 40,119,120,115,116, 99, 46,119,120, 69, 86, 84, 95, 83, 84, 67, 95, 67, 72, 65, 82, 65, 68, 68, 69, 68, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,102,117,110, 99,116,105,111,110, 32, 40,101,118,101,110,116, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 45, 45, 32, 97,117,116,111, 45,105,110,100,101,110,116, 10, *************** *** 574,578 **** 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 41, 10, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 67,111,110,110,101, 99,116, 40,119,120, 46,119,120, 69, 86, 84, 95, 83, 84, 67, 95, 85, 83, 69, 82, 76, 73, 83, 84, 83, 69, 76, 69, 67, 84, 73, 79, 78, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,102,117,110, 99,116,105,111,110, 32, 40,101,118,101,110,116, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,108,111, 99, 97,108, 32,112,111,115, 32, 61, 32,101,100,105,116,111,114, 58, 71,101,116, 67,117,114,114,101,110,116, 80,111,115, 40, 41, 10, --- 574,578 ---- 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 41, 10, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 67,111,110,110,101, 99,116, 40,119,120,115,116, 99, 46,119,120, 69, 86, 84, 95, 83, 84, 67, 95, 85, 83, 69, 82, 76, 73, 83, 84, 83, 69, 76, 69, 67, 84, 73, 79, 78, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,102,117,110, 99,116,105,111,110, 32, 40,101,118,101,110,116, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,108,111, 99, 97,108, 32,112,111,115, 32, 61, 32,101,100,105,116,111,114, 58, 71,101,116, 67,117,114,114,101,110,116, 80,111,115, 40, 41, 10, *************** *** 582,596 **** 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 41, 10, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 67,111,110,110,101, 99,116, 40,119,120, 46,119,120, 69, 86, 84, 95, 83, 84, 67, 95, 83, 65, 86, 69, 80, 79, 73, 78, 84, 82, 69, 65, 67, 72, 69, 68, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,102,117,110, 99,116,105,111,110, 32, 40,101,118,101,110,116, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,101,116, 68,111, 99,117,109,101,110,116, 77,111,100,105,102,105,101,100, 40,101,100,105,116,111,114, 58, 71,101,116, 73,100, 40, 41, 44, 32,102, 97,108,115,101, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 41, 10, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 67,111,110,110,101, 99,116, 40,119,120, 46,119,120, 69, 86, 84, 95, 83, 84, 67, 95, 83, 65, 86, 69, 80, 79, 73, 78, 84, 76, 69, 70, 84, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,102,117,110, 99,116,105,111,110, 32, 40,101,118,101,110,116, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,101,116, 68,111, 99,117,109,101,110,116, 77,111,100,105,102,105,101,100, 40,101,100,105,116,111,114, 58, 71,101,116, 73,100, 40, 41, 44, 32,116,114,117,101, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 41, 10, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 67,111,110,110,101, 99,116, 40,119,120, 46,119,120, 69, 86, 84, 95, 83, 84, 67, 95, 85, 80, 68, 65, 84, 69, 85, 73, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,102,117,110, 99,116,105,111,110, 32, 40,101,118,101,110,116, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 85,112,100, 97,116,101, 83,116, 97,116,117,115, 84,101,120,116, 40,101,100,105,116,111,114, 41, 10, --- 582,596 ---- 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 41, 10, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 67,111,110,110,101, 99,116, 40,119,120,115,116, 99, 46,119,120, 69, 86, 84, 95, 83, 84, 67, 95, 83, 65, 86, 69, 80, 79, 73, 78, 84, 82, 69, 65, 67, 72, 69, 68, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,102,117,110, 99,116,105,111,110, 32, 40,101,118,101,110,116, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,101,116, 68,111, 99,117,109,101,110,116, 77,111,100,105,102,105,101,100, 40,101,100,105,116,111,114, 58, 71,101,116, 73,100, 40, 41, 44, 32,102, 97,108,115,101, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 41, 10, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 67,111,110,110,101, 99,116, 40,119,120,115,116, 99, 46,119,120, 69, 86, 84, 95, 83, 84, 67, 95, 83, 65, 86, 69, 80, 79, 73, 78, 84, 76, 69, 70, 84, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,102,117,110, 99,116,105,111,110, 32, 40,101,118,101,110,116, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,101,116, 68,111, 99,117,109,101,110,116, 77,111,100,105,102,105,101,100, 40,101,100,105,116,111,114, 58, 71,101,116, 73,100, 40, 41, 44, 32,116,114,117,101, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 41, 10, 10, ! 32, 32, 32, 32,101,100,105,116,111,114, 58, 67,111,110,110,101, 99,116, 40,119,120,115,116, 99, 46,119,120, 69, 86, 84, 95, 83, 84, 67, 95, 85, 80, 68, 65, 84, 69, 85, 73, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,102,117,110, 99,116,105,111,110, 32, 40,101,118,101,110,116, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 85,112,100, 97,116,101, 83,116, 97,116,117,115, 84,101,120,116, 40,101,100,105,116,111,114, 41, 10, *************** *** 628,632 **** 102,117,110, 99,116,105,111,110, 32, 83,101,116,117,112, 75,101,121,119,111,114,100,115, 40,101,100,105,116,111,114, 44, 32,117,115,101, 76,117, 97, 80, 97,114,115,101,114, 41, 10, 32, 32, 32, 32,105,102, 32,117,115,101, 76,117, 97, 80, 97,114,115,101,114, 32,116,104,101,110, 10, ! 32, 32, 32, 32, 32, 32, 32, 32,101,100,105,116,111,114, 58, 83,101,116, 76,101,120,101,114, 40,119,120, 46,119,120, 83, 84, 67, 95, 76, 69, 88, 95, 76, 85, 65, 41, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 45, 45, 32, 78,111,116,101, 58, 32,116,104,101,115,101, 32,107,101,121,119,111,114,100,115, 32, 97,114,101, 32,115,104, 97,109,101,108,101,115,115,108,121, 32,114,105,112,112,101,100, 32,102,114,111,109, 32,115, 99,105,116,101, 32, 49, 46, 54, 56, 10, --- 628,632 ---- 102,117,110, 99,116,105,111,110, 32, 83,101,116,117,112, 75,101,121,119,111,114,100,115, 40,101,100,105,116,111,114, 44, 32,117,115,101, 76,117, 97, 80, 97,114,115,101,114, 41, 10, 32, 32, 32, 32,105,102, 32,117,115,101, 76,117, 97, 80, 97,114,115,101,114, 32,116,104,101,110, 10, ! 32, 32, 32, 32, 32, 32, 32, 32,101,100,105,116,111,114, 58, 83,101,116, 76,101,120,101,114, 40,119,120,115,116, 99, 46,119,120, 83, 84, 67, 95, 76, 69, 88, 95, 76, 85, 65, 41, 10, 10, 32, 32, 32, 32, 32, 32, 32, 32, 45, 45, 32, 78,111,116,101, 58, 32,116,104,101,115,101, 32,107,101,121,119,111,114,100,115, 32, 97,114,101, 32,115,104, 97,109,101,108,101,115,115,108,121, 32,114,105,112,112,101,100, 32,102,114,111,109, 32,115, 99,105,116,101, 32, 49, 46, 54, 56, 10, *************** *** 677,681 **** 32, 32, 32, 32, 32, 32, 32, 32,101,100,105,116,111,114, 58, 83,101,116, 75,101,121, 87,111,114,100,115, 40, 53, 44, 32,119,120,107,101,121,119,111,114,100,115, 41, 10, 32, 32, 32, 32,101,108,115,101, 10, ! 32, 32, 32, 32, 32, 32, 32, 32,101,100,105,116,111,114, 58, 83,101,116, 76,101,120,101,114, 40,119,120, 46,119,120, 83, 84, 67, 95, 76, 69, 88, 95, 78, 85, 76, 76, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32,101,100,105,116,111,114, 58, 83,101,116, 75,101,121, 87,111,114,100,115, 40, 48, 44, 32, 34, 34, 41, 10, 32, 32, 32, 32,101,110,100, 10, --- 677,681 ---- 32, 32, 32, 32, 32, 32, 32, 32,101,100,105,116,111,114, 58, 83,101,116, 75,101,121, 87,111,114,100,115, 40, 53, 44, 32,119,120,107,101,121,119,111,114,100,115, 41, 10, 32, 32, 32, 32,101,108,115,101, 10, ! 32, 32, 32, 32, 32, 32, 32, 32,101,100,105,116,111,114, 58, 83,101,116, 76,101,120,101,114, 40,119,120,115,116, 99, 46,119,120, 83, 84, 67, 95, 76, 69, 88, 95, 78, 85, 76, 76, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32,101,100,105,116,111,114, 58, 83,101,116, 75,101,121, 87,111,114,100,115, 40, 48, 44, 32, 34, 34, 41, 10, 32, 32, 32, 32,101,110,100, 10, *************** *** 1251,1255 **** 32, 32, 32, 32, 32, 32, 32, 32,108,111, 99, 97,108, 32,102,111,108,100, 76,118,108, 32, 61, 32,109, 97,116,104, 46,109,111,100, 40,102,111,108,100, 82, 97,119, 44, 32, 52, 48, 57, 54, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32,108,111, 99, 97,108, 32,102,111,108,100, 72,100,114, 32, 61, 32,109, 97,116,104, 46,109,111,100, 40,109, 97,116,104, 46,102,108,111,111,114, 40,102,111,108,100, 82, 97,119, 32, 47, 32, 56, 49, 57, 50, 41, 44, 32, 50, 41, 32, 61, 61, 32, 49, 10, ! 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32,110,111,116, 32, 98, 97,115,101, 70,111,117,110,100, 32, 97,110,100, 32, 40,102,111,108,100, 76,118,108, 32, 61, 61, 32, 32,119,120, 46,119,120, 83, 84, 67, 95, 70, 79, 76, 68, 76, 69, 86, 69, 76, 66, 65, 83, 69, 41, 32,116,104,101,110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 97,115,101, 70,111,117,110,100, 32, 61, 32,116,114,117,101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,118,105,115,105, 98,108,101, 32, 61, 32,101,100,105,116,111,114, 58, 71,101,116, 76,105,110,101, 86,105,115,105, 98,108,101, 40,108,110, 41, 10, --- 1251,1255 ---- 32, 32, 32, 32, 32, 32, 32, 32,108,111, 99, 97,108, 32,102,111,108,100, 76,118,108, 32, 61, 32,109, 97,116,104, 46,109,111,100, 40,102,111,108,100, 82, 97,119, 44, 32, 52, 48, 57, 54, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32,108,111, 99, 97,108, 32,102,111,108,100, 72,100,114, 32, 61, 32,109, 97,116,104, 46,109,111,100, 40,109, 97,116,104, 46,102,108,111,111,114, 40,102,111,108,100, 82, 97,119, 32, 47, 32, 56, 49, 57, 50, 41, 44, 32, 50, 41, 32, 61, 61, 32, 49, 10, ! 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32,110,111,116, 32, 98, 97,115,101, 70,111,117,110,100, 32, 97,110,100, 32, 40,102,111,108,100, 76,118,108, 32, 61, 61, 32, 32,119,120,115,116, 99, 46,119,120, 83, 84, 67, 95, 70, 79, 76, 68, 76, 69, 86, 69, 76, 66, 65, 83, 69, 41, 32,116,104,101,110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 98, 97,115,101, 70,111,117,110,100, 32, 61, 32,116,114,117,101, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,118,105,115,105, 98,108,101, 32, 61, 32,101,100,105,116,111,114, 58, 71,101,116, 76,105,110,101, 86,105,115,105, 98,108,101, 40,108,110, 41, 10, *************** *** 1279,1283 **** 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32,110,111,116, 32,101,100,105,116,111,114, 58, 71,101,116, 70,111,108,100, 69,120,112, 97,110,100,101,100, 40,108,110, 41, 32,116,104,101,110, 32,101,100,105,116,111,114, 58, 84,111,103,103,108,101, 70,111,108,100, 40,108,110, 41, 32,101,110,100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, ! 32, 32, 32, 32, 32, 32, 32, 32,101,108,115,101,105,102, 32,104,105,100,101, 32, 97,110,100, 32, 40,102,111,108,100, 76,118,108, 32, 61, 61, 32,119,120, 46,119,120, 83, 84, 67, 95, 70, 79, 76, 68, 76, 69, 86, 69, 76, 66, 65, 83, 69, 41, 32,116,104,101,110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32,110,111,116, 32,102,111,108,100, 72,100,114, 32,116,104,101,110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,100,105,116,111,114, 58, 72,105,100,101, 76,105,110,101,115, 40,108,110, 44, 32,108,110, 41, 10, --- 1279,1283 ---- 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32,110,111,116, 32,101,100,105,116,111,114, 58, 71,101,116, 70,111,108,100, 69,120,112, 97,110,100,101,100, 40,108,110, 41, 32,116,104,101,110, 32,101,100,105,116,111,114, 58, 84,111,103,103,108,101, 70,111,108,100, 40,108,110, 41, 32,101,110,100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, ! 32, 32, 32, 32, 32, 32, 32, 32,101,108,115,101,105,102, 32,104,105,100,101, 32, 97,110,100, 32, 40,102,111,108,100, 76,118,108, 32, 61, 61, 32,119,120,115,116, 99, 46,119,120, 83, 84, 67, 95, 70, 79, 76, 68, 76, 69, 86, 69, 76, 66, 65, 83, 69, 41, 32,116,104,101,110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32,110,111,116, 32,102,111,108,100, 72,100,114, 32,116,104,101,110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,100,105,116,111,114, 58, 72,105,100,101, 76,105,110,101,115, 40,108,110, 44, 32,108,110, 41, 10, *************** *** 1329,1335 **** 102,117,110, 99,116,105,111,110, 32, 83,101,116, 83,101, 97,114, 99,104, 70,108, 97,103,115, 40,101,100,105,116,111,114, 41, 10, 32, 32, 32, 32,108,111, 99, 97,108, 32,102,108, 97,103,115, 32, 61, 32, 48, 10, ! 32, 32, 32, 32,105,102, 32,102,105,110,100, 82,101,112,108, 97, 99,101, 46,102, 87,104,111,108,101, 87,111,114,100, 32, 32, 32,116,104,101,110, 32,102,108, 97,103,115, 32, 61, 32,119,120, 46,119,120, 83, 84, 67, 95, 70, 73, 78, 68, 95, 87, 72, 79, 76, 69, 87, 79, 82, 68, 32,101,110,100, 10, ! 32, 32, 32, 32,105,102, 32,102,105,110,100, 82,101,112,108, 97, 99,101, 46,102, 77, 97,116, 99,104, 67, 97,115,101, 32, 32, 32,116,104,101,110, 32,102,108, 97,103,115, 32, 61, 32,102,108, 97,103,115, 32, 43, 32,119,120, 46,119,120, 83, 84, 67, 95, 70, 73, 78, 68, 95, 77, 65, 84, 67, 72, 67, 65, 83, 69, 32,101,110,100, 10, ! 32, 32, 32, 32,105,102, 32,102,105,110,100, 82,101,112,108, 97, 99,101, 46,102, 82,101,103,117,108, 97,114, 69,120,112,114, 32,116,104,101,110, 32,102,108, 97,103,115, 32, 61, 32,102,108, 97,103,115, 32, 43, 32,119,120, 46,119,120, 83, 84, 67, 95, 70, 73, 78, 68, 95, 82, 69, 71, 69, 88, 80, 32,101,110,100, 10, 32, 32, 32, 32,101,100,105,116,111,114, 58, 83,101,116, 83,101, 97,114, 99,104, 70,108, 97,103,115, 40,102,108, 97,103,115, 41, 10, 101,110,100, 10, --- 1329,1335 ---- 102,117,110, 99,116,105,111,110, 32, 83,101,116, 83,101, 97,114, 99,104, 70,108, 97,103,115, 40,101,100,105,116,111,114, 41, 10, 32, 32, 32, 32,108,111, 99, 97,108, 32,102,108, 97,103,115, 32, 61, 32, 48, 10, ! 32, 32, 32, 32,105,102, 32,102,105,110,100, 82,101,112,108, 97, 99,101, 46,102, 87,104,111,108,101, 87,111,114,100, 32, 32, 32,116,104,101,110, 32,102,108, 97,103,115, 32, 61, 32,119,120,115,116, 99, 46,119,120, 83, 84, 67, 95, 70, 73, 78, 68, 95, 87, 72, 79, 76, 69, 87, 79, 82, 68, 32,101,110,100, 10, ! 32, 32, 32, 32,105,102, 32,102,105,110,100, 82,101,112,108, 97, 99,101, 46,102, 77, 97,116, 99,104, 67, 97,115,101, 32, 32, 32,116,104,101,110, 32,102,108, 97,103,115, 32, 61, 32,102,108, 97,103,115, 32, 43, 32,119,120,115,116, 99, 46,119,120, 83, 84, 67, 95, 70, 73, 78, 68, 95, 77, 65, 84, 67, 72, 67, 65, 83, 69, 32,101,110,100, 10, ! 32, 32, 32, 32,105,102, 32,102,105,110,100, 82,101,112,108, 97, 99,101, 46,102, 82,101,103,117,108, 97,114, 69,120,112,114, 32,116,104,101,110, 32,102,108, 97,103,115, 32, 61, 32,102,108, 97,103,115, 32, 43, 32,119,120,115,116, 99, 46,119,120, 83, 84, 67, 95, 70, 73, 78, 68, 95, 82, 69, 71, 69, 88, 80, 32,101,110,100, 10, 32, 32, 32, 32,101,100,105,116,111,114, 58, 83,101,116, 83,101, 97,114, 99,104, 70,108, 97,103,115, 40,102,108, 97,103,115, 41, 10, 101,110,100, 10, *************** *** 1826,1830 **** 32, 32, 32, 32, 32, 32, 32, 32,102,117,110, 99,116,105,111,110, 32, 40,101,118,101,110,116, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,108,111, 99, 97,108, 32,111,107, 32, 61, 32,102, 97,108,115,101, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32, 61, 32,119,120, 46,119,120, 76,117, 97, 68,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 40,100,101, 98,117,103,103,101,114, 80,111,114,116, 78,117,109, 98,101,114, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32,116,104,101,110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,111,107, 32, 61, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 83,116, 97,114,116, 83,101,114,118,101,114, 40, 41, 10, --- 1826,1830 ---- 32, 32, 32, 32, 32, 32, 32, 32,102,117,110, 99,116,105,111,110, 32, 40,101,118,101,110,116, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,108,111, 99, 97,108, 32,111,107, 32, 61, 32,102, 97,108,115,101, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32, 61, 32,119,120,108,117, 97, 46,119,120, 76,117, 97, 68,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 40,100,101, 98,117,103,103,101,114, 80,111,114,116, 78,117,109, 98,101,114, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32,116,104,101,110, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,111,107, 32, 61, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 83,116, 97,114,116, 83,101,114,118,101,114, 40, 41, 10, *************** *** 1860,1870 **** 32, 32, 32, 32, 32, 32, 32, 32,100,115, 58, 82,101,115,101,116, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32,100,115, 58, 83,116,111,112, 83,101,114,118,101,114, 40, 41, 10, ! 32, 32, 32, 32, 32, 32, 32, 32,100,115, 58, 68,101,108,101,116,101, 40, 41, 10, 32, 32, 32, 32,101,110,100, 10, 10, 32, 32, 32, 32,100,101, 98,117,103,103,101,101, 95,114,117,110,110,105,110,103, 32, 61, 32,102, 97,108,115,101, 10, ! 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32, 61, 32,119,120, 46,119,120, 76,117, 97, 68,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 40,100,101, 98,117,103,103,101,114, 80,111,114,116, 78,117,109, 98,101,114, 41, 10, 10, ! 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 67,111,110,110,101, 99,116, 40,119,120, 46,119,120, 69, 86, 84, 95, 87, 88, 76, 85, 65, 95, 68, 69, 66, 85, 71, 71, 69, 82, 95, 68, 69, 66, 85, 71, 71, 69, 69, 95, 67, 79, 78, 78, 69, 67, 84, 69, 68, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32,102,117,110, 99,116,105,111,110, 32, 40,101,118,101,110,116, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,108,111, 99, 97,108, 32,111,107, 32, 61, 32,102, 97,108,115,101, 10, --- 1860,1870 ---- 32, 32, 32, 32, 32, 32, 32, 32,100,115, 58, 82,101,115,101,116, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32,100,115, 58, 83,116,111,112, 83,101,114,118,101,114, 40, 41, 10, ! 32, 32, 32, 32, 32, 32, 32, 32,100,115, 58,100,101,108,101,116,101, 40, 41, 10, 32, 32, 32, 32,101,110,100, 10, 10, 32, 32, 32, 32,100,101, 98,117,103,103,101,101, 95,114,117,110,110,105,110,103, 32, 61, 32,102, 97,108,115,101, 10, ! 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 32, 61, 32,119,120,108,117, 97, 46,119,120, 76,117, 97, 68,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 40,100,101, 98,117,103,103,101,114, 80,111,114,116, 78,117,109, 98,101,114, 41, 10, 10, ! 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 67,111,110,110,101, 99,116, 40,119,120,108,117, 97, 46,119,120, 69, 86, 84, 95, 87, 88, 76, 85, 65, 95, 68, 69, 66, 85, 71, 71, 69, 82, 95, 68, 69, 66, 85, 71, 71, 69, 69, 95, 67, 79, 78, 78, 69, 67, 84, 69, 68, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32,102,117,110, 99,116,105,111,110, 32, 40,101,118,101,110,116, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,108,111, 99, 97,108, 32,111,107, 32, 61, 32,102, 97,108,115,101, 10, *************** *** 1899,1903 **** 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 41, 10, 10, ! 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 67,111,110,110,101, 99,116, 40,119,120, 46,119,120, 69, 86, 84, 95, 87, 88, 76, 85, 65, 95, 68, 69, 66, 85, 71, 71, 69, 82, 95, 68, 69, 66, 85, 71, 71, 69, 69, 95, 68, 73, 83, 67, 79, 78, 78, 69, 67, 84, 69, 68, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32,102,117,110, 99,116,105,111,110, 32, 40,101,118,101,110,116, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68,105,115,112,108, 97,121, 79,117,116,112,117,116, 40, 34, 68,101, 98,117,103, 32,115,101,114,118,101,114, 32,100,105,115, 99,111,110,110,101, 99,116,101,100, 46, 92,110, 34, 41, 10, --- 1899,1903 ---- 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 41, 10, 10, ! 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 67,111,110,110,101, 99,116, 40,119,120,108,117, 97, 46,119,120, 69, 86, 84, 95, 87, 88, 76, 85, 65, 95, 68, 69, 66, 85, 71, 71, 69, 82, 95, 68, 69, 66, 85, 71, 71, 69, 69, 95, 68, 73, 83, 67, 79, 78, 78, 69, 67, 84, 69, 68, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32,102,117,110, 99,116,105,111,110, 32, 40,101,118,101,110,116, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68,105,115,112,108, 97,121, 79,117,116,112,117,116, 40, 34, 68,101, 98,117,103, 32,115,101,114,118,101,114, 32,100,105,115, 99,111,110,110,101, 99,116,101,100, 46, 92,110, 34, 41, 10, *************** *** 1916,1920 **** 32, 32, 32, 32,101,110,100, 10, 10, ! 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 67,111,110,110,101, 99,116, 40,119,120, 46,119,120, 69, 86, 84, 95, 87, 88, 76, 85, 65, 95, 68, 69, 66, 85, 71, 71, 69, 82, 95, 66, 82, 69, 65, 75, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32,102,117,110, 99,116,105,111,110, 32, 40,101,118,101,110,116, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32,101,120,105,116,105,110,103, 80,114,111,103,114, 97,109, 32,116,104,101,110, 32,114,101,116,117,114,110, 32,101,110,100, 10, --- 1916,1920 ---- 32, 32, 32, 32,101,110,100, 10, 10, ! 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 67,111,110,110,101, 99,116, 40,119,120,108,117, 97, 46,119,120, 69, 86, 84, 95, 87, 88, 76, 85, 65, 95, 68, 69, 66, 85, 71, 71, 69, 82, 95, 66, 82, 69, 65, 75, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32,102,117,110, 99,116,105,111,110, 32, 40,101,118,101,110,116, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32,101,120,105,116,105,110,103, 80,114,111,103,114, 97,109, 32,116,104,101,110, 32,114,101,116,117,114,110, 32,101,110,100, 10, *************** *** 1983,1997 **** 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 41, 10, 10, ! 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 67,111,110,110,101, 99,116, 40,119,120, 46,119,120, 69, 86, 84, 95, 87, 88, 76, 85, 65, 95, 68, 69, 66, 85, 71, 71, 69, 82, 95, 80, 82, 73, 78, 84, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32,102,117,110, 99,116,105,111,110, 32, 40,101,118,101,110,116, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68,105,115,112,108, 97,121, 79,117,116,112,117,116, 40,101,118,101,110,116, 58, 71,101,116, 77,101,115,115, 97,103,101, 40, 41, 46, 46, 34, 92,110, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 41, 10, 10, ! 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 67,111,110,110,101, 99,116, 40,119,120, 46,119,120, 69, 86, 84, 95, 87, 88, 76, 85, 65, 95, 68, 69, 66, 85, 71, 71, 69, 82, 95, 69, 82, 82, 79, 82, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32,102,117,110, 99,116,105,111,110, 32, 40,101,118,101,110,116, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68,105,115,112,108, 97,121, 79,117,116,112,117,116, 40, 34,119,120, 76,117, 97, 32, 69, 82, 82, 79, 82, 58, 32, 34, 46, 46,101,118,101,110,116, 58, 71,101,116, 77,101,115,115, 97,103,101, 40, 41, 46, 46, 34, 92,110, 92,110, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 41, 10, 10, ! 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 67,111,110,110,101, 99,116, 40,119,120, 46,119,120, 69, 86, 84, 95, 87, 88, 76, 85, 65, 95, 68, 69, 66, 85, 71, 71, 69, 82, 95, 69, 88, 73, 84, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32,102,117,110, 99,116,105,111,110, 32, 40,101,118,101,110,116, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 67,108,101, 97,114, 65,108,108, 67,117,114,114,101,110,116, 76,105,110,101, 77, 97,114,107,101,114,115, 40, 41, 10, --- 1983,1997 ---- 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 41, 10, 10, ! 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 67,111,110,110,101, 99,116, 40,119,120,108,117, 97, 46,119,120, 69, 86, 84, 95, 87, 88, 76, 85, 65, 95, 68, 69, 66, 85, 71, 71, 69, 82, 95, 80, 82, 73, 78, 84, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32,102,117,110, 99,116,105,111,110, 32, 40,101,118,101,110,116, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68,105,115,112,108, 97,121, 79,117,116,112,117,116, 40,101,118,101,110,116, 58, 71,101,116, 77,101,115,115, 97,103,101, 40, 41, 46, 46, 34, 92,110, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 41, 10, 10, ! 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 67,111,110,110,101, 99,116, 40,119,120,108,117, 97, 46,119,120, 69, 86, 84, 95, 87, 88, 76, 85, 65, 95, 68, 69, 66, 85, 71, 71, 69, 82, 95, 69, 82, 82, 79, 82, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32,102,117,110, 99,116,105,111,110, 32, 40,101,118,101,110,116, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 68,105,115,112,108, 97,121, 79,117,116,112,117,116, 40, 34,119,120, 76,117, 97, 32, 69, 82, 82, 79, 82, 58, 32, 34, 46, 46,101,118,101,110,116, 58, 71,101,116, 77,101,115,115, 97,103,101, 40, 41, 46, 46, 34, 92,110, 92,110, 34, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 41, 10, 10, ! 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 67,111,110,110,101, 99,116, 40,119,120,108,117, 97, 46,119,120, 69, 86, 84, 95, 87, 88, 76, 85, 65, 95, 68, 69, 66, 85, 71, 71, 69, 82, 95, 69, 88, 73, 84, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32,102,117,110, 99,116,105,111,110, 32, 40,101,118,101,110,116, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 67,108,101, 97,114, 65,108,108, 67,117,114,114,101,110,116, 76,105,110,101, 77, 97,114,107,101,114,115, 40, 41, 10, *************** *** 2004,2008 **** 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 41, 10, 10, ! 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 67,111,110,110,101, 99,116, 40,119,120, 46,119,120, 69, 86, 84, 95, 87, 88, 76, 85, 65, 95, 68, 69, 66, 85, 71, 71, 69, 82, 95, 69, 86, 65, 76, 85, 65, 84, 69, 95, 69, 88, 80, 82, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32,102,117,110, 99,116,105,111,110, 32, 40,101,118,101,110,116, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32,119, 97,116, 99,104, 76,105,115,116, 67,116,114,108, 32,116,104,101,110, 10, --- 2004,2008 ---- 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 41, 10, 10, ! 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 58, 67,111,110,110,101, 99,116, 40,119,120,108,117, 97, 46,119,120, 69, 86, 84, 95, 87, 88, 76, 85, 65, 95, 68, 69, 66, 85, 71, 71, 69, 82, 95, 69, 86, 65, 76, 85, 65, 84, 69, 95, 69, 88, 80, 82, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32,102,117,110, 99,116,105,111,110, 32, 40,101,118,101,110,116, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32,119, 97,116, 99,104, 76,105,115,116, 67,116,114,108, 32,116,104,101,110, 10, *************** *** 2047,2051 **** 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 45, 45, 32,100,101,108,101,116,101, 32,116,104,101, 32,115,101,114,118,101,114, 32, 97,110,100, 32,108,101,116, 32,105,116, 32,100,105,101, 32,103,114, 97, 99,101,102,117,108,108,121, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,101, 95,114,117,110,110,105,110,103, 32, 61, 32,102, 97,108,115,101, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 95, 58, 68,101,108,101,116,101, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32, 40,100,101, 98,117,103,103,101,114, 95,100,101,115,116,114,111,121, 32, 62, 32, 49, 53, 41, 32,116,104,101,110, 10, --- 2047,2051 ---- 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 45, 45, 32,100,101,108,101,116,101, 32,116,104,101, 32,115,101,114,118,101,114, 32, 97,110,100, 32,108,101,116, 32,105,116, 32,100,105,101, 32,103,114, 97, 99,101,102,117,108,108,121, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,101, 95,114,117,110,110,105,110,103, 32, 61, 32,102, 97,108,115,101, 10, ! 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,100,101, 98,117,103,103,101,114, 83,101,114,118,101,114, 95, 58,100,101,108,101,116,101, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,101,110,100, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,105,102, 32, 40,100,101, 98,117,103,103,101,114, 95,100,101,115,116,114,111,121, 32, 62, 32, 49, 53, 41, 32,116,104,101,110, 10, *************** *** 2333,2342 **** 32, 32, 32, 32, 32, 32, 32, 32, 45, 45,100,115, 58, 82,101,115,101,116, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32,100,115, 58, 75,105,108,108, 68,101, 98,117,103,103,101,101, 40, 41, 10, ! 32, 32, 32, 32, 32, 32, 32, 32,100,115, 58, 68,101,108,101,116,101, 40, 41, 10, 32, 32, 32, 32,101,110,100, 10, 32, 32, 32, 32,100,101, 98,117,103,103,101,101, 95,114,117,110,110,105,110,103, 32, 61, 32,102, 97,108,115,101, 10, 10, 32, 32, 32, 32, 67,111,110,102,105,103, 83, 97,118,101, 70,114, 97,109,101, 80,111,115,105,116,105,111,110, 40,102,114, 97,109,101, 44, 32, 34, 77, 97,105,110, 70,114, 97,109,101, 34, 41, 10, ! 32, 32, 32, 32, 99,111,110,102,105,103, 58, 68,101,108,101,116,101, 40, 41, 32, 45, 45, 32, 97,108,119, 97,121,115, 32,100,101,108,101,116,101, 32,116,104,101, 32, 99,111,110,102,105,103, 10, 32, 32, 32, 32,101,118,101,110,116, 58, 83,107,105,112, 40, 41, 10, 32, 32, 32, 32, 67,108,111,115,101, 87, 97,116, 99,104, 87,105,110,100,111,119, 40, 41, 10, --- 2333,2342 ---- 32, 32, 32, 32, 32, 32, 32, 32, 45, 45,100,115, 58, 82,101,115,101,116, 40, 41, 10, 32, 32, 32, 32, 32, 32, 32, 32,100,115, 58, 75,105,108,108, 68,101, 98,117,103,103,101,101, 40, 41, 10, ! 32, 32, 32, 32, 32, 32, 32, 32,100,115, 58,100,101,108,101,116,101, 40, 41, 10, 32, 32, 32, 32,101,110,100, 10, 32, 32, 32, 32,100,101, 98,117,103,103,101,101, 95,114,117,110,110,105,110,103, 32, 61, 32,102, 97,108,115,101, 10, 10, 32, 32, 32, 32, 67,111,110,102,105,103, 83, 97,118,101, 70,114, 97,109,101, 80,111,115,105,116,105,111,110, 40,102,114, 97,109,101, 44, 32, 34, 77, 97,105,110, 70,114, 97,109,101, 34, 41, 10, ! 32, 32, 32, 32, 99,111,110,102,105,103, 58,100,101,108,101,116,101, 40, 41, 32, 45, 45, 32, 97,108,119, 97,121,115, 32,100,101,108,101,116,101, 32,116,104,101, 32, 99,111,110,102,105,103, 10, 32, 32, 32, 32,101,118,101,110,116, 58, 83,107,105,112, 40, 41, 10, 32, 32, 32, 32, 67,108,111,115,101, 87, 97,116, 99,104, 87,105,110,100,111,119, 40, 41, 10, |
From: John L. <jr...@us...> - 2007-06-14 05:02:52
|
Update of /cvsroot/wxlua/wxLua/samples In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv29717/wxLua/samples Modified Files: bindings.wx.lua unittest.wx.lua Log Message: Rename TLUA_NOTAG to WXLUA_NOTAG since it's only for wxLua Replace calls to lua_pushliteral with lua_pushlstring for better performance Change wxLuaState::Has/Get/SetDerivedMethods to C functions wxlua_has/get/setderivedmethods for a little better speed. Test wxLuaObject in unittest.wx.lua Index: bindings.wx.lua =================================================================== RCS file: /cvsroot/wxlua/wxLua/samples/bindings.wx.lua,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** bindings.wx.lua 14 Jun 2007 01:23:20 -0000 1.7 --- bindings.wx.lua 14 Jun 2007 05:02:49 -0000 1.8 *************** *** 140,145 **** bindingList = {} -- Table of {"name space", "wxLuaBinding_XXX function"} - wxclassInfo = {} -- Table of all wxWidget wxClassInfo - -- ---------------------------------------------------------------------------- -- Load all the wxWidgets wxClassInfo --- 140,143 ---- *************** *** 210,217 **** end - wxclassInfo = CreatewxClassInfoTable() - -- ---------------------------------------------------------------------------- ! -- Find the bindings installed into wxLua -- ---------------------------------------------------------------------------- wxlua_tables = { "wxlua", "wx", "wxstc" } --- 208,213 ---- end -- ---------------------------------------------------------------------------- ! -- Find the bindings installed into wxLua, tables that might have wxLuaBinding_ -- ---------------------------------------------------------------------------- wxlua_tables = { "wxlua", "wx", "wxstc" } *************** *** 754,758 **** GotoBindingLevel(listCtrl, list_level) elseif itemText == "All wxWidgets wxClassInfo" then ! local t = wxclassInfo list_level = list_level + 1 --- 750,754 ---- GotoBindingLevel(listCtrl, list_level) elseif itemText == "All wxWidgets wxClassInfo" then ! local t = CreatewxClassInfoTable() list_level = list_level + 1 *************** *** 1162,1169 **** frame:Connect(wx.wxID_EXIT, wx.wxEVT_COMMAND_MENU_SELECTED, ! function (event) frame:Close(true) end ) frame:Connect(ID_STACK_DIALOG, wx.wxEVT_COMMAND_MENU_SELECTED, ! function (event) wxlua.LuaStackDialog() end ) -- connect the selection event of the about menu item --- 1158,1172 ---- frame:Connect(wx.wxID_EXIT, wx.wxEVT_COMMAND_MENU_SELECTED, ! function (event) ! frame:Close(true) ! end ) frame:Connect(ID_STACK_DIALOG, wx.wxEVT_COMMAND_MENU_SELECTED, ! function (event) ! local LocalNumberVariable = 2 ! local LocalStringVariable = "Hello" ! ! wxlua.LuaStackDialog() ! end ) -- connect the selection event of the about menu item Index: unittest.wx.lua =================================================================== RCS file: /cvsroot/wxlua/wxLua/samples/unittest.wx.lua,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** unittest.wx.lua 13 Jun 2007 00:09:04 -0000 1.11 --- unittest.wx.lua 14 Jun 2007 05:02:49 -0000 1.12 *************** *** 13,16 **** --- 13,17 ---- tests_run = 0 failed_tests = 0 + warnings = 0 function PrintOk(test, str) *************** *** 78,81 **** --- 79,101 ---- -- --------------------------------------------------------------------------- + print("\nTest loading multiple bindings.\n") + -- --------------------------------------------------------------------------- + + if wxstc then + PrintOk(wxstc.wxSTC_WRAP_WORD == 1, "Test wxstc bindings wxstc.wxSTC_WRAP_WORD == 1") + PrintOk(type(wxstc.wxStyledTextCtrl.new) == "function", "Test wxstc bindings type(wxstc.wxStyledTextCtrl.new) == \"function\"") + else + print("\nWARNING - unable to test wxstc bindings? Should they be here?\n\n") + warnings = warnings + 1 + end + + if wxlua.wxLuaDebuggerServer then + PrintOk(type(wxlua.wxLuaDebuggerServer) == "table", "Test wxstc bindings type(wxlua.wxLuaDebuggerServer) == \"table\"") + else + print("\nWARNING - unable to test wxluasocket bindings? Should they be here?\n\n") + warnings = warnings + 1 + end + + -- --------------------------------------------------------------------------- print("\nTest some automatic overload binding functions.\n") -- --------------------------------------------------------------------------- *************** *** 219,222 **** --- 239,260 ---- -- --------------------------------------------------------------------------- + print("\nTest the wxLuaObject.\n") + -- --------------------------------------------------------------------------- + + a = "Hello"; o = wxlua.wxLuaObject(a); b = o:GetObject() + PrintOk((b == "Hello") and (a == b), "Test wxLuaObject::GetObject(string).") + o = wxlua.wxLuaObject("hello"); b = o:GetObject() + PrintOk((b == "hello") and (a ~= b), "Test wxLuaObject::GetObject(string).") + o = wxlua.wxLuaObject(10); b = o:GetObject() + PrintOk(b == 10, "Test wxLuaObject::GetObject(number).") + a = {"hello"}; o = wxlua.wxLuaObject(a); b = o:GetObject() + PrintOk((a == b) and (b[1] == "hello"), "Test wxLuaObject::GetObject(table).") + + a = wx.wxPoint(1,2); o = wxlua.wxLuaObject(a); b = o:GetObject() + PrintOk(a == b, "Test wxLuaObject::GetObject(userdata).") + a = wx.wxPoint(1,2); o = wxlua.wxLuaObject(a); a = nil; b = o:GetObject() + PrintOk(b:GetX() == 1, "Test wxLuaObject::GetObject(userdata).") + + -- --------------------------------------------------------------------------- print("\nTest the bit library.\n") -- --------------------------------------------------------------------------- *************** *** 235,237 **** -- --------------------------------------------------------------------------- ! print("Tests run : "..tostring(tests_run)..", Tests that failed : "..tostring(failed_tests)..".\n") \ No newline at end of file --- 273,277 ---- -- --------------------------------------------------------------------------- ! print("Tests run : "..tostring(tests_run)) ! print("Tests that failed : "..tostring(failed_tests)) ! print("Warnings : "..tostring(warnings).."\n") |
From: John L. <jr...@us...> - 2007-06-14 05:02:52
|
Update of /cvsroot/wxlua/wxLua/modules/wxlua/src In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv29717/wxLua/modules/wxlua/src Modified Files: wxlbind.cpp wxlstate.cpp wxlua_bind.cpp Log Message: Rename TLUA_NOTAG to WXLUA_NOTAG since it's only for wxLua Replace calls to lua_pushliteral with lua_pushlstring for better performance Change wxLuaState::Has/Get/SetDerivedMethods to C functions wxlua_has/get/setderivedmethods for a little better speed. Test wxLuaObject in unittest.wx.lua Index: wxlstate.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxlua/src/wxlstate.cpp,v retrieving revision 1.110 retrieving revision 1.111 diff -C2 -d -r1.110 -r1.111 *** wxlstate.cpp 14 Jun 2007 01:23:19 -0000 1.110 --- wxlstate.cpp 14 Jun 2007 05:02:48 -0000 1.111 *************** *** 79,84 **** if (lua_isuserdata(L, i) && wxlState.Ok()) { ! int nTag = wxlState.ttag(i); ! if (nTag != TLUA_NOTAG) { wxString name = wxlState.GetLuaTagName(nTag); --- 79,84 ---- if (lua_isuserdata(L, i) && wxlState.Ok()) { ! int nTag = wxlua_ttag(L, i); ! if (nTag != WXLUA_NOTAG) { wxString name = wxlState.GetLuaTagName(nTag); *************** *** 353,362 **** int LUACALL wxlua_ttag(lua_State *L, int stack_idx) { ! int tag = TLUA_NOTAG; if (lua_getmetatable(L, stack_idx) != 0) // see tnewtag { ! lua_pushliteral(L, "tag"); // get t["tag"] lua_rawget(L, -2); ! if (lua_isnumber(L, -1)) // FIXME this is really an error if this isn't true tag = (int)lua_tonumber(L, -1); --- 353,362 ---- int LUACALL wxlua_ttag(lua_State *L, int stack_idx) { ! int tag = WXLUA_NOTAG; if (lua_getmetatable(L, stack_idx) != 0) // see tnewtag { ! lua_pushlstring(L, "tag", 3); // get t["tag"] lua_rawget(L, -2); ! //if (lua_isnumber(L, -1)) // Note: lua_tonumber returns 0 == WXLUA_NOTAG if it's not a number tag = (int)lua_tonumber(L, -1); *************** *** 387,391 **** int tag = wxlua_tinsert(L, -1); // insert the table into the wxLuaReferences registry table ! lua_pushliteral(L, "tag"); // add t["tag"] = tag to new table lua_pushnumber(L, tag); lua_rawset(L, -3); --- 387,391 ---- int tag = wxlua_tinsert(L, -1); // insert the table into the wxLuaReferences registry table ! lua_pushlstring(L, "tag", 3); // add t["tag"] = tag to new table lua_pushnumber(L, tag); lua_rawset(L, -3); *************** *** 406,422 **** { if (weak_values) ! lua_pushliteral(L, "kv"); else ! lua_pushliteral(L, "k"); } else { if (weak_values) ! lua_pushliteral(L, "v"); else // yeah, we really shouldn't reach here lua_pushnil(L); } ! lua_pushliteral(L, "__mode"); lua_rawset(L, -3); // set mode of main table lua_setmetatable(L, -2); // via the metatable --- 406,422 ---- { if (weak_values) ! lua_pushlstring(L, "kv", 2); else ! lua_pushlstring(L, "k", 1); } else { if (weak_values) ! lua_pushlstring(L, "v", 1); else // yeah, we really shouldn't reach here lua_pushnil(L); } ! lua_pushlstring(L, "__mode", 6); lua_rawset(L, -3); // set mode of main table lua_setmetatable(L, -2); // via the metatable *************** *** 425,429 **** int tag = wxlua_tinsert(L, -1); // insert the table into the wxLuaReferences registry table ! lua_pushliteral(L, "tag"); // add t["tag"] = tag to new table lua_pushnumber(L, tag); lua_rawset(L, -3); --- 425,429 ---- int tag = wxlua_tinsert(L, -1); // insert the table into the wxLuaReferences registry table ! lua_pushlstring(L, "tag", 3); // add t["tag"] = tag to new table lua_pushnumber(L, tag); lua_rawset(L, -3); *************** *** 778,781 **** --- 778,930 ---- } + //---------------------------------------------------------------------------- + // Derived class member functions for classes in wxLua + //---------------------------------------------------------------------------- + + bool wxlua_setderivedmethod(lua_State* L, void *pObject, const char *method_name, wxLuaObject* wxlObj) + { + wxlua_pushstring_wxLuaDerivedMethods(L); + lua_rawget( L, LUA_REGISTRYINDEX ); // pop key, push table + + if (lua_istable(L, -1)) // else not installed or already removed? Not good in any case. + { + lua_pushlightuserdata(L, (void *)pObject); + lua_rawget(L, -2); // pop key, push table or nil + if (!lua_istable(L, -1)) + { + lua_pop(L, 1); // pop nil value + + // add new table for this object + lua_pushlightuserdata(L, (void *)pObject); + lua_newtable(L); + lua_rawset(L, -3); + + // put the new table back on the top of the stack + lua_pushlightuserdata(L, (void *)pObject); + lua_rawget(L, -2); + } + + // see if there already is a method + lua_pushstring( L, method_name ); + lua_rawget(L, -2); + + if (lua_islightuserdata(L, -1)) + { + // already have a method, delete it before replacing it + wxLuaObject* o = (wxLuaObject*)lua_touserdata( L, -1 ); + delete o; + } + + lua_pop(L, 1); // pop the deleted old object, or nil + + lua_pushstring( L, method_name ); + lua_pushlightuserdata(L, (void*)wxlObj); + lua_rawset(L, -3); + + lua_pop(L, 2); // pop the object and overridden function table + } + else + { + lua_pop(L, 1); // pop the nil reg table + wxlua_terror(L, "wxLua: The wxLuaDerivedMethods table in the registry is missing!"); + return false; + } + + return true; + } + bool wxlua_hasderivedmethod(lua_State* L, void *pObject, const char *method_name, bool push_method) + { + bool found = false; + + wxlua_pushstring_wxLuaDerivedMethods(L); + lua_rawget( L, LUA_REGISTRYINDEX ); // pop key, push table + + if (lua_istable(L, -1)) // else not installed or already removed? Not good in any case. + { + wxLuaObject* wxlObj = NULL; + + lua_pushlightuserdata(L, (void *)pObject); + lua_rawget(L, -2); // pop key, push table or nil + if (lua_istable(L, -1)) + { + // see if there is a method with the same name + lua_pushstring( L, method_name ); + lua_rawget(L, -2); + + if (lua_islightuserdata(L, -1)) + wxlObj = (wxLuaObject*)lua_touserdata( L, -1 ); + + lua_pop(L, 1); // pop the method object or nil + } + + lua_pop(L, 2); // pop registry table and object table or nil + + if (wxlObj != NULL) + { + if (push_method && wxlObj->GetObject()) + found = true; + else if (!push_method) + found = true; + } + } + else + { + lua_pop(L, 1); // pop the nil reg table + wxlua_terror(L, "wxLua: The wxLuaDerivedMethods table in the registry is missing!"); + return false; + } + + return found; + } + bool wxlua_removederivedmethod(lua_State* L, void *pObject) + { + bool found = false; + + wxlua_pushstring_wxLuaDerivedMethods(L); + lua_rawget( L, LUA_REGISTRYINDEX ); // pop key, push table + + if (lua_istable(L, -1)) // else not installed or already removed? Not good in any case. + { + lua_pushlightuserdata(L, (void *)pObject); + lua_rawget(L, -2); // pop key, push table or nil + if (lua_istable(L, -1)) + { + found = true; + int t = lua_gettop(L); + lua_pushnil(L); /* first key */ + while (lua_next(L, t) != 0) + { + // uses 'key' (at index -2) and 'value' (at index -1) + //wxPrintf(wxT("%s - %s\n"), lua2wx(lua_tostring(L, -2)).c_str(), lua2wx(lua_typename(L, lua_type(L, -1))).c_str()); + + if (lua_islightuserdata(L, -1)) + { + wxLuaObject* o = (wxLuaObject*)lua_touserdata(L, -1); + delete o; + } + + // removes 'value'; keeps 'key' for next iteration + lua_pop(L, 1); + } + + lua_pop(L, 1); // pop the obj table + lua_pushlightuserdata(L, (void *)pObject); + lua_pushnil(L); + lua_rawset(L, -3); // nil the obj table + lua_pop(L, 1); // pop reg table + } + else + lua_pop(L, 2); // pop the reg table and nil for the obj table + } + else + { + lua_pop(L, 1); // pop the nil reg table + wxlua_terror(L, "wxLua: The wxLuaDerivedMethods table in the registry is missing!"); + return false; + } + + return found; + } + // ---------------------------------------------------------------------------- // wxFindWindowByPointer - find a window by it's pointer *************** *** 2118,2122 **** int wxLuaState::ttag(int stack_idx) const { ! wxCHECK_MSG(Ok(), TLUA_NOTAG, wxT("Invalid wxLuaState")); return wxlua_ttag(M_WXLSTATEDATA->m_lua_State, stack_idx); } --- 2267,2271 ---- int wxLuaState::ttag(int stack_idx) const { ! wxCHECK_MSG(Ok(), WXLUA_NOTAG, wxT("Invalid wxLuaState")); return wxlua_ttag(M_WXLSTATEDATA->m_lua_State, stack_idx); } *************** *** 2130,2134 **** int wxLuaState::tnewtag() { ! wxCHECK_MSG(Ok(), TLUA_NOTAG, wxT("Invalid wxLuaState")); return wxlua_tnewtag(M_WXLSTATEDATA->m_lua_State); } --- 2279,2283 ---- int wxLuaState::tnewtag() { ! wxCHECK_MSG(Ok(), WXLUA_NOTAG, wxT("Invalid wxLuaState")); return wxlua_tnewtag(M_WXLSTATEDATA->m_lua_State); } *************** *** 2136,2140 **** int wxLuaState::tnewweaktag(bool weak_keys, bool weak_values) { ! wxCHECK_MSG(Ok(), TLUA_NOTAG, wxT("Invalid wxLuaState")); return wxlua_tnewweaktag(M_WXLSTATEDATA->m_lua_State, weak_keys, weak_values); } --- 2285,2289 ---- int wxLuaState::tnewweaktag(bool weak_keys, bool weak_values) { ! wxCHECK_MSG(Ok(), WXLUA_NOTAG, wxT("Invalid wxLuaState")); return wxlua_tnewweaktag(M_WXLSTATEDATA->m_lua_State, weak_keys, weak_values); } *************** *** 2188,2192 **** if (wxlua_iswxuserdata(L, stack_idx)) { ! int stack_tag = ttag(stack_idx); if ((GetLuaNULLTag() == stack_tag) || // FIXME, how to check when NULL is valid or not? (GetwxLuaFunctionTag() == stack_tag) || --- 2337,2341 ---- if (wxlua_iswxuserdata(L, stack_idx)) { ! int stack_tag = wxlua_ttag(L, stack_idx); if ((GetLuaNULLTag() == stack_tag) || // FIXME, how to check when NULL is valid or not? (GetwxLuaFunctionTag() == stack_tag) || *************** *** 2559,2616 **** } ! bool wxLuaState::SetDerivedMethod(void *pObject, const char *name, wxLuaObject* wxlObj) { wxCHECK_MSG(Ok() && pObject, false, wxT("Invalid wxLuaState or object to set derived method for.")); lua_State* L = M_WXLSTATEDATA->m_lua_State; ! ! wxlua_pushstring_wxLuaDerivedMethods(L); ! lua_rawget( L, LUA_REGISTRYINDEX ); // pop key, push table ! ! if (lua_istable(L, -1)) // else not installed or already removed? Not good in any case. ! { ! lua_pushlightuserdata(L, (void *)pObject); ! lua_rawget(L, -2); // pop key, push table or nil ! if (!lua_istable(L, -1)) ! { ! lua_pop(L, 1); // pop nil value ! ! // add new table for this object ! lua_pushlightuserdata(L, (void *)pObject); ! lua_newtable(L); ! lua_rawset(L, -3); ! ! // put the new table back on the top of the stack ! lua_pushlightuserdata(L, (void *)pObject); ! lua_rawget(L, -2); ! } ! ! // see if there already is a method ! lua_pushstring( L, name ); ! lua_rawget(L, -2); ! ! if (lua_islightuserdata(L, -1)) ! { ! // already have a method, delete it before replacing it ! wxLuaObject* o = (wxLuaObject*)lua_touserdata( L, -1 ); ! delete o; ! } ! ! lua_pop(L, 1); // pop the deleted old object, or nil ! ! lua_pushstring( L, name ); ! lua_pushlightuserdata(L, (void*)wxlObj); ! lua_rawset(L, -3); ! ! lua_pop(L, 2); // pop the object and overridden function table ! } ! else ! { ! lua_pop(L, 1); // pop the nil reg table ! terror("wxLua: The wxLuaDerivedMethods table in the registry is missing!"); ! return false; ! } ! ! return true; } --- 2708,2717 ---- } ! bool wxLuaState::SetDerivedMethod(void *pObject, const char *method_name, wxLuaObject* wxlObj) { wxCHECK_MSG(Ok() && pObject, false, wxT("Invalid wxLuaState or object to set derived method for.")); lua_State* L = M_WXLSTATEDATA->m_lua_State; ! return wxlua_setderivedmethod(L, pObject, method_name, wxlObj); } *************** *** 2620,2664 **** lua_State* L = M_WXLSTATEDATA->m_lua_State; ! bool found = false; ! ! wxlua_pushstring_wxLuaDerivedMethods(L); ! lua_rawget( L, LUA_REGISTRYINDEX ); // pop key, push table ! ! if (lua_istable(L, -1)) // else not installed or already removed? Not good in any case. ! { ! wxLuaObject* wxlObj = NULL; ! ! lua_pushlightuserdata(L, (void *)pObject); ! lua_rawget(L, -2); // pop key, push table or nil ! if (lua_istable(L, -1)) ! { ! // see if there is a method with the same name ! lua_pushstring( L, method_name ); ! lua_rawget(L, -2); ! ! if (lua_islightuserdata(L, -1)) ! wxlObj = (wxLuaObject*)lua_touserdata( L, -1 ); ! ! lua_pop(L, 1); // pop the method object or nil ! } ! ! lua_pop(L, 2); // pop registry table and object table or nil ! ! if (wxlObj != NULL) ! { ! if (push_method && wxlObj->GetObject()) ! found = true; ! else if (!push_method) ! found = true; ! } ! } ! else ! { ! lua_pop(L, 1); // pop the nil reg table ! terror("wxLua: The wxLuaDerivedMethods table in the registry is missing!"); ! return false; ! } ! ! return found; } --- 2721,2725 ---- lua_State* L = M_WXLSTATEDATA->m_lua_State; ! return wxlua_hasderivedmethod(L, pObject, method_name, push_method); } *************** *** 2668,2717 **** lua_State* L = M_WXLSTATEDATA->m_lua_State; ! bool found = false; ! ! wxlua_pushstring_wxLuaDerivedMethods(L); ! lua_rawget( L, LUA_REGISTRYINDEX ); // pop key, push table ! ! if (lua_istable(L, -1)) // else not installed or already removed? Not good in any case. ! { ! lua_pushlightuserdata(L, (void *)pObject); ! lua_rawget(L, -2); // pop key, push table or nil ! if (lua_istable(L, -1)) ! { ! found = true; ! int t = lua_gettop(L); ! lua_pushnil(L); /* first key */ ! while (lua_next(L, t) != 0) ! { ! // uses 'key' (at index -2) and 'value' (at index -1) ! //wxPrintf(wxT("%s - %s\n"), lua2wx(lua_tostring(L, -2)).c_str(), lua2wx(lua_typename(L, lua_type(L, -1))).c_str()); ! ! if (lua_islightuserdata(L, -1)) ! { ! wxLuaObject* o = (wxLuaObject*)lua_touserdata(L, -1); ! delete o; ! } ! ! // removes 'value'; keeps 'key' for next iteration ! lua_pop(L, 1); ! } ! ! lua_pop(L, 1); // pop the obj table ! lua_pushlightuserdata(L, (void *)pObject); ! lua_pushnil(L); ! lua_rawset(L, -3); // nil the obj table ! lua_pop(L, 1); // pop reg table ! } ! else ! lua_pop(L, 2); // pop the reg table and nil for the obj table ! } ! else ! { ! lua_pop(L, 1); // pop the nil reg table ! terror("wxLua: The wxLuaDerivedMethods table in the registry is missing!"); ! return false; ! } ! ! return found; } --- 2729,2733 ---- lua_State* L = M_WXLSTATEDATA->m_lua_State; ! return wxlua_removederivedmethod(L, pObject); } *************** *** 3731,3735 **** //----------------------------------------------------------------------------- ! // This is the code copied directly from lbitlib.c and ever so slightly modified // to allow it to work here. --- 3747,3751 ---- //----------------------------------------------------------------------------- ! // This is the code copied directly from lbitlib.c and ever so slightly modified // to allow it to work here. Index: wxlbind.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxlua/src/wxlbind.cpp,v retrieving revision 1.74 retrieving revision 1.75 diff -C2 -d -r1.74 -r1.75 *** wxlbind.cpp 13 Jun 2007 04:15:29 -0000 1.74 --- wxlbind.cpp 14 Jun 2007 05:02:48 -0000 1.75 *************** *** 67,73 **** wxCHECK_MSG(wxlState.Ok(), 0, wxT("Invalid wxLuaState")); ! if (wxlua_iswxuserdata(L, 1) && (wxlState.ttag(1) == wxlState.GetwxLuaFunctionTag())) { ! wxLuaFunction *wxlFunction = (wxLuaFunction *)wxlState.ttouserdata(1, true); if (wxlFunction != NULL) delete wxlFunction; --- 67,73 ---- wxCHECK_MSG(wxlState.Ok(), 0, wxT("Invalid wxLuaState")); ! if (wxlua_iswxuserdata(L, 1) && (wxlua_ttag(L, 1) == wxlState.GetwxLuaFunctionTag())) { ! wxLuaFunction *wxlFunction = (wxLuaFunction *)wxlua_ttouserdata(L, 1, true); if (wxlFunction != NULL) delete wxlFunction; *************** *** 81,87 **** wxCHECK_MSG(wxlState.Ok(), 0, wxT("Invalid wxLuaState")); ! if (wxlua_iswxuserdata(L, 1) && (wxlState.ttag(1) == wxlState.GetwxLuaFunctionTag())) { ! wxLuaFunction *wxlFunction = (wxLuaFunction *)wxlState.ttouserdata(1, false); // remove the userdata *this from the stack --- 81,87 ---- wxCHECK_MSG(wxlState.Ok(), 0, wxT("Invalid wxLuaState")); ! if (wxlua_iswxuserdata(L, 1) && (wxlua_ttag(L, 1) == wxlState.GetwxLuaFunctionTag())) { ! wxLuaFunction *wxlFunction = (wxLuaFunction *)wxlua_ttouserdata(L, 1, false); // remove the userdata *this from the stack *************** *** 240,258 **** int LUACALL wxluabind_garbageCollect(lua_State *L) { - wxLuaState wxlState(L); - wxCHECK_MSG(wxlState.Ok(), 0, wxT("Invalid wxLuaState")); - wxLuaBindClass *wxlClass = (wxLuaBindClass *)lua_touserdata(L, lua_upvalueindex(1)); long key = -1; ! if ((wxlClass != NULL) && wxlua_iswxuserdata(L, 1) && (wxlState.ttag(1) == *wxlClass->class_tag)) { ! key = (long)wxlState.ttouserdata(1, true); wxCHECK_MSG(key != 0, 0, wxT("NULL user data in wxluabind_garbageCollect")); wxlState.RemoveTrackedObject((void*)key, true); ! wxlState.RemoveDerivedMethod((void*)key); } --- 240,258 ---- int LUACALL wxluabind_garbageCollect(lua_State *L) { wxLuaBindClass *wxlClass = (wxLuaBindClass *)lua_touserdata(L, lua_upvalueindex(1)); long key = -1; ! if ((wxlClass != NULL) && wxlua_iswxuserdata(L, 1) && (wxlua_ttag(L, 1) == *wxlClass->class_tag)) { ! wxLuaState wxlState(L); ! wxCHECK_MSG(wxlState.Ok(), 0, wxT("Invalid wxLuaState")); ! ! key = (long)wxlua_ttouserdata(L, 1, true); wxCHECK_MSG(key != 0, 0, wxT("NULL user data in wxluabind_garbageCollect")); wxlState.RemoveTrackedObject((void*)key, true); ! wxlua_removederivedmethod(L, (void*)key); } *************** *** 292,298 **** const char *name = NULL; ! if ((wxlClass != NULL) && wxlua_iswxuserdata(L, 1) && (wxlState.ttag(1) == *wxlClass->class_tag)) { ! void *pObject = wxlState.ttouserdata(1); name = lua_tostring(L, 2); // name of the __index method called in lua --- 292,298 ---- const char *name = NULL; ! if ((wxlClass != NULL) && wxlua_iswxuserdata(L, 1) && (wxlua_ttag(L, 1) == *wxlClass->class_tag)) { ! void *pObject = wxlua_ttouserdata(L, 1); name = lua_tostring(L, 2); // name of the __index method called in lua *************** *** 304,308 **** { // if there's a derived method, push it onto the stack to be run ! if (wxlState.HasDerivedMethod(pObject, name, true)) { found = true; --- 304,308 ---- { // if there's a derived method, push it onto the stack to be run ! if (wxlua_hasderivedmethod(L, pObject, name, true)) { found = true; *************** *** 327,331 **** result = 1; wxLuaFunction *wxlFunc = new wxLuaFunction(wxlMethod, wxlClass, pObject); ! wxlState.tpushusertag(wxlFunc, wxlState.GetwxLuaFunctionTag()); } } --- 327,331 ---- result = 1; wxLuaFunction *wxlFunc = new wxLuaFunction(wxlMethod, wxlClass, pObject); ! wxlua_tpushusertag(L, wxlFunc, wxlState.GetwxLuaFunctionTag()); } } *************** *** 382,386 **** bool found = false; ! if ((wxlClass != NULL) && wxlua_iswxuserdata(L, 1) && (wxlState.ttag(1) == *wxlClass->class_tag)) { // See if there is a WXLUAMETHOD_SETPROP in the wxLuaBindClass's wxLuaBindMethods --- 382,386 ---- bool found = false; ! if ((wxlClass != NULL) && wxlua_iswxuserdata(L, 1) && (wxlua_ttag(L, 1) == *wxlClass->class_tag)) { // See if there is a WXLUAMETHOD_SETPROP in the wxLuaBindClass's wxLuaBindMethods *************** *** 413,419 **** if (!found) { ! void *pObject = wxlState.ttouserdata(1); wxLuaObject* wxlObj = new wxLuaObject(wxlState, 3); ! wxlState.SetDerivedMethod(pObject, name, wxlObj); } } --- 413,419 ---- if (!found) { ! void *pObject = wxlua_ttouserdata(L, 1); wxLuaObject* wxlObj = new wxLuaObject(wxlState, 3); ! wxlua_setderivedmethod(L, pObject, name, wxlObj); } } Index: wxlua_bind.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxlua/src/wxlua_bind.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** wxlua_bind.cpp 14 Jun 2007 01:23:19 -0000 1.1 --- wxlua_bind.cpp 14 Jun 2007 05:02:48 -0000 1.2 *************** *** 177,181 **** // int wxluaarg_tag int wxluaarg_tag = wxlua_ttag(L, 1); ! if (wxluaarg_tag == TLUA_NOTAG) { int ltype = lua_type(L, 1); --- 177,181 ---- // int wxluaarg_tag int wxluaarg_tag = wxlua_ttag(L, 1); ! if (wxluaarg_tag == WXLUA_NOTAG) { int ltype = lua_type(L, 1); |