world.cpp 1.5 KB

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