BeeHoneyt  1.1
BTS SNIR LaSalle Avignon 2021
ihmpc.h
Aller à la documentation de ce fichier.
1 #ifndef IHMPC_H
2 #define IHMPC_H
3 
4 #include <QtWidgets>
5 // Pour les graphiques
6 #include <QtCharts>
7 #include "mesureruche.h"
8 #include "alertes.h"
9 
26 {
30 };
31 
37 {
44 };
45 
46 #define TEMPERATURE_EXTERIEURE_MAX 30
47 #define TEMPERATURE_EXTERIEURE_MIN 0
48 #define TEMPERATURE_INTERIEURE_MAX 40
49 #define TEMPERATURE_INTERIEURE_MIN 10
50 #define HUMIDITE_EXTERIEURE_MAX 80
51 #define HUMIDITE_EXTERIEURE_MIN 20
52 #define HUMIDITE_INTERIEURE_MAX 90
53 #define HUMIDITE_INTERIEURE_MIN 10
54 #define PRESSION_MAX 1050
55 #define PRESSION_MIN 1000
56 #define POIDS_MAX 25
57 #define POIDS_MIN 1
58 
59 QT_BEGIN_NAMESPACE
60 namespace Ui { class IHMPc; }
61 QT_END_NAMESPACE
62 
63 class Communication;
64 class Ruche;
65 class Historique;
66 class Alertes;
67 
76 class IHMPc : public QMainWindow
77 {
78  Q_OBJECT
79 
80  public:
81  IHMPc(QWidget *parent = nullptr);
82  ~IHMPc();
83 
84  private:
85  Ui::IHMPc *ui;
88  QVector<Ruche*> rucher;
90 
91  QComboBox *listeGraphiques;
92  QChartView *graphique;
93  QChart *graphePoids;
94  QLineSeries *courbePoids;
95  QChart *graphePression;
96  QLineSeries *courbePression;
97  QLineSeries *courbeTemperatureExt;
99  QLineSeries *courbeTemperatureInt;
101  QLineSeries *courbeHumiditeExt;
103  QLineSeries *courbeHumiditeInt;
105 
107 
108  void initialiserIHM();
109  void creerRucher();
110  void initialiserGestionEvenements();
111  void initialiserAlertes();
112 
113  void creerGraphique();
114  void initialiserGraphiquePoids();
115  void initialiserGraphiquePression();
116  void initialiserGraphiqueTemperatureExterieure();
117  void initialiserGraphiqueTemperatureInterieure();
118  void initialiserGraphiqueHumiditeExterieure();
119  void initialiserGraphiqueHumiditeInterieure();
120 
121 
122  signals:
123 
124  private slots:
125  void afficherTemperatureInterieure(double temperatureInterieure = 0., QString uniteTemperature = QString(" °C")) const;
126  void afficherTemperatureExterieure(double temperatureExterieure = 0., QString uniteTemperature = QString(" °C")) const;
127  void afficherHumiditeInterieure(double humiditeInterieure = 0., QString uniteHumidite = QString(" %")) const;
128  void afficherHumiditeExterieure(double humiditeExterieure = 0., QString uniteHumidite = QString(" %")) const;
129  void afficherPoids(double poids = 0., QString unitePoids = QString(" Kg")) const;
130  void afficherPression(double pression = 0., QString unitePression = QString(" hPa")) const;
131  void afficherEtatConnecte();
132  void afficherEtatDeconnecte();
133  void verifierAlertes(MesureRuche mesure);
134  void afficherAlerteTemperatureExterieure(double temperature);
135  void afficherAlerteTemperatureInterieure(double temperature);
136  void afficherAlerteHumiditeExterieure(double humidite);
137  void afficherAlerteHumiditeInterieure(double humidite);
138  void afficherAlertePoids(double poids);
139  void afficherAlertePression(double pression);
140  void ouvrirFenetreAjouter();
141  void supprimerRuche();
142  void configurerAlertes();
143  void configurerConnexionTTN();
144  void afficherHorodatage(QString horodatage);
145  void afficherNouvellesMesures(MesureRuche mesure);
146  void selectionnerRuche();
147  void gererConnexionTTN();
148  void gererChangementOnglet(int);
149  void journaliser(QString message);
150  void selectionnerGraphique();
151  void rechargerGraphique();
152  void afficherGraphiquePoids();
153  void afficherGraphiquePression();
154  void afficherGraphiqueTemperatureExterieure();
155  void afficherGraphiqueTemperatureInterieure();
156  void afficherGraphiqueHumiditeExterieure();
157  void afficherGraphiqueHumiditeInterieure();
158 
159 };
160 
161 #endif // IHMPC_H
QChart * graphePoids
la représentation du graphe
Definition: ihmpc.h:93
Ui::IHMPc * ui
Association vers l&#39;interface utilisateur (Qt Designer)
Definition: ihmpc.h:85
QComboBox * listeGraphiques
Definition: ihmpc.h:91
QChart * grapheHumiditeExt
la représentation du graphe
Definition: ihmpc.h:102
Definition: ruche.h:15
Historique * historique
Pointeur sur l&#39;objet Historique.
Definition: ihmpc.h:87
OngletIHM
Définit les numéros des onglets de l&#39;IHM.
Definition: ihmpc.h:25
QChart * grapheTemperatureInt
la représentation du graphe
Definition: ihmpc.h:100
QChart * grapheTemperatureExt
la représentation du graphe
Definition: ihmpc.h:98
QLineSeries * courbeTemperatureExt
Les données sous forme de courbe.
Definition: ihmpc.h:97
TypeGraphique
Définit les différents types de graphiques.
Definition: ihmpc.h:36
Definition: ihmpc.h:60
QLineSeries * courbeHumiditeExt
Les données sous forme de courbe.
Definition: ihmpc.h:101
L&#39;onglet de visualisation des graphiques des ruches.
Definition: ihmpc.h:28
Déclaration de la classe Historique.
Definition: historique.h:26
L&#39;onglet de visualisation des mesures des ruches.
Definition: ihmpc.h:27
Communication * communicationTTN
Pointeur sur l&#39;objet Communication.
Definition: ihmpc.h:86
QLineSeries * courbeHumiditeInt
Les données sous forme de courbe.
Definition: ihmpc.h:103
La déclaration de la classe Alertes.
Déclaration de la classe IHMPc.
Definition: ihmpc.h:76
La déclaration de la classe MesureRuche.
Alertes alertes
Definition: ihmpc.h:106
QChartView * graphique
widget pour afficher le graphe
Definition: ihmpc.h:92
int indexRucheSelectionnee
L&#39;index courant de la ruche sélectionnée.
Definition: ihmpc.h:89
QLineSeries * courbeTemperatureInt
Les données sous forme de courbe.
Definition: ihmpc.h:99
L&#39;onglet de visualisation du log.
Definition: ihmpc.h:29
QLineSeries * courbePression
Les données sous forme de courbe.
Definition: ihmpc.h:96
QChart * grapheHumiditeInt
la représentation du graphe
Definition: ihmpc.h:104
QLineSeries * courbePoids
Les données sous forme de courbe.
Definition: ihmpc.h:94
QChart * graphePression
la représentation du graphe
Definition: ihmpc.h:95
QVector< Ruche * > rucher
Les ruches de l&#39;apiculteur.
Definition: ihmpc.h:88