ROV'NET  0.2
BTS SNIR LaSalle Avignon 2020
Référence de la classe IHMAccueil

Class permettant de créer une nouvelle campagne, reprendre une campagne mise en pause, archiver une campagne, supprimer une campagne, accéder à la base de données et configurer le matériel. Plus de détails...

#include "ihmaccueil.h"

Graphe de collaboration de IHMAccueil:
Collaboration graph

Connecteurs publics

void archiverCampagne ()
 Permet d'archiver la campagne selectionner. Plus de détails...
 
void creerCampagne ()
 Permet de créer une nouvelle campagne. Plus de détails...
 
void demarrerCampagne ()
 Permet de démarrer ou reprendre une campagne non archivé Plus de détails...
 
void enregisterMesureBDD (QString temperature, QString humidite, QString radiation)
 enregistre les mesures recues dans la base de données Plus de détails...
 
void ouvrirArchive ()
 Ouvre le dossier des archvies correspondante à la mission saisie. Plus de détails...
 
void ouvrirGraphiques ()
 Ouvre l'ihm des graphiques correspondant à la misssion saisie. Plus de détails...
 
void rechercherCampagne (QString texte)
 Fait une recherche des noms dans la base de données correspondants au texte. Plus de détails...
 
void supprimerCampagne ()
 Permet d'archiver la campagne dans la base de données. Plus de détails...
 

Fonctions membres publiques

void ajouterCampagne (Campagne *campagne, bool verification=false)
 Ajoute une nouvelle campagne dans la liste des campagne non archivés. Plus de détails...
 
void ajouterPhotoBDD (Photo &photo, Campagne *campagne)
 Ajoute la photo prise dans la BDD associé a la campagne. Plus de détails...
 
void enregistrerCampagneBDD (Campagne *campagne)
 Enregistre les informations de la campagne dans la BDD. Plus de détails...
 
 IHMAccueil (QWidget *parent=nullptr)
 Constructeur de la classe IHMAccueil. Plus de détails...
 
void modifierCampagneBDD (Campagne *campagne)
 Met à jour les informations de la campagne lors de l'arret de celle-ci dans la BDD. Plus de détails...
 
 ~IHMAccueil ()
 Destructeur de la classe IHMAccueil. Plus de détails...
 

Fonctions membres privées

void chargerCampagnes ()
 Récupere la liste des noms de campagne non terminés et ajoute les nom de la liste des campagnes disponibles. Plus de détails...
 
void configurerWidgets ()
 Configure les widgets de l'IHM. Plus de détails...
 
void construireListe (QVector< QString > liste)
 Construit la liste déroulante des campagnes sélectionnées. Plus de détails...
 
void initialisationDesignWidgets ()
 Initialise les design des widgets de l'IHM. Plus de détails...
 
void initialisationWidgets ()
 Initialise les widgets de l'IHM. Plus de détails...
 
void initialiserEvenements ()
 Initialise les evenements de l'IHM. Plus de détails...
 
void initialiserLayouts ()
 Initialise les layouts de l'IHM. Plus de détails...
 
void rechargerListeCampagnes ()
 Recharge la liste des campagnes en cours. Plus de détails...
 
void recupererCampagneEnCours (bool &retourCampagne, QString &requeteInformationsCampagne, QVector< QStringList > &campagnesEnCours)
 Récupère les campagnes en cours dans la base de données, le paramètre campagnesEnCours passé en référence récupère les valeurs. Plus de détails...
 
QString recupererIdCampagne ()
 Recupere l'id de la campagne séléctionné dans la liste. Plus de détails...
 
void recupererNbPhotos (QString &nombrePhotos, QString &requeteNombrePhotos)
 Récupère le nombre de photos dans la base de données, le paramètre nombrePhotos passé en référence récupère la valeur. Plus de détails...
 
void recupererPhotos (bool &retourPhoto, QString &requeteInformationsPhotos, QVector< QStringList > &informationsPhotos)
 Récupère les photos associés a une campagne dans la base de données, le paramètre informationsPhotos passé en référence récupère les valeurs. Plus de détails...
 
void supprimerCampagneListe ()
 Permet de supprimer de lq liste la campagne selectionné Plus de détails...
 
void supprimerDossierPhotoLocal ()
 Supprime le dossier photo si il est vide. Plus de détails...
 
void supprimerPhotoLocal (QString requete)
 Selectionne les chemin d'accès des photo à supprimer dans la base de données et les supprime en local. Plus de détails...
 

Attributs privés

QLabel * archives
 Texte indiquant la zone de gestation des archives. Plus de détails...
 
BaseDeDonneesbaseDeDonnees
 Instance d'un objet BaseDeDonnees permettant d'acceder a la BDD. Plus de détails...
 
QPushButton * boutonArchiverCampagne
 Bouton permettant d'archiver la campagne sélectionner. Plus de détails...
 
QPushButton * boutonCreationCampagne
 Bouton permettant de créer une nouvelle campagne. Plus de détails...
 
QPushButton * boutonDemarrerCampagne
 Bouton permettant de démarrer ou reprendre la campagne seléctionner. Plus de détails...
 
QPushButton * boutonImagesArchives
 Bouton permettant d'accéder aux archives. Plus de détails...
 
QPushButton * boutonStatistiquesArchives
 Bouton permettant de configurer le matériel. Plus de détails...
 
QPushButton * boutonSupprimerCampagne
 Bouton permettant de supprimmer la campagne sélectionner. Plus de détails...
 
QVector< Campagne * > campagnesEnCours
 Conteneur des campagnes non archivés. Plus de détails...
 
IHMRovihmRov
 Instance d'un objet ihmRov. Plus de détails...
 
QComboBox * listeCampagne
 Liste des campagnes créer et non archivés. Plus de détails...
 
QLabel * logoAccueil
 Logo de l'IHM accueil. Plus de détails...
 
QLineEdit * rechercheCampagneArchive
 Zone de recherche des campagnes archivés. Plus de détails...
 

Description détaillée

Class permettant de créer une nouvelle campagne, reprendre une campagne mise en pause, archiver une campagne, supprimer une campagne, accéder à la base de données et configurer le matériel.

Définition à la ligne 29 du fichier ihmaccueil.h.

Documentation des constructeurs et destructeur

◆ IHMAccueil()

IHMAccueil::IHMAccueil ( QWidget parent = nullptr)
explicit

Constructeur de la classe IHMAccueil.

Paramètres
parent

Définition à la ligne 15 du fichier ihmaccueil.cpp.

Références baseDeDonnees, chargerCampagnes(), configurerWidgets(), BaseDeDonnees::getInstance(), ihmRov, initialisationDesignWidgets(), initialisationWidgets(), initialiserEvenements(), initialiserLayouts(), et rechargerListeCampagnes().

15  : QWidget(parent), campagnesEnCours()
16 {
17  qDebug() << Q_FUNC_INFO;
19 
25 
28 
29  ihmRov = new IHMRov(this);
30  ihmRov->hide();
31 }
void initialisationWidgets()
Initialise les widgets de l&#39;IHM.
Definition: ihmaccueil.cpp:39
void configurerWidgets()
Configure les widgets de l&#39;IHM.
Definition: ihmaccueil.cpp:128
void initialisationDesignWidgets()
Initialise les design des widgets de l&#39;IHM.
Definition: ihmaccueil.cpp:53
IHM permettant d&#39;obtenir le flux vidéo en direct placé sur le robot et d&#39;obtenir les informations rel...
Definition: ihmrov.h:81
void chargerCampagnes()
Récupere la liste des noms de campagne non terminés et ajoute les nom de la liste des campagnes dispo...
Definition: ihmaccueil.cpp:202
void initialiserLayouts()
Initialise les layouts de l&#39;IHM.
Definition: ihmaccueil.cpp:96
static BaseDeDonnees * getInstance(QString type="QSQLITE")
Permet de créer une instance de BDD ou de récuperer celle deja en cours, cette méthode controle l&#39;ins...
QVector< Campagne * > campagnesEnCours
Conteneur des campagnes non archivés.
Definition: ihmaccueil.h:44
void rechargerListeCampagnes()
Recharge la liste des campagnes en cours.
Definition: ihmaccueil.cpp:148
IHMRov * ihmRov
Instance d&#39;un objet ihmRov.
Definition: ihmaccueil.h:46
La classe QWidget est la classe de base de tous les objets graphiques d&#39;interface utilisateur...
BaseDeDonnees * baseDeDonnees
Instance d&#39;un objet BaseDeDonnees permettant d&#39;acceder a la BDD.
Definition: ihmaccueil.h:45
void initialiserEvenements()
Initialise les evenements de l&#39;IHM.
Definition: ihmaccueil.cpp:137

◆ ~IHMAccueil()

IHMAccueil::~IHMAccueil ( )

Destructeur de la classe IHMAccueil.

Définition à la ligne 33 du fichier ihmaccueil.cpp.

Références BaseDeDonnees::detruireInstance().

34 {
36  qDebug() << Q_FUNC_INFO;
37 }
static void detruireInstance()
Permet de detruire l&#39;instance en cours, Static elle est accessible depuis n&#39;importe où ...

Documentation des fonctions membres

◆ ajouterCampagne()

void IHMAccueil::ajouterCampagne ( Campagne campagne,
bool  verification = false 
)

Ajoute une nouvelle campagne dans la liste des campagne non archivés.

Paramètres
campagne
verification

Définition à la ligne 327 du fichier ihmaccueil.cpp.

Références campagnesEnCours, Campagne::getCheminSauvegarde(), Campagne::getNomCampagne(), et rechargerListeCampagnes().

Référencé par chargerCampagnes(), et IHMCreationCampagne::validerCampagne().

328 {
329  QDir dossierCampagne(campagne->getCheminSauvegarde());
330  if(dossierCampagne.exists())
331  {
332  if(!dossierCampagne.mkdir(campagne->getNomCampagne()))
333  {
334  qDebug() << Q_FUNC_INFO << "Erreur : impossible de créer le dossier" << campagne->getCheminSauvegarde() << "campagne" << campagne->getNomCampagne();
335  if(verification)
336  {
337  QMessageBox::critical(this, "Erreur", "Erreur : impossible de créer le dossier " + campagne->getCheminSauvegarde() + " !");
338  return;
339  }
340  }
341  }
342  campagnesEnCours.push_back(campagne);
344 }
QString getCheminSauvegarde() const
Retourne le chemin du dossier de sauvegarde des photos.
Definition: campagne.cpp:55
QVector< Campagne * > campagnesEnCours
Conteneur des campagnes non archivés.
Definition: ihmaccueil.h:44
void rechargerListeCampagnes()
Recharge la liste des campagnes en cours.
Definition: ihmaccueil.cpp:148
QString getNomCampagne() const
Retourne le nom de la campagne.
Definition: campagne.cpp:19

◆ ajouterPhotoBDD()

void IHMAccueil::ajouterPhotoBDD ( Photo photo,
Campagne campagne 
)

Ajoute la photo prise dans la BDD associé a la campagne.

Paramètres
photo
campagne

Définition à la ligne 386 du fichier ihmaccueil.cpp.

Références baseDeDonnees, Photo::cheminSauvegarde, Photo::dateheure, BaseDeDonnees::executer(), Campagne::getNomCampagne(), et BaseDeDonnees::recuperer().

Référencé par IHMRov::capturerImage().

387 {
388  QString idCampagne;
389  QString requeteIdCampagne = "SELECT IdCampagne FROM campagne WHERE campagne.nom = '" + campagne->getNomCampagne() + "'";
390  baseDeDonnees->recuperer(requeteIdCampagne, idCampagne);
391 
392  QString requeteInsertion = "INSERT INTO photo (idCampagne, cheminImage, aGarder, dateHeure) VALUES ('" + idCampagne + "', '" + photo.cheminSauvegarde + "', '1', '" + photo.dateheure.toString() + "')";
393  baseDeDonnees->executer(requeteInsertion);
394 }
QString cheminSauvegarde
Chemin de sauvegarde de la photo.
Definition: ihmalbumphoto.h:25
bool recuperer(QString requete, QString &donnees)
Permet d&#39;executer la requete passé en paramètre au format SQL, et remplit le QString de sa réponse...
QString getNomCampagne() const
Retourne le nom de la campagne.
Definition: campagne.cpp:19
bool executer(QString requete)
Permet d&#39;executer la requete passé en paramètre au format SQL.
BaseDeDonnees * baseDeDonnees
Instance d&#39;un objet BaseDeDonnees permettant d&#39;acceder a la BDD.
Definition: ihmaccueil.h:45
QDateTime dateheure
Date/Heure de la photo.
Definition: ihmalbumphoto.h:23

◆ archiverCampagne

void IHMAccueil::archiverCampagne ( )
slot

Permet d'archiver la campagne selectionner.

Définition à la ligne 424 du fichier ihmaccueil.cpp.

Références baseDeDonnees, BaseDeDonnees::executer(), listeCampagne, BaseDeDonnees::ouvrir(), recupererIdCampagne(), supprimerCampagneListe(), et supprimerPhotoLocal().

Référencé par initialiserEvenements().

425 {
426  baseDeDonnees->ouvrir("campagnes.sqlite");
427  bool retourRequeteArchiver;
428  bool retourRequeteSuppressionPhoto;
429  QString requeteArchiver, requeteSuppressionPhoto;
430 
431  supprimerPhotoLocal("SELECT photo.cheminImage FROM photo WHERE photo.IdCampagne = '" + recupererIdCampagne() + "' AND photo.aGarder = '0'");
432 
433  requeteArchiver = "UPDATE campagne SET enCours = '0' WHERE campagne.nom = '" + listeCampagne->currentText() + "'";
434  requeteSuppressionPhoto = "DELETE FROM photo WHERE photo.IdCampagne = '" + recupererIdCampagne() + "' AND photo.aGarder = '0'";
435 
436  retourRequeteArchiver = baseDeDonnees->executer(requeteArchiver);
437  retourRequeteSuppressionPhoto = baseDeDonnees->executer(requeteSuppressionPhoto);
438 
439  if(!retourRequeteArchiver && !retourRequeteSuppressionPhoto)
440  {
441  #ifdef DEBUG_BASEDEDONNEES
442  qDebug() << Q_FUNC_INFO << QString::fromUtf8("erreur !");
443  #endif
444  }
445  else
447 }
bool ouvrir(QString fichierBase)
Permet d&#39;ouvrir le fichier de base de données passé en paramètre.
void supprimerCampagneListe()
Permet de supprimer de lq liste la campagne selectionné
Definition: ihmaccueil.cpp:262
QComboBox * listeCampagne
Liste des campagnes créer et non archivés.
Definition: ihmaccueil.h:40
QString recupererIdCampagne()
Recupere l&#39;id de la campagne séléctionné dans la liste.
Definition: ihmaccueil.cpp:278
void supprimerPhotoLocal(QString requete)
Selectionne les chemin d&#39;accès des photo à supprimer dans la base de données et les supprime en local...
Definition: ihmaccueil.cpp:297
bool executer(QString requete)
Permet d&#39;executer la requete passé en paramètre au format SQL.
BaseDeDonnees * baseDeDonnees
Instance d&#39;un objet BaseDeDonnees permettant d&#39;acceder a la BDD.
Definition: ihmaccueil.h:45

◆ chargerCampagnes()

void IHMAccueil::chargerCampagnes ( )
private

Récupere la liste des noms de campagne non terminés et ajoute les nom de la liste des campagnes disponibles.

Définition à la ligne 202 du fichier ihmaccueil.cpp.

Références Photo::aGarder, ajouterCampagne(), Campagne::ajouterPhoto(), baseDeDonnees, campagnesEnCours, Photo::cheminSauvegarde, Photo::dateheure, Photo::image, BaseDeDonnees::ouvrir(), recupererCampagneEnCours(), recupererNbPhotos(), recupererPhotos(), Campagne::setCheminSauvegarde(), et Campagne::setNombrePhotos().

Référencé par IHMAccueil().

203 {
204  baseDeDonnees->ouvrir("campagnes.sqlite");
205 
206  bool retourCampagne, retourPhoto;
207  QVector<QStringList> campagnesEnCours;
208  QString nombrePhotos;
209  QVector<QStringList> informationsPhotos;
210 
211  QString requeteInformationsCampagne = "SELECT campagne.idCampagne, campagne.nom, campagne.lieu, technicien.nom, technicien.prenom, campagne.date, campagne.duree, campagne.cheminSauvegarde FROM campagne INNER JOIN technicien ON campagne.idTechnicien = technicien.idTechnicien WHERE campagne.enCours = '1' ORDER BY campagne.date DESC";
212 
213  #ifdef DEBUG_BASEDEDONNEES
214  qDebug() << Q_FUNC_INFO << QString::fromUtf8("requête : ") << requeteInformationsCampagne;
215  #endif
216 
217  recupererCampagneEnCours(retourCampagne, requeteInformationsCampagne, campagnesEnCours);
218  if(retourCampagne)
219  {
220  for(int i=0; i < campagnesEnCours.size(); i++)
221  {
222  QStringList informationsCampagne = campagnesEnCours.at(i);
223  QString requeteNombrePhotos = "SELECT COUNT(IdPhoto) FROM photo INNER JOIN campagne ON photo.IdCampagne = campagne.IdCampagne WHERE campagne.IdCampagne = '" + informationsCampagne.at(0) + "' ";
224  recupererNbPhotos(nombrePhotos, requeteNombrePhotos);
225 
226  #ifdef DEBUG_BASEDEDONNEES
227  qDebug() << Q_FUNC_INFO << QString::fromUtf8("%0 %1 %2 %3 %4 %5 %6 %7").arg(informationsCampagne.at(0)).arg(informationsCampagne.at(1)).arg(informationsCampagne.at(2)).arg(informationsCampagne.at(3)).arg(informationsCampagne.at(4)).arg(informationsCampagne.at(5)).arg(informationsCampagne.at(6)).arg(informationsCampagne.at(7));
228  #endif
229  Campagne *campagne = new Campagne(informationsCampagne.at(1), informationsCampagne.at(2), informationsCampagne.at(3), informationsCampagne.at(4), QDateTime::fromString(informationsCampagne.at(5)), this, informationsCampagne.at(6).toInt());
230 
231  campagne->setCheminSauvegarde(informationsCampagne.at(7));
232  campagne->setNombrePhotos(nombrePhotos.toInt());
233 
234  QString requeteInformationsPhotos ="SELECT cheminImage, aGarder, dateHeure FROM photo INNER JOIN campagne ON photo.IdCampagne = campagne.IdCampagne WHERE campagne.enCours = '1' AND photo.IdCampagne = '" + informationsCampagne.at(0) + "'";
235  recupererPhotos(retourPhoto, requeteInformationsPhotos, informationsPhotos);
236  if(retourPhoto)
237  {
238  for(int i=0; i < informationsPhotos.size(); i++)
239  {
240  QStringList informationPhoto = informationsPhotos.at(i);
241  Photo photo;
242  photo.cheminSauvegarde = informationPhoto.at(0);
243  photo.aGarder = informationPhoto.at(1).toInt();
244  photo.image = QPixmap(informationPhoto.at(0));
245  photo.dateheure = QDateTime::fromString(informationPhoto.at(2));
246 
247  campagne->ajouterPhoto(photo);
248  }
249  }
250  ajouterCampagne(campagne);
251  informationsPhotos.clear();
252  }
253  }
254  else
255  {
256  #ifdef DEBUG_BASEDEDONNEES
257  qDebug() << Q_FUNC_INFO << QString::fromUtf8("erreur !");
258  #endif
259  }
260 }
void ajouterPhoto(Photo &photo)
Ajoute une photo dans l&#39;album photo.
Definition: campagne.cpp:80
void recupererCampagneEnCours(bool &retourCampagne, QString &requeteInformationsCampagne, QVector< QStringList > &campagnesEnCours)
Récupère les campagnes en cours dans la base de données, le paramètre campagnesEnCours passé en référ...
Definition: ihmaccueil.cpp:186
bool ouvrir(QString fichierBase)
Permet d&#39;ouvrir le fichier de base de données passé en paramètre.
void recupererNbPhotos(QString &nombrePhotos, QString &requeteNombrePhotos)
Récupère le nombre de photos dans la base de données, le paramètre nombrePhotos passé en référence ré...
Definition: ihmaccueil.cpp:181
void ajouterCampagne(Campagne *campagne, bool verification=false)
Ajoute une nouvelle campagne dans la liste des campagne non archivés.
Definition: ihmaccueil.cpp:327
QPixmap image
Image de la photo.
Definition: ihmalbumphoto.h:22
Class contenant les informations de la campagne en cours.
Definition: campagne.h:34
void recupererPhotos(bool &retourPhoto, QString &requeteInformationsPhotos, QVector< QStringList > &informationsPhotos)
Récupère les photos associés a une campagne dans la base de données, le paramètre informationsPhotos ...
Definition: ihmaccueil.cpp:191
QString cheminSauvegarde
Chemin de sauvegarde de la photo.
Definition: ihmalbumphoto.h:25
bool aGarder
Booléen afin de savoir si la photo sera archivé ou non.
Definition: ihmalbumphoto.h:24
QVector< Campagne * > campagnesEnCours
Conteneur des campagnes non archivés.
Definition: ihmaccueil.h:44
void setNombrePhotos(int nombre)
Modifie le nombre de photos prises durant la campagne.
Definition: campagne.cpp:65
structure contenant les informations d&#39;une photo de campagne
Definition: ihmalbumphoto.h:20
void setCheminSauvegarde(QString chemin)
Modifie le chemin de sauvegarde des photos.
Definition: campagne.cpp:60
BaseDeDonnees * baseDeDonnees
Instance d&#39;un objet BaseDeDonnees permettant d&#39;acceder a la BDD.
Definition: ihmaccueil.h:45
QDateTime dateheure
Date/Heure de la photo.
Definition: ihmalbumphoto.h:23

◆ configurerWidgets()

void IHMAccueil::configurerWidgets ( )
private

Configure les widgets de l'IHM.

Définition à la ligne 128 du fichier ihmaccueil.cpp.

Références listeCampagne, logoAccueil, et rechercheCampagneArchive.

Référencé par IHMAccueil().

129 {
130  qDebug() << Q_FUNC_INFO << qApp->applicationDirPath() + "/images/Robot.png";
131  logoAccueil->setPixmap(QPixmap(qApp->applicationDirPath() + "/images/Robot.png"));
132  listeCampagne->setEditable(false);
133  rechercheCampagneArchive->setPlaceholderText("Nom de la campagne");
134  rechercheCampagneArchive->setTextMargins(10,0,0,0);
135 }
QLabel * logoAccueil
Logo de l&#39;IHM accueil.
Definition: ihmaccueil.h:42
QComboBox * listeCampagne
Liste des campagnes créer et non archivés.
Definition: ihmaccueil.h:40
QLineEdit * rechercheCampagneArchive
Zone de recherche des campagnes archivés.
Definition: ihmaccueil.h:41

◆ construireListe()

void IHMAccueil::construireListe ( QVector< QString >  liste)
private

Construit la liste déroulante des campagnes sélectionnées.

Paramètres
listedes campagnes sélectionnées

Définition à la ligne 196 du fichier ihmaccueil.cpp.

Références rechercheCampagneArchive.

Référencé par rechercherCampagne().

197 {
198  QCompleter *completeur = new QCompleter(liste.toList(),this);
199  rechercheCampagneArchive->setCompleter(completeur);
200 }
QLineEdit * rechercheCampagneArchive
Zone de recherche des campagnes archivés.
Definition: ihmaccueil.h:41

◆ creerCampagne

void IHMAccueil::creerCampagne ( )
slot

Permet de créer une nouvelle campagne.

Définition à la ligne 412 du fichier ihmaccueil.cpp.

Références baseDeDonnees, et BaseDeDonnees::recuperer().

Référencé par initialiserEvenements().

413 {
414  QVector<QStringList> listeTechniciens;
415  QString requete = "SELECT technicien.nom, technicien.prenom FROM technicien";
416 
417  baseDeDonnees->recuperer(requete, listeTechniciens);
418 
419  IHMCreationCampagne *ihmCreationCampagne = new IHMCreationCampagne(this, listeTechniciens);
420  ihmCreationCampagne->setFixedSize(416,278);
421  ihmCreationCampagne->exec();
422 }
bool recuperer(QString requete, QString &donnees)
Permet d&#39;executer la requete passé en paramètre au format SQL, et remplit le QString de sa réponse...
Class permettant de créer une nouvelle campagne.
BaseDeDonnees * baseDeDonnees
Instance d&#39;un objet BaseDeDonnees permettant d&#39;acceder a la BDD.
Definition: ihmaccueil.h:45

◆ demarrerCampagne

void IHMAccueil::demarrerCampagne ( )
slot

Permet de démarrer ou reprendre une campagne non archivé

Définition à la ligne 396 du fichier ihmaccueil.cpp.

Références campagnesEnCours, IHMRov::gererCampagne(), ihmRov, listeCampagne, et IHMRov::setCampagne().

Référencé par initialiserEvenements().

397 {
398  for(QVector<Campagne*>::iterator it = campagnesEnCours.begin(); it != campagnesEnCours.end(); it++)
399  {
400  if((*it)->getNomCampagne() == listeCampagne->currentText())
401  {
402  qDebug() << Q_FUNC_INFO << listeCampagne->currentText();
403  ihmRov->setCampagne(*it);
404  ihmRov->showMinimized();
406  this->setVisible(false);
407  break;
408  }
409  }
410 }
void gererCampagne()
Arrête la campagne en cours.
Definition: ihmrov.cpp:496
void setCampagne(Campagne *campagne)
Associe une campagne a la campagne en cours du rov.
Definition: ihmrov.cpp:426
QComboBox * listeCampagne
Liste des campagnes créer et non archivés.
Definition: ihmaccueil.h:40
QVector< Campagne * > campagnesEnCours
Conteneur des campagnes non archivés.
Definition: ihmaccueil.h:44
IHMRov * ihmRov
Instance d&#39;un objet ihmRov.
Definition: ihmaccueil.h:46

◆ enregisterMesureBDD

void IHMAccueil::enregisterMesureBDD ( QString  temperature,
QString  humidite,
QString  radiation 
)
slot

enregistre les mesures recues dans la base de données

Paramètres
temperature
humidite
radiation

Définition à la ligne 478 du fichier ihmaccueil.cpp.

Références baseDeDonnees, BaseDeDonnees::executer(), BaseDeDonnees::ouvrir(), et recupererIdCampagne().

479 {
480  baseDeDonnees->ouvrir("campagnes.sqlite");
481  bool retourRequeteEnregistrementMesure;
482 
483  QString requeteEnregistrementMesure = "INSERT INTO mesure (idCampagne, heure, temperature, radiation, humidite) VALUES (" + recupererIdCampagne() + ",'" + QDateTime::currentDateTime().toString() + "'," + temperature + "," + radiation + "," + humidite + ")";
484 
485  retourRequeteEnregistrementMesure = baseDeDonnees->executer(requeteEnregistrementMesure);
486 
487  if(!retourRequeteEnregistrementMesure)
488  {
489  #ifdef DEBUG_BASEDEDONNEES
490  qDebug() << Q_FUNC_INFO << QString::fromUtf8("erreur !");
491  #endif
492  }
493 }
bool ouvrir(QString fichierBase)
Permet d&#39;ouvrir le fichier de base de données passé en paramètre.
QString recupererIdCampagne()
Recupere l&#39;id de la campagne séléctionné dans la liste.
Definition: ihmaccueil.cpp:278
bool executer(QString requete)
Permet d&#39;executer la requete passé en paramètre au format SQL.
BaseDeDonnees * baseDeDonnees
Instance d&#39;un objet BaseDeDonnees permettant d&#39;acceder a la BDD.
Definition: ihmaccueil.h:45

◆ enregistrerCampagneBDD()

void IHMAccueil::enregistrerCampagneBDD ( Campagne campagne)

Enregistre les informations de la campagne dans la BDD.

Paramètres
campagne

Définition à la ligne 346 du fichier ihmaccueil.cpp.

Références baseDeDonnees, BaseDeDonnees::executer(), Campagne::getCheminSauvegarde(), Campagne::getDate(), Campagne::getDuree(), Campagne::getLieu(), Campagne::getNomCampagne(), Campagne::getNomTechnicien(), Campagne::getPrenomTechnicien(), BaseDeDonnees::ouvrir(), et BaseDeDonnees::recuperer().

Référencé par IHMCreationCampagne::validerCampagne().

347 {
348  #ifdef DEBUG_BASEDEDONNEES
349  qDebug() << Q_FUNC_INFO << campagne->getNomCampagne();
350  #endif
351 
352  baseDeDonnees->ouvrir("campagnes.sqlite");
353 
354  QString idTechnicien;
355  QString requeteId = "SELECT technicien.IdTechnicien FROM technicien WHERE technicien.nom = '" + campagne->getNomTechnicien() + "' AND technicien.prenom = '" + campagne->getPrenomTechnicien() + "'";
356  bool retour = baseDeDonnees->recuperer(requeteId, idTechnicien);
357  if(!retour)
358  {
359  QString requeteInformation = "INSERT INTO technicien (nom, prenom) VALUES ('" + campagne->getNomTechnicien() + "','" + campagne->getPrenomTechnicien() + "')";
360  baseDeDonnees->executer(requeteInformation);
361  baseDeDonnees->recuperer(requeteId, idTechnicien);
362  }
363 
364  QString requeteInsertionCampagne = "INSERT INTO campagne (idTechnicien, nom, lieu, date, duree, enCours, cheminSauvegarde) VALUES ('" + idTechnicien + "', '" + campagne->getNomCampagne() + "', '" + campagne->getLieu() + "', '" + campagne->getDate().toString() + "', '" + QString::number(campagne->getDuree()) + "', '1', '" + campagne->getCheminSauvegarde() + "')";
365  baseDeDonnees->executer(requeteInsertionCampagne);
366 }
QString getCheminSauvegarde() const
Retourne le chemin du dossier de sauvegarde des photos.
Definition: campagne.cpp:55
bool ouvrir(QString fichierBase)
Permet d&#39;ouvrir le fichier de base de données passé en paramètre.
QString getLieu() const
Retourne le lieu de la campagne.
Definition: campagne.cpp:34
QString getPrenomTechnicien() const
Retourne le prenom du technicien.
Definition: campagne.cpp:29
QDateTime getDate() const
Retourne la date de la campagne.
Definition: campagne.cpp:39
QString getNomTechnicien() const
Retourne le nom du technicien.
Definition: campagne.cpp:24
bool recuperer(QString requete, QString &donnees)
Permet d&#39;executer la requete passé en paramètre au format SQL, et remplit le QString de sa réponse...
QString getNomCampagne() const
Retourne le nom de la campagne.
Definition: campagne.cpp:19
int getDuree() const
Retourne la durée de la campagne.
Definition: campagne.cpp:44
bool executer(QString requete)
Permet d&#39;executer la requete passé en paramètre au format SQL.
BaseDeDonnees * baseDeDonnees
Instance d&#39;un objet BaseDeDonnees permettant d&#39;acceder a la BDD.
Definition: ihmaccueil.h:45

◆ initialisationDesignWidgets()

void IHMAccueil::initialisationDesignWidgets ( )
private

Initialise les design des widgets de l'IHM.

Définition à la ligne 53 du fichier ihmaccueil.cpp.

Références archives, boutonArchiverCampagne, boutonCreationCampagne, boutonDemarrerCampagne, boutonImagesArchives, boutonStatistiquesArchives, boutonSupprimerCampagne, listeCampagne, et rechercheCampagneArchive.

Référencé par IHMAccueil().

54 {
55  QFont policeBouton("", 15, 75, false);
56  QFont policeTexte("", 13, 75, false);
57 
58  archives->setFixedSize(80,50);
59  archives->setFont(policeTexte);
60 
61  rechercheCampagneArchive->setFixedSize(200,40);
62  rechercheCampagneArchive->setFont(policeTexte);
63  rechercheCampagneArchive->setStyleSheet("QLineEdit {border-image: url(design/QLine_200x40.png)}" "QLineEdit:hover {border-image: url(design/QLine_200x40_survole.png)}");
64 
65  boutonImagesArchives->setFixedSize(157,50);
66  boutonImagesArchives->setFont(policeBouton);
67  boutonImagesArchives->setStyleSheet("QPushButton {border-image: url(design/bouton_157x50.png)}" "QPushButton:hover {border-image: url(design/bouton_157x50_survole.png)}");
68 
69  boutonStatistiquesArchives->setFixedSize(157,50);
70  boutonStatistiquesArchives->setFont(policeBouton);
71  boutonStatistiquesArchives->setStyleSheet("QPushButton {border-image: url(design/bouton_157x50.png)}" "QPushButton:hover {border-image: url(design/bouton_157x50_survole.png)}");
72 
73  boutonCreationCampagne->setFixedSize(302,50);
74  boutonCreationCampagne->setFont(policeBouton);
75  boutonCreationCampagne->setStyleSheet("QPushButton {border-image: url(design/bouton_302x50.png)}" "QPushButton:hover {border-image: url(design/bouton_302x50_survole.png)}");
76 
77  boutonDemarrerCampagne->setFixedSize(302,50);
78  boutonDemarrerCampagne->setFont(policeBouton);
79  boutonDemarrerCampagne->setStyleSheet("QPushButton {border-image: url(design/bouton_302x50.png)}" "QPushButton:hover {border-image: url(design/bouton_302x50_survole.png)}");
80 
81  boutonArchiverCampagne->setFixedSize(199,50);
82  boutonArchiverCampagne->setFont(policeBouton);
83  boutonArchiverCampagne->setStyleSheet("QPushButton {border-image: url(design/bouton_199x50.png)}" "QPushButton:hover {border-image: url(design/bouton_199x50_survole.png)}");
84 
85  boutonSupprimerCampagne->setFixedSize(199,50);
86  boutonSupprimerCampagne->setFont(policeBouton);
87  boutonSupprimerCampagne->setStyleSheet("QPushButton {border-image: url(design/bouton_199x50.png)}" "QPushButton:hover {border-image: url(design/bouton_199x50_survole.png)}");
88 
89  listeCampagne->setFixedSize(199,50);
90  listeCampagne->setFont(policeTexte);
91  listeCampagne->setStyleSheet("QComboBox {border-image: url(design/combobox_199x50.png)}" "QComboBox:hover {border-image: url(design/combobox_199x50_survole.png)}" "QComboBox::drop-down {border-image: url(rien.png)}" "QComboBox {padding: 0 0 0 15px}");
92 
93 
94 }
QPushButton * boutonSupprimerCampagne
Bouton permettant de supprimmer la campagne sélectionner.
Definition: ihmaccueil.h:39
QComboBox * listeCampagne
Liste des campagnes créer et non archivés.
Definition: ihmaccueil.h:40
QLineEdit * rechercheCampagneArchive
Zone de recherche des campagnes archivés.
Definition: ihmaccueil.h:41
QLabel * archives
Texte indiquant la zone de gestation des archives.
Definition: ihmaccueil.h:43
QPushButton * boutonCreationCampagne
Bouton permettant de créer une nouvelle campagne.
Definition: ihmaccueil.h:36
QPushButton * boutonArchiverCampagne
Bouton permettant d&#39;archiver la campagne sélectionner.
Definition: ihmaccueil.h:38
QPushButton * boutonStatistiquesArchives
Bouton permettant de configurer le matériel.
Definition: ihmaccueil.h:35
QPushButton * boutonImagesArchives
Bouton permettant d&#39;accéder aux archives.
Definition: ihmaccueil.h:34
QPushButton * boutonDemarrerCampagne
Bouton permettant de démarrer ou reprendre la campagne seléctionner.
Definition: ihmaccueil.h:37

◆ initialisationWidgets()

void IHMAccueil::initialisationWidgets ( )
private

Initialise les widgets de l'IHM.

Définition à la ligne 39 du fichier ihmaccueil.cpp.

Références archives, boutonArchiverCampagne, boutonCreationCampagne, boutonDemarrerCampagne, boutonImagesArchives, boutonStatistiquesArchives, boutonSupprimerCampagne, listeCampagne, logoAccueil, et rechercheCampagneArchive.

Référencé par IHMAccueil().

40 {
41  archives = new QLabel("Archives :", this);
42  rechercheCampagneArchive = new QLineEdit(this);
43  boutonImagesArchives = new QPushButton("Photos", this);
44  boutonStatistiquesArchives = new QPushButton("Graphiques", this);
45  boutonCreationCampagne = new QPushButton("Créer campagne", this);
46  boutonDemarrerCampagne = new QPushButton("Démarrer", this);
47  boutonArchiverCampagne = new QPushButton("Archiver", this);
48  boutonSupprimerCampagne = new QPushButton("Supprimer", this);
49  listeCampagne = new QComboBox(this);
50  logoAccueil = new QLabel(this);
51 }
QPushButton * boutonSupprimerCampagne
Bouton permettant de supprimmer la campagne sélectionner.
Definition: ihmaccueil.h:39
QLabel * logoAccueil
Logo de l&#39;IHM accueil.
Definition: ihmaccueil.h:42
QComboBox * listeCampagne
Liste des campagnes créer et non archivés.
Definition: ihmaccueil.h:40
QLineEdit * rechercheCampagneArchive
Zone de recherche des campagnes archivés.
Definition: ihmaccueil.h:41
QLabel * archives
Texte indiquant la zone de gestation des archives.
Definition: ihmaccueil.h:43
QPushButton * boutonCreationCampagne
Bouton permettant de créer une nouvelle campagne.
Definition: ihmaccueil.h:36
QPushButton * boutonArchiverCampagne
Bouton permettant d&#39;archiver la campagne sélectionner.
Definition: ihmaccueil.h:38
QPushButton * boutonStatistiquesArchives
Bouton permettant de configurer le matériel.
Definition: ihmaccueil.h:35
QPushButton * boutonImagesArchives
Bouton permettant d&#39;accéder aux archives.
Definition: ihmaccueil.h:34
QPushButton * boutonDemarrerCampagne
Bouton permettant de démarrer ou reprendre la campagne seléctionner.
Definition: ihmaccueil.h:37

◆ initialiserEvenements()

void IHMAccueil::initialiserEvenements ( )
private

Initialise les evenements de l'IHM.

Définition à la ligne 137 du fichier ihmaccueil.cpp.

Références archiverCampagne(), boutonArchiverCampagne, boutonCreationCampagne, boutonDemarrerCampagne, boutonImagesArchives, boutonStatistiquesArchives, boutonSupprimerCampagne, creerCampagne(), demarrerCampagne(), ouvrirArchive(), ouvrirGraphiques(), rechercheCampagneArchive, rechercherCampagne(), et supprimerCampagne().

Référencé par IHMAccueil().

138 {
139  connect(rechercheCampagneArchive, SIGNAL(textChanged(QString)), this, SLOT(rechercherCampagne(QString)));
140  connect(boutonDemarrerCampagne, SIGNAL(clicked()), this, SLOT(demarrerCampagne()));
141  connect(boutonCreationCampagne, SIGNAL(clicked()), this, SLOT(creerCampagne()));
142  connect(boutonSupprimerCampagne, SIGNAL(clicked()), this, SLOT(supprimerCampagne()));
143  connect(boutonArchiverCampagne, SIGNAL(clicked()), this, SLOT(archiverCampagne()));
144  connect(boutonImagesArchives, SIGNAL(clicked()), this, SLOT(ouvrirArchive()));
145  connect(boutonStatistiquesArchives, SIGNAL(clicked()), this, SLOT(ouvrirGraphiques()));
146 }
void demarrerCampagne()
Permet de démarrer ou reprendre une campagne non archivé
Definition: ihmaccueil.cpp:396
void rechercherCampagne(QString texte)
Fait une recherche des noms dans la base de données correspondants au texte.
Definition: ihmaccueil.cpp:495
void creerCampagne()
Permet de créer une nouvelle campagne.
Definition: ihmaccueil.cpp:412
QPushButton * boutonSupprimerCampagne
Bouton permettant de supprimmer la campagne sélectionner.
Definition: ihmaccueil.h:39
void ouvrirGraphiques()
Ouvre l&#39;ihm des graphiques correspondant à la misssion saisie.
Definition: ihmaccueil.cpp:540
void ouvrirArchive()
Ouvre le dossier des archvies correspondante à la mission saisie.
Definition: ihmaccueil.cpp:522
QLineEdit * rechercheCampagneArchive
Zone de recherche des campagnes archivés.
Definition: ihmaccueil.h:41
void supprimerCampagne()
Permet d&#39;archiver la campagne dans la base de données.
Definition: ihmaccueil.cpp:449
QPushButton * boutonCreationCampagne
Bouton permettant de créer une nouvelle campagne.
Definition: ihmaccueil.h:36
void archiverCampagne()
Permet d&#39;archiver la campagne selectionner.
Definition: ihmaccueil.cpp:424
QPushButton * boutonArchiverCampagne
Bouton permettant d&#39;archiver la campagne sélectionner.
Definition: ihmaccueil.h:38
QPushButton * boutonStatistiquesArchives
Bouton permettant de configurer le matériel.
Definition: ihmaccueil.h:35
QPushButton * boutonImagesArchives
Bouton permettant d&#39;accéder aux archives.
Definition: ihmaccueil.h:34
QPushButton * boutonDemarrerCampagne
Bouton permettant de démarrer ou reprendre la campagne seléctionner.
Definition: ihmaccueil.h:37

◆ initialiserLayouts()

void IHMAccueil::initialiserLayouts ( )
private

Initialise les layouts de l'IHM.

Définition à la ligne 96 du fichier ihmaccueil.cpp.

Références archives, boutonArchiverCampagne, boutonCreationCampagne, boutonDemarrerCampagne, boutonImagesArchives, boutonStatistiquesArchives, boutonSupprimerCampagne, listeCampagne, logoAccueil, NOM_FENETRE_ACCUEIL, et rechercheCampagneArchive.

Référencé par IHMAccueil().

97 {
98  QVBoxLayout *layoutPrincipal = new QVBoxLayout;
99  QHBoxLayout *layoutSuperieur = new QHBoxLayout;
100  QVBoxLayout *layoutCentral = new QVBoxLayout;
101  QHBoxLayout *layoutConfigurationCampagne = new QHBoxLayout;
102  QHBoxLayout *layoutCampagne = new QHBoxLayout;
103 
104  layoutPrincipal->addLayout(layoutSuperieur);
105  layoutSuperieur->addWidget(archives);
106  layoutSuperieur->addWidget(rechercheCampagneArchive);
107  layoutSuperieur->addWidget(boutonImagesArchives);
108  layoutSuperieur->addWidget(boutonStatistiquesArchives);
109 
110  layoutPrincipal->addLayout(layoutCentral);
111  layoutCentral->setAlignment(Qt::AlignCenter);
112  layoutCentral->addWidget(logoAccueil);
113 
114  layoutPrincipal->addLayout(layoutConfigurationCampagne);
115  layoutConfigurationCampagne->addWidget(listeCampagne);
116  layoutConfigurationCampagne->addWidget(boutonArchiverCampagne);
117  layoutConfigurationCampagne->addWidget(boutonSupprimerCampagne);
118 
119  layoutPrincipal->addLayout(layoutCampagne);
120  layoutCampagne->addWidget(boutonCreationCampagne);
121  layoutCampagne->addWidget(boutonDemarrerCampagne);
122 
123  setLayout(layoutPrincipal);
124  setWindowTitle(NOM_FENETRE_ACCUEIL);
125  setStyleSheet("background:#C1BEBE;");
126 }
QPushButton * boutonSupprimerCampagne
Bouton permettant de supprimmer la campagne sélectionner.
Definition: ihmaccueil.h:39
QLabel * logoAccueil
Logo de l&#39;IHM accueil.
Definition: ihmaccueil.h:42
QComboBox * listeCampagne
Liste des campagnes créer et non archivés.
Definition: ihmaccueil.h:40
#define NOM_FENETRE_ACCUEIL
Definition: ihmaccueil.h:14
QLineEdit * rechercheCampagneArchive
Zone de recherche des campagnes archivés.
Definition: ihmaccueil.h:41
QLabel * archives
Texte indiquant la zone de gestation des archives.
Definition: ihmaccueil.h:43
QPushButton * boutonCreationCampagne
Bouton permettant de créer une nouvelle campagne.
Definition: ihmaccueil.h:36
QPushButton * boutonArchiverCampagne
Bouton permettant d&#39;archiver la campagne sélectionner.
Definition: ihmaccueil.h:38
QPushButton * boutonStatistiquesArchives
Bouton permettant de configurer le matériel.
Definition: ihmaccueil.h:35
QPushButton * boutonImagesArchives
Bouton permettant d&#39;accéder aux archives.
Definition: ihmaccueil.h:34
QPushButton * boutonDemarrerCampagne
Bouton permettant de démarrer ou reprendre la campagne seléctionner.
Definition: ihmaccueil.h:37

◆ modifierCampagneBDD()

void IHMAccueil::modifierCampagneBDD ( Campagne campagne)

Met à jour les informations de la campagne lors de l'arret de celle-ci dans la BDD.

Paramètres
campagne

Définition à la ligne 368 du fichier ihmaccueil.cpp.

Références baseDeDonnees, BaseDeDonnees::executer(), Campagne::getAlbumPhoto(), Campagne::getDuree(), Campagne::getNomCampagne(), BaseDeDonnees::recuperer(), et Campagne::supprimerMesures().

Référencé par IHMRov::fermer().

369 {
370  QString idCampagne, requeteUpdateDuree, requeteIdCampagne, requeteInsertionMesures, requeteModifierPhotos;
371 
372  requeteUpdateDuree = "UPDATE campagne SET duree = '"+ QString::number(campagne->getDuree()) + "' WHERE campagne.nom = '" + campagne->getNomCampagne() + "'";
373  baseDeDonnees->executer(requeteUpdateDuree);
374 
375  requeteIdCampagne = "SELECT campagne.idCampagne FROM campagne WHERE campagne.nom = '" + campagne->getNomCampagne() + "'";
376  baseDeDonnees->recuperer(requeteIdCampagne, idCampagne);
377 
378  for(int i =0; i < campagne->getAlbumPhoto().size(); ++i)
379  {
380  requeteModifierPhotos = "UPDATE photo set aGarder = '" + QString::number(campagne->getAlbumPhoto()[i].aGarder) + "' WHERE cheminImage = '" + campagne->getAlbumPhoto()[i].cheminSauvegarde + "'";
381  baseDeDonnees->executer(requeteModifierPhotos);
382  }
383  campagne->supprimerMesures();
384 }
void supprimerMesures()
Supprime les mesure du conteneur de Mesure, une fois celles-ci archivés dans la BDD.
Definition: campagne.cpp:95
bool recuperer(QString requete, QString &donnees)
Permet d&#39;executer la requete passé en paramètre au format SQL, et remplit le QString de sa réponse...
QString getNomCampagne() const
Retourne le nom de la campagne.
Definition: campagne.cpp:19
int getDuree() const
Retourne la durée de la campagne.
Definition: campagne.cpp:44
QVector< Photo > getAlbumPhoto() const
Retourne l&#39;album photo de la campagne.
Definition: campagne.cpp:70
bool executer(QString requete)
Permet d&#39;executer la requete passé en paramètre au format SQL.
BaseDeDonnees * baseDeDonnees
Instance d&#39;un objet BaseDeDonnees permettant d&#39;acceder a la BDD.
Definition: ihmaccueil.h:45

◆ ouvrirArchive

void IHMAccueil::ouvrirArchive ( )
slot

Ouvre le dossier des archvies correspondante à la mission saisie.

Définition à la ligne 522 du fichier ihmaccueil.cpp.

Références baseDeDonnees, BaseDeDonnees::ouvrir(), rechercheCampagneArchive, et BaseDeDonnees::recuperer().

Référencé par initialiserEvenements().

523 {
524  QStringList cheminSauvegarde;
525  QString requete = "SELECT campagne.cheminSauvegarde, campagne.nom FROM campagne WHERE campagne.nom = '" + rechercheCampagneArchive->text() + "'";
526 
527  baseDeDonnees->ouvrir("campagnes.sqlite");
528  bool retour = baseDeDonnees->recuperer(requete, cheminSauvegarde);
529  if(retour)
530  {
531  if(!(QDesktopServices::openUrl(QUrl(cheminSauvegarde.at(0) + "/" + cheminSauvegarde.at(1), QUrl::TolerantMode))))
532  QMessageBox::critical(this, "Erreur", "Erreur : Chemin introuvable ");
533  }
534  else
535  {
536  QMessageBox::critical(this, "Erreur", "Erreur : Nom de campagne introuvable ");
537  }
538 }
bool ouvrir(QString fichierBase)
Permet d&#39;ouvrir le fichier de base de données passé en paramètre.
QLineEdit * rechercheCampagneArchive
Zone de recherche des campagnes archivés.
Definition: ihmaccueil.h:41
bool recuperer(QString requete, QString &donnees)
Permet d&#39;executer la requete passé en paramètre au format SQL, et remplit le QString de sa réponse...
BaseDeDonnees * baseDeDonnees
Instance d&#39;un objet BaseDeDonnees permettant d&#39;acceder a la BDD.
Definition: ihmaccueil.h:45

◆ ouvrirGraphiques

void IHMAccueil::ouvrirGraphiques ( )
slot

Ouvre l'ihm des graphiques correspondant à la misssion saisie.

Définition à la ligne 540 du fichier ihmaccueil.cpp.

Références baseDeDonnees, BaseDeDonnees::ouvrir(), rechercheCampagneArchive, et BaseDeDonnees::recuperer().

Référencé par initialiserEvenements().

541 {
542  QVector<QStringList> mesures;
543  QString requete = "SELECT mesure.heure, mesure.radiation, mesure.temperature, mesure.humidite FROM mesure INNER JOIN campagne ON campagne.IdCampagne = mesure.IdCampagne WHERE campagne.nom = '" + rechercheCampagneArchive->text() + "'";
544 
545  baseDeDonnees->ouvrir("campagnes.sqlite");
546  bool retour = baseDeDonnees->recuperer(requete, mesures);
547  if(retour)
548  {
549  if(!mesures.isEmpty())
550  {
551  IHMGraphiques *ihmGraphique = new IHMGraphiques(mesures);
552  ihmGraphique->show();
553  }
554  else
555  {
556  QMessageBox::critical(this, "Erreur", "Erreur : Aucune données trouvées !");
557  }
558  }
559 }
bool ouvrir(QString fichierBase)
Permet d&#39;ouvrir le fichier de base de données passé en paramètre.
QLineEdit * rechercheCampagneArchive
Zone de recherche des campagnes archivés.
Definition: ihmaccueil.h:41
bool recuperer(QString requete, QString &donnees)
Permet d&#39;executer la requete passé en paramètre au format SQL, et remplit le QString de sa réponse...
Class permettant de visualiser les graphiques des campagnes archivés.
Definition: ihmgraphiques.h:20
BaseDeDonnees * baseDeDonnees
Instance d&#39;un objet BaseDeDonnees permettant d&#39;acceder a la BDD.
Definition: ihmaccueil.h:45

◆ rechargerListeCampagnes()

void IHMAccueil::rechargerListeCampagnes ( )
private

Recharge la liste des campagnes en cours.

Définition à la ligne 148 du fichier ihmaccueil.cpp.

Références boutonArchiverCampagne, boutonDemarrerCampagne, boutonSupprimerCampagne, campagnesEnCours, et listeCampagne.

Référencé par ajouterCampagne(), IHMAccueil(), et supprimerCampagneListe().

149 {
150  listeCampagne->clear();
151 
152  for(QVector<Campagne*>::iterator it = campagnesEnCours.begin(); it != campagnesEnCours.end(); it++)
153  {
154  listeCampagne->addItem((*it)->getNomCampagne());
155  }
156 
157  if(listeCampagne->currentText().isEmpty())
158  {
159  boutonDemarrerCampagne->setDisabled(true);
160  boutonDemarrerCampagne->setStyleSheet("QPushButton {border-image: url(design/bouton_302x50_grise.png)}");
161 
162  boutonArchiverCampagne->setDisabled(true);
163  boutonArchiverCampagne->setStyleSheet("QPushButton {border-image: url(design/bouton_199x50_grise.png)}");
164 
165  boutonSupprimerCampagne->setDisabled(true);
166  boutonSupprimerCampagne->setStyleSheet("QPushButton {border-image: url(design/bouton_199x50_grise.png)}");
167  }
168  else
169  {
170  boutonDemarrerCampagne->setEnabled(true);
171  boutonDemarrerCampagne->setStyleSheet("QPushButton {border-image: url(design/bouton_302x50.png)}" "QPushButton:hover {border-image: url(design/bouton_302x50_survole.png)}");
172 
173  boutonArchiverCampagne->setEnabled(true);
174  boutonArchiverCampagne->setStyleSheet("QPushButton {border-image: url(design/bouton_199x50.png)}" "QPushButton:hover {border-image: url(design/bouton_199x50_survole.png)}");
175 
176  boutonSupprimerCampagne->setEnabled(true);
177  boutonSupprimerCampagne->setStyleSheet("QPushButton {border-image: url(design/bouton_199x50.png)}" "QPushButton:hover {border-image: url(design/bouton_199x50_survole.png)}");
178  }
179 }
QPushButton * boutonSupprimerCampagne
Bouton permettant de supprimmer la campagne sélectionner.
Definition: ihmaccueil.h:39
QComboBox * listeCampagne
Liste des campagnes créer et non archivés.
Definition: ihmaccueil.h:40
QVector< Campagne * > campagnesEnCours
Conteneur des campagnes non archivés.
Definition: ihmaccueil.h:44
QPushButton * boutonArchiverCampagne
Bouton permettant d&#39;archiver la campagne sélectionner.
Definition: ihmaccueil.h:38
QPushButton * boutonDemarrerCampagne
Bouton permettant de démarrer ou reprendre la campagne seléctionner.
Definition: ihmaccueil.h:37

◆ rechercherCampagne

void IHMAccueil::rechercherCampagne ( QString  texte)
slot

Fait une recherche des noms dans la base de données correspondants au texte.

Paramètres
texte

Définition à la ligne 495 du fichier ihmaccueil.cpp.

Références baseDeDonnees, construireListe(), BaseDeDonnees::ouvrir(), et BaseDeDonnees::recuperer().

Référencé par initialiserEvenements().

496 {
497  #ifdef DEBUG_BASEDEDONNEES
498  qDebug() << Q_FUNC_INFO;
499  #endif
500 
501  baseDeDonnees->ouvrir("campagnes.sqlite");
502  QVector<QString> listeCampagnesRecherchees;
503 
504  bool retourRequeteRechercheCampagne;
505 
506  QString requeteRechercheCampagne = "SELECT campagne.nom FROM campagne WHERE campagne.nom LIKE '" + texte + "%' AND campagne.enCours = '0'";
507 
508  retourRequeteRechercheCampagne = baseDeDonnees->recuperer(requeteRechercheCampagne, listeCampagnesRecherchees);
509 
510  if(!retourRequeteRechercheCampagne)
511  {
512  #ifdef DEBUG_BASEDEDONNEES
513  qDebug() << Q_FUNC_INFO << QString::fromUtf8("erreur !");
514  #endif
515  }
516  else
517  {
518  construireListe(listeCampagnesRecherchees);
519  }
520 }
bool ouvrir(QString fichierBase)
Permet d&#39;ouvrir le fichier de base de données passé en paramètre.
bool recuperer(QString requete, QString &donnees)
Permet d&#39;executer la requete passé en paramètre au format SQL, et remplit le QString de sa réponse...
BaseDeDonnees * baseDeDonnees
Instance d&#39;un objet BaseDeDonnees permettant d&#39;acceder a la BDD.
Definition: ihmaccueil.h:45
void construireListe(QVector< QString > liste)
Construit la liste déroulante des campagnes sélectionnées.
Definition: ihmaccueil.cpp:196

◆ recupererCampagneEnCours()

void IHMAccueil::recupererCampagneEnCours ( bool &  retourCampagne,
QString &  requeteInformationsCampagne,
QVector< QStringList > &  campagnesEnCours 
)
private

Récupère les campagnes en cours dans la base de données, le paramètre campagnesEnCours passé en référence récupère les valeurs.

Paramètres
retourCampagne
requeteInformationsCampagne
campagnesEnCours

Définition à la ligne 186 du fichier ihmaccueil.cpp.

Références baseDeDonnees, et BaseDeDonnees::recuperer().

Référencé par chargerCampagnes().

187 {
188  retourCampagne = baseDeDonnees->recuperer(requeteInformationsCampagne, campagnesEnCours);
189 }
QVector< Campagne * > campagnesEnCours
Conteneur des campagnes non archivés.
Definition: ihmaccueil.h:44
bool recuperer(QString requete, QString &donnees)
Permet d&#39;executer la requete passé en paramètre au format SQL, et remplit le QString de sa réponse...
BaseDeDonnees * baseDeDonnees
Instance d&#39;un objet BaseDeDonnees permettant d&#39;acceder a la BDD.
Definition: ihmaccueil.h:45

◆ recupererIdCampagne()

QString IHMAccueil::recupererIdCampagne ( )
private

Recupere l'id de la campagne séléctionné dans la liste.

Renvoie
L'id sous forme de QString

Définition à la ligne 278 du fichier ihmaccueil.cpp.

Références baseDeDonnees, listeCampagne, et BaseDeDonnees::recuperer().

Référencé par archiverCampagne(), enregisterMesureBDD(), et supprimerCampagne().

279 {
280  bool retourRequeteIdCampagne;
281  QString idCampagne;
282  QString requeteIdCampagne = "SELECT idCampagne FROM campagne WHERE campagne.nom = '" + listeCampagne->currentText() + "'";
283 
284  retourRequeteIdCampagne = baseDeDonnees->recuperer(requeteIdCampagne, idCampagne);
285 
286  if(!retourRequeteIdCampagne)
287  {
288  #ifdef DEBUG_BASEDEDONNEES
289  qDebug() << Q_FUNC_INFO << QString::fromUtf8("erreur !");
290  #endif
291  return "0";
292  }
293  else
294  return idCampagne;
295 }
QComboBox * listeCampagne
Liste des campagnes créer et non archivés.
Definition: ihmaccueil.h:40
bool recuperer(QString requete, QString &donnees)
Permet d&#39;executer la requete passé en paramètre au format SQL, et remplit le QString de sa réponse...
BaseDeDonnees * baseDeDonnees
Instance d&#39;un objet BaseDeDonnees permettant d&#39;acceder a la BDD.
Definition: ihmaccueil.h:45

◆ recupererNbPhotos()

void IHMAccueil::recupererNbPhotos ( QString &  nombrePhotos,
QString &  requeteNombrePhotos 
)
private

Récupère le nombre de photos dans la base de données, le paramètre nombrePhotos passé en référence récupère la valeur.

Paramètres
nombrePhotos
requeteNombrePhotos

Définition à la ligne 181 du fichier ihmaccueil.cpp.

Références baseDeDonnees, et BaseDeDonnees::recuperer().

Référencé par chargerCampagnes().

182 {
183  baseDeDonnees->recuperer(requeteNombrePhotos, nombrePhotos);
184 }
bool recuperer(QString requete, QString &donnees)
Permet d&#39;executer la requete passé en paramètre au format SQL, et remplit le QString de sa réponse...
BaseDeDonnees * baseDeDonnees
Instance d&#39;un objet BaseDeDonnees permettant d&#39;acceder a la BDD.
Definition: ihmaccueil.h:45

◆ recupererPhotos()

void IHMAccueil::recupererPhotos ( bool &  retourPhoto,
QString &  requeteInformationsPhotos,
QVector< QStringList > &  informationsPhotos 
)
private

Récupère les photos associés a une campagne dans la base de données, le paramètre informationsPhotos passé en référence récupère les valeurs.

Paramètres
retourPhoto
requeteInformationsPhotos
informationsPhotos

Définition à la ligne 191 du fichier ihmaccueil.cpp.

Références baseDeDonnees, et BaseDeDonnees::recuperer().

Référencé par chargerCampagnes().

192 {
193  retourPhoto = baseDeDonnees->recuperer(requeteInformationsPhotos, informationsPhotos);
194 }
bool recuperer(QString requete, QString &donnees)
Permet d&#39;executer la requete passé en paramètre au format SQL, et remplit le QString de sa réponse...
BaseDeDonnees * baseDeDonnees
Instance d&#39;un objet BaseDeDonnees permettant d&#39;acceder a la BDD.
Definition: ihmaccueil.h:45

◆ supprimerCampagne

void IHMAccueil::supprimerCampagne ( )
slot

Permet d'archiver la campagne dans la base de données.

Définition à la ligne 449 du fichier ihmaccueil.cpp.

Références baseDeDonnees, BaseDeDonnees::executer(), BaseDeDonnees::ouvrir(), recupererIdCampagne(), supprimerCampagneListe(), supprimerDossierPhotoLocal(), et supprimerPhotoLocal().

Référencé par initialiserEvenements().

450 {
451  baseDeDonnees->ouvrir("campagnes.sqlite");
452  bool retourRequeteSuppressionMesures;
453  bool retourRequeteSuppressionPhotos;
454  bool retourRequeteSuppressionCampagne;
455 
456  supprimerPhotoLocal("SELECT photo.cheminImage FROM photo WHERE photo.IdCampagne = '" + recupererIdCampagne() + "'");
457 
459 
460  QString requeteSuppressionMesures = "DELETE FROM mesure WHERE mesure.IdCampagne = '" + recupererIdCampagne() + "'";
461  QString requeteSuppressionPhotos = "DELETE FROM photo WHERE photo.IdCampagne = '" + recupererIdCampagne() + "'";
462  QString requeteSuppressionCampagne = "DELETE FROM campagne WHERE campagne.IdCampagne = '" + recupererIdCampagne() + "'";
463 
464  retourRequeteSuppressionMesures = baseDeDonnees->executer(requeteSuppressionMesures);
465  retourRequeteSuppressionPhotos = baseDeDonnees->executer(requeteSuppressionPhotos);
466  retourRequeteSuppressionCampagne = baseDeDonnees->executer(requeteSuppressionCampagne);
467 
468  if(!retourRequeteSuppressionMesures && !retourRequeteSuppressionPhotos && !retourRequeteSuppressionCampagne)
469  {
470  #ifdef DEBUG_BASEDEDONNEES
471  qDebug() << Q_FUNC_INFO << QString::fromUtf8("erreur !");
472  #endif
473  }
474  else
476 }
bool ouvrir(QString fichierBase)
Permet d&#39;ouvrir le fichier de base de données passé en paramètre.
void supprimerCampagneListe()
Permet de supprimer de lq liste la campagne selectionné
Definition: ihmaccueil.cpp:262
void supprimerDossierPhotoLocal()
Supprime le dossier photo si il est vide.
Definition: ihmaccueil.cpp:307
QString recupererIdCampagne()
Recupere l&#39;id de la campagne séléctionné dans la liste.
Definition: ihmaccueil.cpp:278
void supprimerPhotoLocal(QString requete)
Selectionne les chemin d&#39;accès des photo à supprimer dans la base de données et les supprime en local...
Definition: ihmaccueil.cpp:297
bool executer(QString requete)
Permet d&#39;executer la requete passé en paramètre au format SQL.
BaseDeDonnees * baseDeDonnees
Instance d&#39;un objet BaseDeDonnees permettant d&#39;acceder a la BDD.
Definition: ihmaccueil.h:45

◆ supprimerCampagneListe()

void IHMAccueil::supprimerCampagneListe ( )
private

Permet de supprimer de lq liste la campagne selectionné

Définition à la ligne 262 du fichier ihmaccueil.cpp.

Références campagnesEnCours, listeCampagne, et rechargerListeCampagnes().

Référencé par archiverCampagne(), et supprimerCampagne().

263 {
264  int nbCampagnes = campagnesEnCours.size();
265  int n = 0;
266  for(QVector<Campagne*>::iterator it = campagnesEnCours.begin(); n < nbCampagnes; it++)
267  {
268  if((*it)->getNomCampagne() == listeCampagne->currentText())
269  {
270  delete (*it);
271  campagnesEnCours.erase(it);
272  }
273  n++;
274  }
276 }
QComboBox * listeCampagne
Liste des campagnes créer et non archivés.
Definition: ihmaccueil.h:40
QVector< Campagne * > campagnesEnCours
Conteneur des campagnes non archivés.
Definition: ihmaccueil.h:44
void rechargerListeCampagnes()
Recharge la liste des campagnes en cours.
Definition: ihmaccueil.cpp:148

◆ supprimerDossierPhotoLocal()

void IHMAccueil::supprimerDossierPhotoLocal ( )
private

Supprime le dossier photo si il est vide.

Définition à la ligne 307 du fichier ihmaccueil.cpp.

Références campagnesEnCours, et listeCampagne.

Référencé par supprimerCampagne().

308 {
309  QDir qDir;
310 
311  for(QVector<Campagne*>::Iterator it = campagnesEnCours.begin(); it != campagnesEnCours.end(); ++it)
312  {
313  if((*it)->getNomCampagne() == listeCampagne->currentText())
314  {
315  if(qDir.exists((*it)->getCheminSauvegarde() + "/" + (*it)->getNomCampagne()))
316  {
317  if(!qDir.rmdir((*it)->getCheminSauvegarde() + "/" + (*it)->getNomCampagne()))
318  {
319  qDebug() << Q_FUNC_INFO << "Erreur : impossible de supprimer le dossier" << (*it)->getCheminSauvegarde() + "/" + (*it)->getNomCampagne();
320  QMessageBox::critical(this, "Erreur", "Erreur : impossible de supprimer le dossier " + (*it)->getCheminSauvegarde() + "/" + (*it)->getNomCampagne() + " !");
321  }
322  }
323  }
324  }
325 }
QComboBox * listeCampagne
Liste des campagnes créer et non archivés.
Definition: ihmaccueil.h:40
QVector< Campagne * > campagnesEnCours
Conteneur des campagnes non archivés.
Definition: ihmaccueil.h:44

◆ supprimerPhotoLocal()

void IHMAccueil::supprimerPhotoLocal ( QString  requete)
private

Selectionne les chemin d'accès des photo à supprimer dans la base de données et les supprime en local.

Paramètres
requete

Définition à la ligne 297 du fichier ihmaccueil.cpp.

Références baseDeDonnees, et BaseDeDonnees::recuperer().

Référencé par archiverCampagne(), et supprimerCampagne().

298 {
299  QVector<QString> photoASupprimer;
300  baseDeDonnees->recuperer(requete, photoASupprimer);
301  for(QVector<QString>::Iterator it = photoASupprimer.begin(); it != photoASupprimer.end(); ++it)
302  {
303  QFile::remove((*it));
304  }
305 }
bool recuperer(QString requete, QString &donnees)
Permet d&#39;executer la requete passé en paramètre au format SQL, et remplit le QString de sa réponse...
BaseDeDonnees * baseDeDonnees
Instance d&#39;un objet BaseDeDonnees permettant d&#39;acceder a la BDD.
Definition: ihmaccueil.h:45

Documentation des données membres

◆ archives

QLabel* IHMAccueil::archives
private

Texte indiquant la zone de gestation des archives.

Définition à la ligne 43 du fichier ihmaccueil.h.

Référencé par initialisationDesignWidgets(), initialisationWidgets(), et initialiserLayouts().

◆ baseDeDonnees

◆ boutonArchiverCampagne

QPushButton* IHMAccueil::boutonArchiverCampagne
private

Bouton permettant d'archiver la campagne sélectionner.

Définition à la ligne 38 du fichier ihmaccueil.h.

Référencé par initialisationDesignWidgets(), initialisationWidgets(), initialiserEvenements(), initialiserLayouts(), et rechargerListeCampagnes().

◆ boutonCreationCampagne

QPushButton* IHMAccueil::boutonCreationCampagne
private

Bouton permettant de créer une nouvelle campagne.

Définition à la ligne 36 du fichier ihmaccueil.h.

Référencé par initialisationDesignWidgets(), initialisationWidgets(), initialiserEvenements(), et initialiserLayouts().

◆ boutonDemarrerCampagne

QPushButton* IHMAccueil::boutonDemarrerCampagne
private

Bouton permettant de démarrer ou reprendre la campagne seléctionner.

Définition à la ligne 37 du fichier ihmaccueil.h.

Référencé par initialisationDesignWidgets(), initialisationWidgets(), initialiserEvenements(), initialiserLayouts(), et rechargerListeCampagnes().

◆ boutonImagesArchives

QPushButton* IHMAccueil::boutonImagesArchives
private

Bouton permettant d'accéder aux archives.

Définition à la ligne 34 du fichier ihmaccueil.h.

Référencé par initialisationDesignWidgets(), initialisationWidgets(), initialiserEvenements(), et initialiserLayouts().

◆ boutonStatistiquesArchives

QPushButton* IHMAccueil::boutonStatistiquesArchives
private

Bouton permettant de configurer le matériel.

Définition à la ligne 35 du fichier ihmaccueil.h.

Référencé par initialisationDesignWidgets(), initialisationWidgets(), initialiserEvenements(), et initialiserLayouts().

◆ boutonSupprimerCampagne

QPushButton* IHMAccueil::boutonSupprimerCampagne
private

Bouton permettant de supprimmer la campagne sélectionner.

Définition à la ligne 39 du fichier ihmaccueil.h.

Référencé par initialisationDesignWidgets(), initialisationWidgets(), initialiserEvenements(), initialiserLayouts(), et rechargerListeCampagnes().

◆ campagnesEnCours

QVector<Campagne*> IHMAccueil::campagnesEnCours
private

Conteneur des campagnes non archivés.

Définition à la ligne 44 du fichier ihmaccueil.h.

Référencé par ajouterCampagne(), chargerCampagnes(), demarrerCampagne(), rechargerListeCampagnes(), supprimerCampagneListe(), et supprimerDossierPhotoLocal().

◆ ihmRov

IHMRov* IHMAccueil::ihmRov
private

Instance d'un objet ihmRov.

Définition à la ligne 46 du fichier ihmaccueil.h.

Référencé par demarrerCampagne(), et IHMAccueil().

◆ listeCampagne

QComboBox* IHMAccueil::listeCampagne
private

◆ logoAccueil

QLabel* IHMAccueil::logoAccueil
private

Logo de l'IHM accueil.

Définition à la ligne 42 du fichier ihmaccueil.h.

Référencé par configurerWidgets(), initialisationWidgets(), et initialiserLayouts().

◆ rechercheCampagneArchive

QLineEdit* IHMAccueil::rechercheCampagneArchive
private

La documentation de cette classe a été générée à partir des fichiers suivants :