Projet ROV'NET  1.0
BTS SN 2019
ihmrov.h
Aller à la documentation de ce fichier.
1 
16 #ifndef IHMROV_H
17 #define IHMROV_H
18 
19 #include "camera.h"
20 #include "controlerov.h"
21 #include "rov.h"
22 
23 #include <QtWidgets>
24 #include <QComboBox>
25 #include <QDialog>
26 #include <QTimer>
27 #include <QApplication>
28 #include <QListView>
29 #include <QFileSystemModel>
30 #include <QStackedWidget>
31 #include <QDebug>
32 #include <QMenuBar>
33 #include <QMenu>
34 
35 #include <QMainWindow>
36 
37 #define APPLICATION_TITRE "Projet Rov'net - BTS SN IR 2019 (E6.2)"
38 #define APPLICATION_INFORMATIONS "Version : 1.0 \nJacques Reynier & Boffredo Nicolas"
39 #define PERIODE 1000
40 #define WIDGET_CAMERA_INDISPONIBLE 0
41 #define WIDGET_CAMERA_DISPONIBLE 1
42 
43 class BaseDeDonnees;
44 class QAction;
45 class QActionGroup;
46 class QMenu;
47 
59 class IHMRov : public QDialog
60 {
61  Q_OBJECT
62 
63 private:
64  // objets principaux
68  Rov *rov;
69  QTimer *chronometre;
70 
71  // attributs principaux
75 
76  // widgets
78  QLabel *labelCamera;
79  QLabel *labelEtatCamera;
80  QLabel *labelManette;
85  QLabel *labelCameras;
87  QStackedWidget *widgetEmpilement;
88 
89  // widgets info radiation
92  QProgressBar *barRadiation;
93 
94  // widgets info temperature
97  QProgressBar *barTemperature;
98 
99  // widgets info distance
102  QProgressBar *barDistance;
103 
104  // widgets boutons
105  QComboBox *listeCamerasDispo;
106  QPushButton *boutonQuitter;
107  QPushButton *boutonArchives;
108  QPushButton *boutonCapture;
109 
110  // menu
111  QMenuBar *barreMenu;
112  QMenu *menuRovNet;
113  QMenu *menuAide;
115  QAction *actionParametre;
116  QAction *actionAide;
117 
118  // fenetre - parametres
120 
121  // Parametres
123  QCheckBox *checkboxArchivage;
124 
128 
129  QLabel *labelAppareils;
130  QComboBox *comboboxAppareils;
131 
132  // fenetre creerNouvelleCampagne
135 
136  // boutons
137  QPushButton *boutonValider;
138  QPushButton *boutonAnnuler;
139 
140  // campagne
141  QLabel *labelCampagne;
146 
147  // operateur
148  QLabel *labelOperateur;
150 
151  // divers
152  QMessageBox *messageBoxAide;
153 
154  void initialiserMenu();
156  void setIdOperateur(int idOperateur);
157  int getIdOperateur();
159  void creerFenetreParametres();
160  void initialiserChronometre();
161  long getSecondes();
162  long getMinutes();
163  long getHeure();
164  QString getTemps();
165  void actualiseIconesEtat();
166 
167 public:
168  IHMRov(QWidget *parent = nullptr);
169  ~IHMRov();
170 
171 signals:
172  void creationCampagne();
173  void nouvelleFrequenceArchivage(int);
174  void nouveauPortCom(QString);
175  void parametresSauvegardes();
176 
177 public slots:
178  void quitter();
179  void tic();
180  void initialiserListeCamera();
183  void parametrer();
184  void ouvrirAide();
185  void actualiserIrradiation(double);
186  void actualiserTemperature(double);
187  void actualiserDistance(double);
189  void enregistrerParametres();
190 };
191 
192 #endif // IHMROV_H
Permet le fonctionnement de la manette, en reliant la manette aux méthodes de déplacement.
Definition: controlerov.h:31
QPushButton * boutonCapture
Definition: ihmrov.h:108
long getHeure()
Retourne les heures depuis le lancement de l&#39;application.
Definition: ihmrov.cpp:565
Rov * rov
association vers le Rov
Definition: ihmrov.h:68
QComboBox * comboBoxListeOperateurs
Definition: ihmrov.h:149
ControleRov * controleRov
agrégation du contrôle du Rov
Definition: ihmrov.h:66
QLabel * labelIntervalArchivage
Definition: ihmrov.h:125
Interface Homme-Machine de l&#39;application Rov&#39;net.
Definition: ihmrov.h:59
QPushButton * boutonAnnuler
Definition: ihmrov.h:138
QDir * dossierNouvelleCampagne
Definition: ihmrov.h:134
void enregistrerParametres()
Applique les paramètres choisis par l&#39;utilisateur suite à la fenêtre Paramètres.
Definition: ihmrov.cpp:663
void actualiserDistance(double)
Permet d&#39;actualiser l&#39;affichage de la distance sur l&#39;IHM.
Definition: ihmrov.cpp:390
long getSecondes()
Retourne les secondes depuis le lancement de l&#39;application.
Definition: ihmrov.cpp:549
QSlider * sliderIntervalArchivage
Definition: ihmrov.h:126
void quitter()
Permet de fermer l&#39;application.
Definition: ihmrov.cpp:274
QLabel * labelCampagneEnCours
Definition: ihmrov.h:77
QLabel * labelCampagne
Definition: ihmrov.h:141
QLineEdit * lineEditDescriptionCampagne
Definition: ihmrov.h:145
void creerFenetreNouvelleCampagne()
Méthode permettant d&#39;initialiser la fenetre de création d&#39;une nouvelle campagne.
Definition: ihmrov.cpp:461
void enregistrerParametresCampagne()
Methode émettant l&#39;ordre d&#39;enregistrer les paramètres des la campagne.
Definition: ihmrov.cpp:322
QLabel * labelIconeTemperature
Definition: ihmrov.h:95
Déclaration de la classe BaseDeDonnees.
Definition: basededonnees.h:39
QLabel * labelConnexionRov
Definition: ihmrov.h:82
QMessageBox * messageBoxAide
Definition: ihmrov.h:152
Gère la reception du flux video et la prise de photo.
Definition: camera.h:32
QSpinBox * spinBoxIntervalArchivage
Definition: ihmrov.h:127
void creationCampagne()
Le Rov.
Definition: rov.h:24
QAction * actionParametre
Definition: ihmrov.h:115
QLabel * labelIconeDistance
Definition: ihmrov.h:100
QAction * actionNouvelleCampagne
Definition: ihmrov.h:114
void actualiseIconesEtat()
Met à jour l&#39;icone d&#39;état de la communication dans l&#39;IHM.
Definition: ihmrov.cpp:236
QLabel * labelDescriptionCampagne
Definition: ihmrov.h:144
QLabel * labelOperateur
Definition: ihmrov.h:148
QProgressBar * barRadiation
Definition: ihmrov.h:92
QLabel * labelCameraDeconnectee
Definition: ihmrov.h:86
Archives des captures du flux vidéo prises par l&#39;utilisateur.
Definition: archives.h:36
~IHMRov()
Destructeur de la classe IHMRov.
Definition: ihmrov.cpp:226
long valeurChronometre
Definition: ihmrov.h:74
QComboBox * comboboxAppareils
Definition: ihmrov.h:130
void tic()
Actualise l&#39;affichage du temps chaque seconde et actualise l&#39;état des icones de rov, manette, et camera.
Definition: ihmrov.cpp:282
QLabel * labelIconeRadiation
Definition: ihmrov.h:90
QDialog * fenetreNouvelleCampagne
Definition: ihmrov.h:133
QMenu * menuRovNet
Definition: ihmrov.h:112
void initialiserListeCamera()
Ajoute les caméras détectées dans une liste déroulante.
Definition: ihmrov.cpp:294
QLabel * labelMesureRadiation
Definition: ihmrov.h:91
QProgressBar * barTemperature
Definition: ihmrov.h:97
QLabel * labelEtatManette
Definition: ihmrov.h:81
void actualiserIrradiation(double)
Permet d&#39;actualiser l&#39;affichage de l&#39;irradiation sur l&#39;IHM.
Definition: ihmrov.cpp:368
QLabel * labelMesureDistance
Definition: ihmrov.h:101
QAction * actionAide
Definition: ihmrov.h:116
QLabel * labelAppareils
Definition: ihmrov.h:129
void parametrer()
Definition: ihmrov.cpp:345
QLabel * labelEtatConnexionRov
Definition: ihmrov.h:83
QPushButton * boutonArchives
Definition: ihmrov.h:107
QComboBox * listeCamerasDispo
Definition: ihmrov.h:105
QString nomNouvelleCampagne
Definition: ihmrov.h:73
Archives * archives
Definition: ihmrov.h:67
void nouvelleFrequenceArchivage(int)
QTimer * chronometre
Definition: ihmrov.h:69
int idOperateur
Definition: ihmrov.h:72
QLabel * labelChronometre
Definition: ihmrov.h:84
QLabel * labelArchivageMesures
Definition: ihmrov.h:122
QDialog * fenetreParametres
Definition: ihmrov.h:119
QLabel * labelCamera
Definition: ihmrov.h:78
IHMRov(QWidget *parent=nullptr)
Constructeur de la classe IHMRov.
Definition: ihmrov.cpp:11
void creerFenetreParametres()
Definition: ihmrov.cpp:570
QLabel * labelMesureTemperature
Definition: ihmrov.h:96
QLabel * labelEtatCamera
Definition: ihmrov.h:79
void parametresSauvegardes()
void remplirComboBoxListeOperateurs()
Méthode permettant de remplir le ComboBox de la liste des opérateurs au démarrage de l&#39;IHM...
Definition: ihmrov.cpp:430
QStackedWidget * widgetEmpilement
Definition: ihmrov.h:87
QCheckBox * checkboxArchivage
Definition: ihmrov.h:123
QLabel * labelManette
Definition: ihmrov.h:80
void initialiserMenu()
initialise la barre de menu
Definition: ihmrov.cpp:401
QPushButton * boutonQuitter
Definition: ihmrov.h:106
void setIdOperateur(int idOperateur)
Mutateur de l&#39;attribut idOperateur.
Definition: ihmrov.cpp:445
QString getTemps()
IHMRov::getTemps.
Definition: ihmrov.cpp:685
Camera * camera
association vers la caméra
Definition: ihmrov.h:65
QPushButton * boutonValider
Definition: ihmrov.h:137
QLabel * labelCameras
Definition: ihmrov.h:85
void actualiserTemperature(double)
Permet d&#39;actualiser l&#39;affichage de la temperature sur l&#39;IHM.
Definition: ihmrov.cpp:379
long getMinutes()
Retourne les minutes depuis le lancement de l&#39;application.
Definition: ihmrov.cpp:557
void executerFenetreNouvelleCampagne()
Slot permettant de creer une nouvelle campagne.
Definition: ihmrov.cpp:309
QProgressBar * barDistance
Definition: ihmrov.h:102
void initialiserChronometre()
Démarre le chronomètre au lancement de l&#39;application.
Definition: ihmrov.cpp:537
void executerFenetreParametres()
Slot permettant de parametrer une nouvelle campagne.
Definition: ihmrov.cpp:649
QLabel * labelNomCampagne
Definition: ihmrov.h:142
QMenuBar * barreMenu
Definition: ihmrov.h:111
QMenu * menuAide
Definition: ihmrov.h:113
void nouveauPortCom(QString)
QLineEdit * lineEditNomCampagne
Definition: ihmrov.h:143
void ouvrirAide()
ouvrir une fenetre informative sur l&#39;application.
Definition: ihmrov.cpp:354
int getIdOperateur()
Accesseur de l&#39;attribut idOperateur.
Definition: ihmrov.cpp:453