ElementTabSet.cpp 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. #include "precompiled.h"
  2. #include "ElementTabSet.h"
  3. #include <Rocket/Core/Element.h>
  4. namespace Rocket {
  5. namespace Core {
  6. namespace Lua {
  7. //this will be used to "inherit" from Element
  8. template<> void LuaType<ElementTabSet>::extra_init(lua_State* L, int metatable_index)
  9. {
  10. LuaType<Element>::extra_init(L,metatable_index);
  11. LuaType<Element>::_regfunctions(L,metatable_index,metatable_index-1);
  12. }
  13. //methods
  14. int ElementTabSetSetPanel(lua_State* L, ElementTabSet* obj)
  15. {
  16. LUACHECKOBJ(obj);
  17. int index = luaL_checkint(L,1);
  18. const char* rml = luaL_checkstring(L,2);
  19. obj->SetPanel(index,rml);
  20. return 0;
  21. }
  22. int ElementTabSetSetTab(lua_State* L, ElementTabSet* obj)
  23. {
  24. LUACHECKOBJ(obj);
  25. int index = luaL_checkint(L,1);
  26. const char* rml = luaL_checkstring(L,2);
  27. obj->SetTab(index,rml);
  28. return 0;
  29. }
  30. //getters
  31. int ElementTabSetGetAttractive_tab(lua_State* L)
  32. {
  33. ElementTabSet* obj = LuaType<ElementTabSet>::check(L,1);
  34. LUACHECKOBJ(obj);
  35. int tab = obj->GetActiveTab();
  36. lua_pushinteger(L,tab);
  37. return 1;
  38. }
  39. int ElementTabSetGetAttrnum_tabs(lua_State* L)
  40. {
  41. ElementTabSet* obj = LuaType<ElementTabSet>::check(L,1);
  42. LUACHECKOBJ(obj);
  43. int num = obj->GetNumTabs();
  44. lua_pushinteger(L,num);
  45. return 1;
  46. }
  47. //setter
  48. int ElementTabSetSetAttractive_tab(lua_State* L)
  49. {
  50. ElementTabSet* obj = LuaType<ElementTabSet>::check(L,1);
  51. LUACHECKOBJ(obj);
  52. int tab = luaL_checkint(L,2);
  53. obj->SetActiveTab(tab);
  54. return 0;
  55. }
  56. RegType<ElementTabSet> ElementTabSetMethods[] =
  57. {
  58. LUAMETHOD(ElementTabSet,SetPanel)
  59. LUAMETHOD(ElementTabSet,SetTab)
  60. { NULL, NULL },
  61. };
  62. luaL_reg ElementTabSetGetters[] =
  63. {
  64. LUAGETTER(ElementTabSet,active_tab)
  65. LUAGETTER(ElementTabSet,num_tabs)
  66. { NULL, NULL },
  67. };
  68. luaL_reg ElementTabSetSetters[] =
  69. {
  70. LUASETTER(ElementTabSet,active_tab)
  71. { NULL, NULL },
  72. };
  73. template<> const char* GetTClassName<ElementTabSet>() { return "ElementTabSet"; }
  74. template<> RegType<ElementTabSet>* GetMethodTable<ElementTabSet>() { return ElementTabSetMethods; }
  75. template<> luaL_reg* GetAttrTable<ElementTabSet>() { return ElementTabSetGetters; }
  76. template<> luaL_reg* SetAttrTable<ElementTabSet>() { return ElementTabSetSetters; }
  77. }
  78. }
  79. }