Update of /cvsroot/wxlua/wxLua/modules/wxlua/include
In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv9404/wxLua/modules/wxlua/include
Modified Files:
wxlbind.h
Log Message:
Allow multiple inheritance in the bindings.
Index: wxlbind.h
===================================================================
RCS file: /cvsroot/wxlua/wxLua/modules/wxlua/include/wxlbind.h,v
retrieving revision 1.85
retrieving revision 1.86
diff -C2 -d -r1.85 -r1.86
*** wxlbind.h 17 Mar 2008 03:05:03 -0000 1.85
--- wxlbind.h 14 May 2009 05:06:21 -0000 1.86
***************
*** 57,60 ****
--- 57,67 ----
#define WXLUATYPE_NULL 13 // C++ NULL, is full wxLua type with metatable
+ // Check that the Lua LUA_TXXX types are what they used to be
+ #if (LUA_TNONE != -1) || (LUA_TNIL != 0) || (LUA_TBOOLEAN != 1) || (LUA_TLIGHTUSERDATA != 2) || \
+ (LUA_TNUMBER != 3) || (LUA_TSTRING != 4) || (LUA_TTABLE != 5) || (LUA_TFUNCTION != 6) || \
+ (LUA_TUSERDATA != 7) || (LUA_TTHREAD != 8)
+ # error "Lua has changed it's LUA_TXXX defines."
+ #endif
+
// Is this wxLua type one of the basic Lua types
#define WXLUAT_IS_LUAT(wxl_type) (((wxl_type) >= WXLUA_T_MIN) && ((wxl_type) <= WXLUA_T_MAX))
***************
*** 222,230 ****
wxClassInfo* classInfo; // Pointer to the wxClassInfo associated with this class or NULL.
int* wxluatype; // wxLua class type for userdata
! const char* baseclassName; // Name of base class, or NULL if none.
! wxLuaBindClass* baseclass; // Pointer to the base class or NULL for none.
// This member is set after all the bindings are
// registered since the base class may be from
! // a different module (a library perhaps).
wxLuaBindNumber* enums; // Class member enums or NULL if none
--- 229,242 ----
wxClassInfo* classInfo; // Pointer to the wxClassInfo associated with this class or NULL.
int* wxluatype; // wxLua class type for userdata
! const char** baseclassNames; // Names of base classes, or NULL if no base classes.
! // This is a NULL terminated array of strings.
! wxLuaBindClass** baseBindClasses;// Pointers to the base classes or NULL for no base classes.
// This member is set after all the bindings are
// registered since the base class may be from
! // a different module and so it can't be set at compile time.
! // This array is one shorter than the baseclassNames array
! // and you should use it rather than this to check the length
! // since any one of these may be NULL if the
! // library or module with the base class is not loaded.
wxLuaBindNumber* enums; // Class member enums or NULL if none
***************
*** 589,592 ****
--- 601,607 ----
// returns NULL on failure.
static const wxLuaBindClass* FindBindClass(int wxl_type);
+ // Get wxLuaBindClass that has this class name using wxLuaBindClass::name,
+ // returns NULL on failure.
+ static const wxLuaBindClass* FindBindClass(const char* className);
// Get the first wxLuaBindClass that has this particular wxLuaBindMethod
// returns NULL on failure.
|