You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

39 lines
1007 B
C++

#ifndef ISHOPITEM_H
#define ISHOPITEM_H
#include "shop_global.h"
#include <QDecDouble.hh>
#include <QString>
#include <enums.h>
#include <QObject>
#include <QSharedPointer>
class SHOPSHARED_EXPORT IShopItem : public QObject
{
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)
public:
explicit IShopItem(QObject* parent = nullptr);
~IShopItem() override = default;
virtual long id() { 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() { return {}; }
};
using IShopItemPtr = QSharedPointer<IShopItem>;
QX_REGISTER_HPP_SHOP(IShopItem, QObject, 0)
#endif // ISHOPITEM_H