ElementDataGridRow.cpp 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. #include "precompiled.h"
  2. #include "ElementDataGridRow.h"
  3. #include <Rocket/Controls/ElementDataGrid.h>
  4. using Rocket::Controls::ElementDataGrid;
  5. namespace Rocket {
  6. namespace Core {
  7. namespace Lua {
  8. //this will be used to "inherit" from Element
  9. template<> void LuaType<ElementDataGridRow>::extra_init(lua_State* L, int metatable_index)
  10. {
  11. LuaType<Element>::extra_init(L,metatable_index);
  12. LuaType<Element>::_regfunctions(L,metatable_index,metatable_index-1);
  13. }
  14. //getters
  15. int ElementDataGridRowGetAttrrow_expanded(lua_State* L)
  16. {
  17. ElementDataGridRow* obj = LuaType<ElementDataGridRow>::check(L,1);
  18. LUACHECKOBJ(obj);
  19. lua_pushboolean(L,obj->IsRowExpanded());
  20. return 1;
  21. }
  22. int ElementDataGridRowGetAttrparent_relative_index(lua_State* L)
  23. {
  24. ElementDataGridRow* obj = LuaType<ElementDataGridRow>::check(L,1);
  25. LUACHECKOBJ(obj);
  26. lua_pushinteger(L,obj->GetParentRelativeIndex());
  27. return 1;
  28. }
  29. int ElementDataGridRowGetAttrtable_relative_index(lua_State* L)
  30. {
  31. ElementDataGridRow* obj = LuaType<ElementDataGridRow>::check(L,1);
  32. LUACHECKOBJ(obj);
  33. lua_pushinteger(L,obj->GetTableRelativeIndex());
  34. return 1;
  35. }
  36. int ElementDataGridRowGetAttrparent_row(lua_State* L)
  37. {
  38. ElementDataGridRow* obj = LuaType<ElementDataGridRow>::check(L,1);
  39. LUACHECKOBJ(obj);
  40. LuaType<ElementDataGridRow>::push(L,obj->GetParentRow(),false);
  41. return 1;
  42. }
  43. int ElementDataGridRowGetAttrparent_grid(lua_State* L)
  44. {
  45. ElementDataGridRow* obj = LuaType<ElementDataGridRow>::check(L,1);
  46. LUACHECKOBJ(obj);
  47. LuaType<ElementDataGrid>::push(L,obj->GetParentGrid(),false);
  48. return 1;
  49. }
  50. //setter
  51. int ElementDataGridRowSetAttrrow_expanded(lua_State* L)
  52. {
  53. ElementDataGridRow* obj = LuaType<ElementDataGridRow>::check(L,1);
  54. LUACHECKOBJ(obj);
  55. bool expanded = CHECK_BOOL(L,2);
  56. if(expanded)
  57. obj->ExpandRow();
  58. else
  59. obj->CollapseRow();
  60. return 0;
  61. }
  62. RegType<ElementDataGridRow> ElementDataGridRowMethods[] =
  63. {
  64. { NULL, NULL },
  65. };
  66. luaL_reg ElementDataGridRowGetters[] =
  67. {
  68. LUAGETTER(ElementDataGridRow,row_expanded)
  69. LUAGETTER(ElementDataGridRow,parent_relative_index)
  70. LUAGETTER(ElementDataGridRow,table_relative_index)
  71. LUAGETTER(ElementDataGridRow,parent_row)
  72. LUAGETTER(ElementDataGridRow,parent_grid)
  73. { NULL, NULL },
  74. };
  75. luaL_reg ElementDataGridRowSetters[] =
  76. {
  77. LUASETTER(ElementDataGridRow,row_expanded)
  78. { NULL, NULL },
  79. };
  80. template<> const char* GetTClassName<ElementDataGridRow>() { return "ElementDataGridRow"; }
  81. template<> RegType<ElementDataGridRow>* GetMethodTable<ElementDataGridRow>() { return ElementDataGridRowMethods; }
  82. template<> luaL_reg* GetAttrTable<ElementDataGridRow>() { return ElementDataGridRowGetters; }
  83. template<> luaL_reg* SetAttrTable<ElementDataGridRow>() { return ElementDataGridRowSetters; }
  84. }
  85. }
  86. }