Projet Bee-Honey't  1.0
BTS SN 2019
Fonctions membres publiques | Connecteurs privés | Fonctions membres privées | Attributs privés | Liste de tous les membres
Référence de la classe NouvelleRucheIhm

#include <nouvelleRucheIhm.h>

Graphe de collaboration de NouvelleRucheIhm:
Collaboration graph

Fonctions membres publiques

 NouvelleRucheIhm (QWidget *parent=0)
 Constructeur de la fenêtre principale. Plus de détails...
 
 ~NouvelleRucheIhm ()
 Destructeur de la fenêtre principale. Plus de détails...
 

Connecteurs privés

void recevoirDonneeAjoutRuche ()
 slot permetant l'emission des données rentrées par l'utilisateur Plus de détails...
 
void annulerDonneesNouvelleRuche ()
 slot permetant grâce a la methode nettoyerZoneDeTexte d'anuler la saisi des lors que l'on appui sur le bouton annuler Plus de détails...
 

Fonctions membres privées

void nettoyerZoneDeTexte ()
 methode qui clear les zones de textes Plus de détails...
 

Attributs privés

Ui::NouvelleRucheIhm * ui
 
BaseDeDonneesbdd
 agrégation de l'objet BaseDeDonnees Plus de détails...
 
QVector< QStringList > listesTTN
 

Documentation des constructeurs et destructeur

◆ NouvelleRucheIhm()

NouvelleRucheIhm::NouvelleRucheIhm ( QWidget parent = 0)
explicit
Paramètres
parentQObject Adresse de l'objet Qt parent (0 = fenêtre principale)

Références annulerDonneesNouvelleRuche(), bdd, BDD_NOMBASE, BDD_PASSWORD, BDD_SERVEUR, BDD_USERNAME, BaseDeDonnees::connecter(), BaseDeDonnees::estConnecte(), BaseDeDonnees::getInstance(), listesTTN, recevoirDonneeAjoutRuche(), BaseDeDonnees::recuperer(), et ui.

25  :
26  QDialog(parent),
27  ui(new Ui::NouvelleRucheIhm)
28 {
29  qDebug()<< Q_FUNC_INFO;
30  ui->setupUi(this);
31  setWindowTitle("Ruche 2019 - Création d'une ruche");
32 
34  if(!bdd->estConnecte())
36 
37  if(bdd->estConnecte())
38  {
39  // Une ruche correspond à un DeviceId attaché à un ApplicationID dans le réseau TTN
40  // récupération des ApplicationID disponibles
41  QString requeteRecuperationIdTTN = "SELECT idTTN, ApplicationID FROM TTN";
42  bool retourRequeteRecuperationIdTTN = bdd->recuperer(requeteRecuperationIdTTN, listesTTN);
43  if(retourRequeteRecuperationIdTTN)
44  {
45  for(int i=0;i<listesTTN.size();i++)
46  {
47  ui->comboBoxListeAppID->addItem(listesTTN.at(i).at(1));
48  }
49  }
50  else
51  ui->comboBoxListeAppID->addItem("");
52  }
53 
54  QDate aujourdhui = QDate::currentDate();
55  ui->dateEditMiseEnService->setDate(aujourdhui);
56 
57  connect(ui->boutonOk,SIGNAL(clicked(bool)),this,SLOT(recevoirDonneeAjoutRuche()));
58  connect(ui->boutonAnnuler,SIGNAL(clicked(bool)),this,SLOT(annulerDonneesNouvelleRuche()));
59 }
static BaseDeDonnees * getInstance(QString type="QMYSQL")
Definition: baseDeDonnees.cpp:38
#define BDD_USERNAME
Definition: parametres.h:21
#define BDD_SERVEUR
Definition: parametres.h:20
bool estConnecte()
Definition: baseDeDonnees.cpp:70
void recevoirDonneeAjoutRuche()
slot permetant l&#39;emission des données rentrées par l&#39;utilisateur
Definition: nouvelleRucheIhm.cpp:78
QVector< QStringList > listesTTN
Definition: nouvelleRucheIhm.h:35
#define BDD_PASSWORD
Definition: parametres.h:22
Ui::NouvelleRucheIhm * ui
Definition: nouvelleRucheIhm.h:33
bool recuperer(QString requete, QString &donnees)
Definition: baseDeDonnees.cpp:188
void annulerDonneesNouvelleRuche()
slot permetant grâce a la methode nettoyerZoneDeTexte d&#39;anuler la saisi des lors que l&#39;on appui sur l...
Definition: nouvelleRucheIhm.cpp:112
#define BDD_NOMBASE
Definition: parametres.h:23
bool connecter(QString nomBase=BDD_NOMBASE, QString username=BDD_USERNAME, QString password=BDD_PASSWORD, QString serveur=BDD_SERVEUR)
Definition: baseDeDonnees.cpp:76
BaseDeDonnees * bdd
agrégation de l&#39;objet BaseDeDonnees
Definition: nouvelleRucheIhm.h:34

◆ ~NouvelleRucheIhm()

NouvelleRucheIhm::~NouvelleRucheIhm ( )

Références BaseDeDonnees::detruireInstance(), et ui.

68 {
69  delete ui;
71 }
static void detruireInstance()
Definition: baseDeDonnees.cpp:51
Ui::NouvelleRucheIhm * ui
Definition: nouvelleRucheIhm.h:33

Documentation des fonctions membres

◆ annulerDonneesNouvelleRuche

void NouvelleRucheIhm::annulerDonneesNouvelleRuche ( )
privateslot

Références nettoyerZoneDeTexte().

Référencé par NouvelleRucheIhm().

113 {
115  reject();
116 }
void nettoyerZoneDeTexte()
methode qui clear les zones de textes
Definition: nouvelleRucheIhm.cpp:123

◆ nettoyerZoneDeTexte()

void NouvelleRucheIhm::nettoyerZoneDeTexte ( )
private

Références ui.

Référencé par annulerDonneesNouvelleRuche(), et recevoirDonneeAjoutRuche().

124 {
125  ui->zoneDeTexteNom->clear();
126  ui->zoneDeTexteDescription->clear();
127  ui->zoneDeTexteAdresse->clear();
128  ui->zoneDeTexteLongitude->clear();
129  ui->zoneDeTexteLatitude->clear();
130  ui->zoneDeTexteDeviceID->clear();
131 }
Ui::NouvelleRucheIhm * ui
Definition: nouvelleRucheIhm.h:33

◆ recevoirDonneeAjoutRuche

void NouvelleRucheIhm::recevoirDonneeAjoutRuche ( )
privateslot

Références APP_TITRE, bdd, BaseDeDonnees::executer(), listesTTN, nettoyerZoneDeTexte(), BaseDeDonnees::recuperer(), et ui.

Référencé par NouvelleRucheIhm().

79 {
80  if(listesTTN.size() == 0)
81  {
82  QMessageBox::critical(0, QString::fromUtf8(APP_TITRE), QString::fromUtf8("Impossible d'ajouter la nouvelle ruche : TTN manquant !"));
83  return;
84  }
85 
86  QDate date = QDate::fromString(ui->dateEditMiseEnService->text(), "dd/MM/yyyy");
87  QString requete = "INSERT INTO Ruche (idTTN, Nom, Description, DateMiseEnService, Adresse, Longitude, Latitude, DeviceID) VALUES ('" + listesTTN.at(ui->comboBoxListeAppID->currentIndex()).at(0) + "' , '" + ui->zoneDeTexteNom->text() + "', '" + ui->zoneDeTexteDescription->text() + "', '" + date.toString("yyyy-MM-dd") + "', '" + ui->zoneDeTexteAdresse->text() + "', '" + ui->zoneDeTexteLongitude->text() + "', '" + ui->zoneDeTexteLatitude->text() + "', '" + ui->zoneDeTexteDeviceID->text() + "')";
88  qDebug()<< Q_FUNC_INFO << requete;
89  bool retour = bdd->executer(requete);
90  if(retour)
91  {
92  QString idRuche;
93  requete = "SELECT idRuche FROM Ruche WHERE DeviceID='" + ui->zoneDeTexteDeviceID->text() + "'";
94  retour = bdd->recuperer(requete, idRuche);
95  if(retour)
96  {
97  requete = "INSERT INTO Seuils (idRuche, TemperatureIntMin, TemperatureIntMax, HumiditeIntMin, HumiditeIntMax, TemperatureExtMin, TemperatureExtMax, HumiditeExtMin, HumiditeExtMax, PressionMin, PressionMax, PoidsMin, PoidsMax, EnsoleillementMin, EnsoleillementMax, Charge) VALUES ('" + idRuche + "' , '" + "25." + "', '" + "35.0" + "', '" + "20" + "', '" + "30" + "', '" + "5" + "', '" + "35" + "', '" + "20" + "', '" + "35" + "', '" + "1000" + "', '" + "1200" + "', '" + "10" + "', '" + "100" + "', '" + "10" + "', '" + "1000" + "', '" + "25" + "')";
98  retour = bdd->executer(requete);
99  }
101  accept();
102  }
103  else
104  QMessageBox::critical(0, QString::fromUtf8(APP_TITRE), QString::fromUtf8("Impossible d'ajouter la nouvelle ruche !"));
105 }
#define APP_TITRE
Definition: parametres.h:17
QVector< QStringList > listesTTN
Definition: nouvelleRucheIhm.h:35
void nettoyerZoneDeTexte()
methode qui clear les zones de textes
Definition: nouvelleRucheIhm.cpp:123
Ui::NouvelleRucheIhm * ui
Definition: nouvelleRucheIhm.h:33
bool recuperer(QString requete, QString &donnees)
Definition: baseDeDonnees.cpp:188
bool executer(QString requete)
Definition: baseDeDonnees.cpp:150
BaseDeDonnees * bdd
agrégation de l&#39;objet BaseDeDonnees
Definition: nouvelleRucheIhm.h:34

Documentation des données membres

◆ bdd

BaseDeDonnees* NouvelleRucheIhm::bdd
private

◆ listesTTN

QVector<QStringList> NouvelleRucheIhm::listesTTN
private

◆ ui

Ui::NouvelleRucheIhm* NouvelleRucheIhm::ui
private

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