Files
prodejna/shop/ishopitem.h
T

47 lines
1.3 KiB
C++
Raw Normal View History

2016-04-07 22:29:37 +02:00
#ifndef ISHOPITEM_H
#define ISHOPITEM_H
#include "shop_global.h"
#include <QDecDouble.hh>
#include <QString>
2016-05-26 16:30:45 +02:00
#include <enums.h>
#include <QObject>
#include <QSharedPointer>
2016-04-07 22:29:37 +02:00
class SHOPSHARED_EXPORT IShopItem : public QObject
2016-04-07 22:29:37 +02:00
{
Q_OBJECT
Q_PROPERTY(QString code READ code)
Q_PROPERTY(QString name READ name)
Q_PROPERTY(QString shortName READ shortName)
Q_PROPERTY(QDecDouble unitPrice READ unitPrice)
Q_PROPERTY(Enums::VatType vatType READ vatType)
Q_PROPERTY(bool favorite READ favorite)
2016-04-07 22:29:37 +02:00
public:
explicit IShopItem(QObject* parent = nullptr);
~IShopItem() override = default;
virtual long id() const { return {}; }
virtual QString name() { return {}; }
virtual QString code() { return {}; }
virtual QString shortName() { return {}; }
virtual QDecDouble unitPrice() { return {}; }
virtual Enums::VatType vatType() { return {}; }
virtual QString pluginId() const { return {}; }
virtual QString color() { return {}; }
virtual QString category() { return {}; }
virtual bool favorite() { return false; }
2016-04-07 22:29:37 +02:00
};
inline bool operator==(const IShopItem& lhs, const IShopItem& rhs) {
return lhs.id() == rhs.id() && lhs.pluginId() == rhs.pluginId();
}
using IShopItemPtr = QSharedPointer<IShopItem>;
QX_REGISTER_HPP_SHOP(IShopItem, QObject, 0)
2016-04-07 22:29:37 +02:00
#endif // ISHOPITEM_H