|
- #ifndef PRODUITITEM_H
- #define PRODUITITEM_H
-
- #include <QWidget>
- #include <QPixmap>
- #include <QDate>
- #include <QByteArray>
- #include <QHash>
- #include <QDataStream>
- #include <QJsonObject>
-
- #include "infosproduitdialog.h"
-
- namespace Ui {
- class ProduitItem;
- }
-
- struct ProduitInfo {
- QString nomProduit;
- QDate dateAchat, dateFinGarantie;
- QPixmap image;
- qint32 indexMagasin;
- bool enSAV;
- QHash<QString, QByteArray> factures, garanties;
- };
-
- QDataStream &operator <<(QDataStream &out, const ProduitInfo &prod);
- QDataStream &operator >>(QDataStream &in, ProduitInfo &prod);
-
-
- class ProduitItem : public QWidget
- {
- Q_OBJECT
-
- public:
- explicit ProduitItem(QWidget *parent, QString nomProduit, QDate dateAchat, QDate dateFinGarantie, QPixmap image = QPixmap(":/images/no-picture.jpg"), int magasin = 0,
- bool enSAV = false, QHash<QString, QByteArray> factures = QHash<QString, QByteArray>(), QHash<QString, QByteArray> garanties = QHash<QString, QByteArray>());
- explicit ProduitItem();
-
- // Pour la sérialisation
- ProduitInfo getProduitInfo();
-
- // Conversion en JSON
- QJsonObject getJSON();
-
- // Getters
- QPixmap getImage();
-
- // Setters
- void setNomProduit(QString nomProduit);
- void setDateAchat(QDate dateAchat);
- void setDateFinGarantie(QDate dateFinGarantie);
- void setImage(QPixmap image);
- void setMagasin(int index); // le QString ne sert qu'à l'affichage, c'est l'index qui est utilisé par la boîte de dialogue
- void setEnSAV(bool y);
- void setFactures(QHash<QString, QByteArray> factures);
- void setGaranties(QHash<QString, QByteArray> garanties);
-
- int getMagasin();
-
- void updateDescription();
- void openDialog(bool deleteOnCancel = false);
-
- // Destructeur
- ~ProduitItem();
-
- public slots:
- void on_btnMoreInfo_clicked(bool deleteOnCancel = false);
- void winInfoProdCanceled();
-
- signals:
- void deleteAsked();
-
- private:
- Ui::ProduitItem *ui;
-
- QString nomProduit;
- QDate dateAchat, dateFinGarantie;
- QString descriptionListe;
- QPixmap image;
- int indexMagasin;
- bool enSAV;
- QHash<QString, QByteArray> factures;
- QHash<QString, QByteArray> garanties;
- };
-
- #endif // PRODUITITEM_H
|