From: John L. <jr...@us...> - 2008-10-21 04:23:26
|
Update of /cvsroot/wxlua/wxLua/modules/wxbind/src In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv23977/wxLua/modules/wxbind/src Modified Files: wxcore_bind.cpp wxcore_clipdrag.cpp Log Message: Add operators for <<, >>, %, ~ Index: wxcore_bind.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxbind/src/wxcore_bind.cpp,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** wxcore_bind.cpp 29 Jan 2008 04:22:52 -0000 1.17 --- wxcore_bind.cpp 21 Oct 2008 04:23:18 -0000 1.18 *************** *** 4282,4285 **** --- 4282,4286 ---- #if wxLUA_USE_wxClipboard && wxUSE_CLIPBOARD { "wxClipboard", wxClipboard_methods, wxClipboard_methodCount, CLASSINFO(wxClipboard), &wxluatype_wxClipboard, "wxObject", NULL ,g_wxluanumberArray_None, 0, }, + { "wxClipboardLocker", wxClipboardLocker_methods, wxClipboardLocker_methodCount, NULL, &wxluatype_wxClipboardLocker, NULL, NULL ,g_wxluanumberArray_None, 0, }, #endif // wxLUA_USE_wxClipboard && wxUSE_CLIPBOARD *************** *** 5213,5216 **** --- 5214,5222 ---- + #if wxLUA_USE_wxClipboard && wxUSE_CLIPBOARD + wxLUA_IMPLEMENT_ENCAPSULATION(wxClipboardLocker, wxClipboardLocker) + #endif // wxLUA_USE_wxClipboard && wxUSE_CLIPBOARD + + #if wxLUA_USE_wxColourPenBrush wxLUA_IMPLEMENT_ENCAPSULATION(wxColourDatabase, wxColourDatabase) Index: wxcore_clipdrag.cpp =================================================================== RCS file: /cvsroot/wxlua/wxLua/modules/wxbind/src/wxcore_clipdrag.cpp,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** wxcore_clipdrag.cpp 29 Jan 2008 04:22:52 -0000 1.13 --- wxcore_clipdrag.cpp 21 Oct 2008 04:23:18 -0000 1.14 *************** *** 277,280 **** --- 277,344 ---- + #if wxLUA_USE_wxClipboard && wxUSE_CLIPBOARD + // --------------------------------------------------------------------------- + // Bind class wxClipboardLocker + // --------------------------------------------------------------------------- + + // Lua MetaTable Tag for Class 'wxClipboardLocker' + int wxluatype_wxClipboardLocker = WXLUA_TUNKNOWN; + + static wxLuaArgType s_wxluatypeArray_wxLua_wxClipboardLocker_delete[] = { &wxluatype_wxClipboardLocker, NULL }; + static wxLuaBindCFunc s_wxluafunc_wxLua_wxClipboardLocker_delete[1] = {{ wxlua_userdata_delete, WXLUAMETHOD_METHOD|WXLUAMETHOD_DELETE, 1, 1, s_wxluatypeArray_wxLua_wxClipboardLocker_delete }}; + + static wxLuaArgType s_wxluatypeArray_wxLua_wxClipboardLocker_op_not[] = { &wxluatype_wxClipboardLocker, NULL }; + static int LUACALL wxLua_wxClipboardLocker_op_not(lua_State *L); + static wxLuaBindCFunc s_wxluafunc_wxLua_wxClipboardLocker_op_not[1] = {{ wxLua_wxClipboardLocker_op_not, WXLUAMETHOD_METHOD, 1, 1, s_wxluatypeArray_wxLua_wxClipboardLocker_op_not }}; + // %operator bool operator!() const + static int LUACALL wxLua_wxClipboardLocker_op_not(lua_State *L) + { + // get this + wxClipboardLocker * self = (wxClipboardLocker *)wxluaT_getuserdatatype(L, 1, wxluatype_wxClipboardLocker); + // call op_not + bool returns = (!(*self)); + // push the result flag + lua_pushboolean(L, returns); + + return 1; + } + + static wxLuaArgType s_wxluatypeArray_wxLua_wxClipboardLocker_constructor[] = { &wxluatype_wxClipboard, NULL }; + static int LUACALL wxLua_wxClipboardLocker_constructor(lua_State *L); + static wxLuaBindCFunc s_wxluafunc_wxLua_wxClipboardLocker_constructor[1] = {{ wxLua_wxClipboardLocker_constructor, WXLUAMETHOD_CONSTRUCTOR, 0, 1, s_wxluatypeArray_wxLua_wxClipboardLocker_constructor }}; + // wxClipboardLocker(wxClipboard *clipboard = NULL) + static int LUACALL wxLua_wxClipboardLocker_constructor(lua_State *L) + { + // get number of arguments + int argCount = lua_gettop(L); + // wxClipboard clipboard = NULL + wxClipboard * clipboard = (argCount >= 1 ? (wxClipboard *)wxluaT_getuserdatatype(L, 1, wxluatype_wxClipboard) : NULL); + // call constructor + wxClipboardLocker* returns = new wxClipboardLocker(clipboard); + // add to tracked memory list + wxluaO_addgcobject(L, (void*)returns, new wxLua_wxObject_wxClipboardLocker((wxClipboardLocker*)returns)); + // push the constructed class pointer + wxluaT_pushuserdatatype(L, returns, wxluatype_wxClipboardLocker); + + return 1; + } + + + + + // Map Lua Class Methods to C Binding Functions + wxLuaBindMethod wxClipboardLocker_methods[] = { + { "delete", WXLUAMETHOD_METHOD|WXLUAMETHOD_DELETE, s_wxluafunc_wxLua_wxClipboardLocker_delete, 1, NULL }, + { "op_not", WXLUAMETHOD_METHOD, s_wxluafunc_wxLua_wxClipboardLocker_op_not, 1, NULL }, + { "wxClipboardLocker", WXLUAMETHOD_CONSTRUCTOR, s_wxluafunc_wxLua_wxClipboardLocker_constructor, 1, NULL }, + + { 0, 0, 0, 0 }, + }; + + int wxClipboardLocker_methodCount = sizeof(wxClipboardLocker_methods)/sizeof(wxLuaBindMethod) - 1; + + #endif // wxLUA_USE_wxClipboard && wxUSE_CLIPBOARD + + #if (wxLUA_USE_wxClipboard && wxUSE_CLIPBOARD) && (wxCHECK_VERSION(2,8,0)) // --------------------------------------------------------------------------- |