world.cpp 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. #include <TreeFrogModel>
  2. #include "world.h"
  3. #include "worldobject.h"
  4. World::World()
  5. : TAbstractModel(), d(new WorldObject)
  6. {
  7. d->id = 0;
  8. d->randomNumber = 0;
  9. }
  10. World::World(const World &other)
  11. : TAbstractModel(), d(other.d)
  12. { }
  13. World::World(const WorldObject &object)
  14. : TAbstractModel(), d(new WorldObject(object))
  15. { }
  16. World::~World()
  17. {
  18. // If the reference count becomes 0,
  19. // the shared data object 'WorldObject' is deleted.
  20. }
  21. uint World::id() const
  22. {
  23. return d->id;
  24. }
  25. int World::randomNumber() const
  26. {
  27. return d->randomNumber;
  28. }
  29. void World::setRandomNumber(int randomNumber)
  30. {
  31. d->randomNumber = randomNumber;
  32. }
  33. World &World::operator=(const World &other)
  34. {
  35. d = other.d; // increments the reference count of the data
  36. return *this;
  37. }
  38. bool World::update()
  39. {
  40. return TAbstractModel::update();
  41. }
  42. World World::create(int randomNumber)
  43. {
  44. WorldObject obj;
  45. obj.randomNumber = randomNumber;
  46. if (!obj.create()) {
  47. return World();
  48. }
  49. return World(obj);
  50. }
  51. World World::create(const QVariantMap &values)
  52. {
  53. World model;
  54. model.setProperties(values);
  55. if (!model.d->create()) {
  56. model.d->clear();
  57. }
  58. return model;
  59. }
  60. World World::get(uint id)
  61. {
  62. TSqlORMapper<WorldObject> mapper;
  63. return World(mapper.findByPrimaryKey(id));
  64. }
  65. int World::count()
  66. {
  67. TSqlORMapper<WorldObject> mapper;
  68. return mapper.findCount();
  69. }
  70. QList<World> World::getAll()
  71. {
  72. return tfGetModelListByCriteria<World, WorldObject>(TCriteria());
  73. }
  74. TModelObject *World::modelData()
  75. {
  76. return d.data();
  77. }
  78. const TModelObject *World::modelData() const
  79. {
  80. return d.data();
  81. }