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

produititem.h 2.1 KiB

10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. #ifndef PRODUITITEM_H
  2. #define PRODUITITEM_H
  3. #include <QWidget>
  4. #include <QPixmap>
  5. #include <QDate>
  6. #include <QByteArray>
  7. #include <QHash>
  8. #include <QDataStream>
  9. #include "infosproduitdialog.h"
  10. namespace Ui {
  11. class ProduitItem;
  12. }
  13. struct ProduitInfo {
  14. QString nomProduit;
  15. QDate dateAchat, dateFinGarantie;
  16. QPixmap image;
  17. qint32 indexMagasin;
  18. bool enSAV;
  19. QHash<QString, QByteArray> factures, garanties;
  20. };
  21. QDataStream &operator <<(QDataStream &out, const ProduitInfo &prod);
  22. QDataStream &operator >>(QDataStream &in, ProduitInfo &prod);
  23. class ProduitItem : public QWidget
  24. {
  25. Q_OBJECT
  26. public:
  27. explicit ProduitItem(QWidget *parent, QString nomProduit, QDate dateAchat, QDate dateFinGarantie, QPixmap image = QPixmap(":/images/no-picture.jpg"), int magasin = 0,
  28. bool enSAV = false, QHash<QString, QByteArray> factures = QHash<QString, QByteArray>(), QHash<QString, QByteArray> garanties = QHash<QString, QByteArray>());
  29. explicit ProduitItem();
  30. // Pour la sérialisation
  31. ProduitInfo getProduitInfo();
  32. // Getters
  33. QPixmap getImage();
  34. // Setters
  35. void setNomProduit(QString nomProduit);
  36. void setDateAchat(QDate dateAchat);
  37. void setDateFinGarantie(QDate dateFinGarantie);
  38. void setImage(QPixmap image);
  39. void setMagasin(int index); // le QString ne sert qu'à l'affichage, c'est l'index qui est utilisé par la boîte de dialogue
  40. void setEnSAV(bool y);
  41. void setFactures(QHash<QString, QByteArray> factures);
  42. void setGaranties(QHash<QString, QByteArray> garanties);
  43. int getMagasin();
  44. void updateDescription();
  45. void openDialog(bool deleteOnCancel = false);
  46. // Destructeur
  47. ~ProduitItem();
  48. public slots:
  49. void on_btnMoreInfo_clicked(bool deleteOnCancel = false);
  50. void winInfoProdCanceled();
  51. signals:
  52. void deleteAsked();
  53. private:
  54. Ui::ProduitItem *ui;
  55. QString nomProduit;
  56. QDate dateAchat, dateFinGarantie;
  57. QString descriptionListe;
  58. QPixmap image;
  59. int indexMagasin;
  60. bool enSAV;
  61. QHash<QString, QByteArray> factures;
  62. QHash<QString, QByteArray> garanties;
  63. };
  64. #endif // PRODUITITEM_H