fortune.cpp 1.5 KB

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