ElementDataGrid.cpp 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. #include "precompiled.h"
  2. #include "ElementDataGrid.h"
  3. #include <Rocket/Core/Element.h>
  4. #include <Rocket/Controls/ElementDataGridRow.h>
  5. using Rocket::Controls::ElementDataGridRow;
  6. namespace Rocket {
  7. namespace Core {
  8. namespace Lua {
  9. //methods
  10. int ElementDataGridAddColumn(lua_State* L, ElementDataGrid* obj)
  11. {
  12. LUACHECKOBJ(obj);
  13. const char* fields = luaL_checkstring(L,1);
  14. const char* formatter = luaL_checkstring(L,2);
  15. float width = (float)luaL_checknumber(L,3);
  16. const char* rml = luaL_checkstring(L,4);
  17. obj->AddColumn(fields,formatter,width,rml);
  18. return 0;
  19. }
  20. int ElementDataGridSetDataSource(lua_State* L, ElementDataGrid* obj)
  21. {
  22. LUACHECKOBJ(obj);
  23. const char* source = luaL_checkstring(L,1);
  24. obj->SetDataSource(source);
  25. return 0;
  26. }
  27. //getter
  28. int ElementDataGridGetAttrrows(lua_State* L)
  29. {
  30. ElementDataGrid* obj = LuaType<ElementDataGrid>::check(L,1);
  31. LUACHECKOBJ(obj);
  32. lua_newtable(L);
  33. int tbl = lua_gettop(L);
  34. int numrows = obj->GetNumRows();
  35. ElementDataGridRow* row;
  36. for(int i = 0; i < numrows; i++)
  37. {
  38. row = obj->GetRow(i);
  39. LuaType<ElementDataGridRow>::push(L,row,false);
  40. lua_rawseti(L,tbl,i);
  41. }
  42. return 1;
  43. }
  44. RegType<ElementDataGrid> ElementDataGridMethods[] =
  45. {
  46. LUAMETHOD(ElementDataGrid,AddColumn)
  47. LUAMETHOD(ElementDataGrid,SetDataSource)
  48. { NULL, NULL },
  49. };
  50. luaL_reg ElementDataGridGetters[] =
  51. {
  52. LUAGETTER(ElementDataGrid,rows)
  53. { NULL, NULL },
  54. };
  55. luaL_reg ElementDataGridSetters[] =
  56. {
  57. { NULL, NULL },
  58. };
  59. /*
  60. template<> const char* GetTClassName<ElementDataGrid>() { return "ElementDataGrid"; }
  61. template<> RegType<ElementDataGrid>* GetMethodTable<ElementDataGrid>() { return ElementDataGridMethods; }
  62. template<> luaL_reg* GetAttrTable<ElementDataGrid>() { return ElementDataGridGetters; }
  63. template<> luaL_reg* SetAttrTable<ElementDataGrid>() { return ElementDataGridSetters; }
  64. */
  65. }
  66. }
  67. }