productsviewmodel.h 903 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #ifndef PRODUCTSVIEWMODEL_H
  2. #define PRODUCTSVIEWMODEL_H
  3. #include <QObject>
  4. #include "models/basemodel.h"
  5. class SettingsService;
  6. class ProductsViewModel : public QObject
  7. {
  8. Q_OBJECT
  9. Q_PROPERTY(QVariantList products READ products NOTIFY productsChanged)
  10. Q_PROPERTY(QVariantList order READ order NOTIFY orderChanged)
  11. Q_PROPERTY(float orderSum READ orderSum NOTIFY orderChanged)
  12. public:
  13. explicit ProductsViewModel(QObject *parent = nullptr);
  14. QVariantList products() const;
  15. QVariantList order() const;
  16. float orderSum() const;
  17. Q_INVOKABLE void setOrderValue(const QString &productId, float value);
  18. Q_INVOKABLE void submitOrder();
  19. signals:
  20. void productsChanged();
  21. void orderChanged();
  22. private:
  23. SettingsService *settings() const;
  24. BaseModel m_productsModel = BaseModel("products", this);
  25. QVariantMap m_order;
  26. };
  27. #endif // PRODUCTSVIEWMODEL_H