|
Campus Serre
1.0
BTS SN-IR La Salle Avignon 2018
|
La fenêtre principale de l'application. Plus de détails...
#include <IHMCampusSerre.h>

Connecteurs publics | |
| void | actualiser () |
| Rafrachit l'affichage des données dans l'IHM. | |
| void | commanderChauffageAuto () |
| Créer la commande pour passer le chauffage en automatique. | |
| void | commanderChauffageAllumer () |
| Créer la commande pour allumer le chauffage. | |
| void | commanderChauffageEteint () |
| Créer la commande pour éteindre le chauffage. | |
| void | commanderChauffage (int chauffage) |
| Créer la trame et la passe à la méthode envoyerDonnees. | |
| void | commanderOuvrantAuto () |
| Créer la commande pour passer l'ouvrant en automatique. | |
| void | commanderOuvrant0 () |
| Créer la commande pour fermer l'ouvrant. | |
| void | commanderOuvrant25 () |
| Créer la commande pour ouvrir l'ouvrant à 25%. | |
| void | commanderOuvrant50 () |
| Créer la commande pour ouvrir l'ouvrant à 50%. | |
| void | commanderOuvrant75 () |
| Créer la commande pour ouvrir l'ouvrant à 75µ | |
| void | commanderOuvrant100 () |
| Créer la commande pour ouvrir l'ouvrant à 100%. | |
| void | commanderOuvrant (int ouverture) |
| Créer la trame et la passe à la méthode envoyerDonnees. | |
| void | commanderVanneAuto () |
| Créer la commande pour passer la vanne en automatique. | |
| void | commanderVanneOuvert () |
| Créer la commande pour ouvrir la vanne. | |
| void | commanderVanneFermer () |
| Créer la commande pour fermer la vanne. | |
| void | commanderVanne (int vanne) |
| Créer la trame et la passe à la méthode envoyerDonnees. | |
| void | selectionnerOnglet (int onglet) |
| void | modifierSeuils () |
| Enregistre les nouveaux seuils dans la base de donnée et envoie les nouveaux seuils. | |
| void | modifierConsignes () |
| Enregistre les nouvelles consignes dans la base de donnée. | |
| void | envoyerSeuils (int seuilTempMin, int seuilTempMax, int seuilVitesseMax) |
| Créer la trame et la passe à la méthode envoyerDonnees. | |
| void | envoyerConsignes (int consigneTempMinJour, int consigneTempMaxJour, int consigneTempMinNuit, int consigneTempMaxNuit, int consigneHygroMinSol, int consigneHygroMaxSol, int consigneHygroMinAir, int consigneHygroMaxAir) |
| Créer la trame et la passe à la méthode envoyerDonnees. | |
| void | modifierNbMesures (int n) |
| Modifie le nombre de mesure afficher dans l'historique. | |
Fonctions membres publiques | |
| IHMCampusSerre (QWidget *parent=0) | |
| Lance l'ihm, initialise la base de donnée, récupère les seuils et les consignes dans la base de donnée. | |
| ~IHMCampusSerre () | |
| Destructeur. | |
Fonctions membres privées | |
| void | recupererSeuils () |
| Récupère les seuils de la base de donnée et les affiche dans l'onglet Culture. | |
| void | recupererConsignes () |
| Récupère les consignes de la base de donnée et les affiche dans l'onglet Culture. | |
| void | initialiserIHM () |
| initialise les widgets Qwt (thermomètre, ...) | |
| void | initialiserBDD () |
| Initialise la base de donnée et s'y connecte. | |
| void | initialiserQwt () |
| Initialise le compteur de vitesse et le compas. | |
| void | afficherOngletTelemetrie () |
| Affiche les mesures dans l'onglet Télémétrie. | |
| void | afficherOngletHistorique () |
| Affiche les valeurs dans l'onglet historique. | |
| void | effacerHistorique () |
| Efface l'historique. | |
Attributs privés | |
| Ui::IHMCampusSerre * | ui |
| GestionPort * | gestionPort |
| Telemetrie * | telemetrie |
| BaseDeDonnees * | bdd |
| int | nbMesuresHistorique |
| IHMCampusSerre::IHMCampusSerre | ( | QWidget * | parent = 0 | ) | [explicit] |
| parent |
Références GestionPort::estOuvert(), gestionPort, initialiserBDD(), initialiserIHM(), recupererConsignes(), recupererSeuils(), telemetrie, et ui.
:
QMainWindow(parent),
ui(new Ui::IHMCampusSerre)
{
ui->setupUi(this);
initialiserBDD();
recupererSeuils();
recupererConsignes();
gestionPort = new GestionPort(this);
telemetrie = new Telemetrie(gestionPort, this);
initialiserIHM();
if(!gestionPort->estOuvert())
QMessageBox::critical(0, QString::fromUtf8("Campus Serre"), QString::fromUtf8("Le port de communication n'est pas ouvert !"));
}
Références BaseDeDonnees::detruireInstance(), et ui.
{
BaseDeDonnees::detruireInstance();
delete ui;
}
| IHMCampusSerre::actualiser | ( | ) | [slot] |
Références afficherOngletHistorique(), afficherOngletTelemetrie(), et ui.
Référencé par initialiserIHM().
{
// En fonction de l'onglet sélectionné
if(ui->onglets->currentIndex() == 0)
{
afficherOngletTelemetrie();
afficherOngletHistorique();
}
if(ui->onglets->currentIndex() == 3)
afficherOngletHistorique();
}
| IHMCampusSerre::afficherOngletHistorique | ( | ) | [private] |
Références effacerHistorique(), Telemetrie::getMesures(), nbMesuresHistorique, telemetrie, et ui.
Référencé par actualiser(), et modifierNbMesures().
{
effacerHistorique();
// Récupérer les mesures (dans Telemetrie)
QVector<Mesure> mesures = telemetrie->getMesures();
// les insérer dans le tableau
QTableWidgetItem *itemDate, *itemHeure, *itemHygroAir, *itemHygroSol, *itemVitesseVent, *itemDirectionVent, *itemOuvrant, *itemVanne, *itemChauffage, *itemTemperatureAir, *itemTemperatureSol;
int nbMesures = 0;
for(int i = mesures.count()-1; i > -1; i--)
{
itemDate = new QTableWidgetItem(mesures.at(i).date);
itemDate->setFlags(Qt::ItemIsEnabled);
itemDate->setTextAlignment(Qt::AlignHCenter);
itemHeure = new QTableWidgetItem(mesures.at(i).heure);
itemHeure->setFlags(Qt::ItemIsEnabled);
itemHeure->setTextAlignment(Qt::AlignHCenter);
itemHygroSol = new QTableWidgetItem(QString::number(mesures.at(i).hygrometrieSol));
itemHygroSol->setFlags(Qt::NoItemFlags);
itemHygroSol->setTextAlignment(Qt::AlignHCenter);
itemHygroAir = new QTableWidgetItem(QString::number(mesures.at(i).hygrometrieAir));
itemHygroAir->setFlags(Qt::NoItemFlags);
itemHygroAir->setTextAlignment(Qt::AlignHCenter);
itemVitesseVent = new QTableWidgetItem(QString::number(mesures.at(i).vitesseVent));
itemVitesseVent->setFlags(Qt::NoItemFlags);
itemVitesseVent->setTextAlignment(Qt::AlignHCenter);
itemDirectionVent = new QTableWidgetItem(QString::number(mesures.at(i).directionVent));
itemDirectionVent->setFlags(Qt::NoItemFlags);
itemDirectionVent->setTextAlignment(Qt::AlignHCenter);
itemOuvrant = new QTableWidgetItem(QString::number(mesures.at(i).ouvrant));
itemOuvrant->setFlags(Qt::NoItemFlags);
itemOuvrant->setTextAlignment(Qt::AlignHCenter);
itemVanne = new QTableWidgetItem(QString::number(mesures.at(i).vanne));
itemVanne->setFlags(Qt::NoItemFlags);
itemVanne->setTextAlignment(Qt::AlignHCenter);
itemChauffage = new QTableWidgetItem(QString::number(mesures.at(i).chauffage));
itemChauffage->setFlags(Qt::NoItemFlags);
itemChauffage->setTextAlignment(Qt::AlignHCenter);
itemTemperatureAir = new QTableWidgetItem(QString::number(mesures.at(i).temperatureAir));
itemTemperatureAir->setFlags(Qt::NoItemFlags);
itemTemperatureAir->setTextAlignment(Qt::AlignHCenter);
itemTemperatureSol = new QTableWidgetItem(QString::number(mesures.at(i).temperatureSol));
itemTemperatureSol->setFlags(Qt::NoItemFlags);
itemTemperatureSol->setTextAlignment(Qt::AlignHCenter);
int nb = ui->tableauMesures->rowCount();
ui->tableauMesures->setRowCount(++nb);
ui->tableauMesures->setItem(nb-1, 0, itemDate);
ui->tableauMesures->setItem(nb-1, 1, itemHeure);
ui->tableauMesures->setItem(nb-1, 2, itemHygroSol);
ui->tableauMesures->setItem(nb-1, 3, itemHygroAir);
ui->tableauMesures->setItem(nb-1, 4, itemVitesseVent);
ui->tableauMesures->setItem(nb-1, 5, itemDirectionVent);
ui->tableauMesures->setItem(nb-1, 6, itemOuvrant);
ui->tableauMesures->setItem(nb-1, 7, itemVanne);
ui->tableauMesures->setItem(nb-1, 8, itemChauffage);
ui->tableauMesures->setItem(nb-1, 9, itemTemperatureAir);
ui->tableauMesures->setItem(nb-1, 10, itemTemperatureSol);
ui->tableauMesures->scrollToItem(ui->tableauMesures->item(0, 1));
ui->tableauMesures->setCurrentCell(0, 1);
++nbMesures;
if(nbMesures == nbMesuresHistorique)
break;
}
}
| IHMCampusSerre::afficherOngletTelemetrie | ( | ) | [private] |
Affichage des données dans l'onglet Telemetrie.
Références Telemetrie::getDirectionVent(), Telemetrie::getEtatChauffage(), Telemetrie::getEtatOuvrant(), Telemetrie::getEtatVanne(), Telemetrie::getHygrometrieAir(), Telemetrie::getHygrometrieSol(), Telemetrie::getTemperatureAir(), Telemetrie::getTemperatureSol(), Telemetrie::getVitesseVent(), telemetrie, et ui.
Référencé par actualiser().
{
ui->temperatureAir->display(telemetrie->getTemperatureAir());
ui->temperatureSol->display(telemetrie->getTemperatureSol());
ui->hygrometrieAir->display(telemetrie->getHygrometrieAir());
ui->hygrometrieSol->display(telemetrie->getHygrometrieSol());
ui->ouvertureOuvrant->setValue(telemetrie->getEtatOuvrant());
ui->etatChauffage->setValue(telemetrie->getEtatChauffage());
ui->etatVanne->setValue(telemetrie->getEtatVanne());
ui->Compass->setValue(telemetrie->getDirectionVent());
ui->Vitesse->setValue(telemetrie->getVitesseVent());
}
| IHMCampusSerre::commanderChauffage | ( | int | chauffage | ) | [slot] |
| chauffage | int la commande a envoyer |
Références GestionPort::envoyerDonnees(), et gestionPort.
Référencé par commanderChauffageAllumer(), commanderChauffageAuto(), et commanderChauffageEteint().
{
QString trame = QString("$PCS.1.%1.*").arg(chauffage, 3, 10, QChar('0'));
gestionPort->envoyerDonnees(trame);
}
| IHMCampusSerre::commanderChauffageAllumer | ( | ) | [slot] |
Références commanderChauffage(), et ui.
{
commanderChauffage(001);
ui->boutonChauffageAuto->setDefault(0);
ui->boutonChauffageAllumer->setDefault(1);
ui->boutonChauffageEteint->setDefault(0);
}
| IHMCampusSerre::commanderChauffageAuto | ( | ) | [slot] |
Références commanderChauffage(), et ui.
{
commanderChauffage(111);
ui->boutonChauffageAuto->setDefault(1);
ui->boutonChauffageAllumer->setDefault(0);
ui->boutonChauffageEteint->setDefault(0);
}
| IHMCampusSerre::commanderChauffageEteint | ( | ) | [slot] |
Références commanderChauffage(), et ui.
{
commanderChauffage(000);
ui->boutonChauffageAuto->setDefault(0);
ui->boutonChauffageAllumer->setDefault(0);
ui->boutonChauffageEteint->setDefault(1);
}
| IHMCampusSerre::commanderOuvrant | ( | int | ouverture | ) | [slot] |
| ouverture | int la commande a envoyer |
Références GestionPort::envoyerDonnees(), et gestionPort.
Référencé par commanderOuvrant0(), commanderOuvrant100(), commanderOuvrant25(), commanderOuvrant50(), commanderOuvrant75(), et commanderOuvrantAuto().
{
QString trame = QString("$PCS.2.%1.*").arg(ouverture, 3, 10, QChar('0'));
gestionPort->envoyerDonnees(trame);
}
| IHMCampusSerre::commanderOuvrant0 | ( | ) | [slot] |
Références commanderOuvrant(), et ui.
Référencé par initialiserIHM().
| IHMCampusSerre::commanderOuvrant100 | ( | ) | [slot] |
Références commanderOuvrant(), et ui.
Référencé par initialiserIHM().
| IHMCampusSerre::commanderOuvrant25 | ( | ) | [slot] |
Références commanderOuvrant(), et ui.
Référencé par initialiserIHM().
| IHMCampusSerre::commanderOuvrant50 | ( | ) | [slot] |
Références commanderOuvrant(), et ui.
Référencé par initialiserIHM().
| IHMCampusSerre::commanderOuvrant75 | ( | ) | [slot] |
Références commanderOuvrant(), et ui.
Référencé par initialiserIHM().
| IHMCampusSerre::commanderOuvrantAuto | ( | ) | [slot] |
Références commanderOuvrant(), et ui.
Référencé par initialiserIHM().
| IHMCampusSerre::commanderVanne | ( | int | vanne | ) | [slot] |
| vanne | int la commande a envoyer |
Références GestionPort::envoyerDonnees(), et gestionPort.
Référencé par commanderVanneAuto(), commanderVanneFermer(), et commanderVanneOuvert().
{
QString trame = QString("$PCS.3.%1.*").arg(vanne, 3, 10, QChar('0'));
qDebug() << trame;
gestionPort->envoyerDonnees(trame);
}
| IHMCampusSerre::commanderVanneAuto | ( | ) | [slot] |
Références commanderVanne(), et ui.
Référencé par initialiserIHM().
{
commanderVanne(111);
ui->boutonAutoVanne->setDefault(1);
ui->boutonOuvertureVanne->setDefault(0);
ui->boutonFermetureVanne->setDefault(0);
}
| IHMCampusSerre::commanderVanneFermer | ( | ) | [slot] |
Références commanderVanne(), et ui.
Référencé par initialiserIHM().
{
commanderVanne(0);
ui->boutonAutoVanne->setDefault(0);
ui->boutonOuvertureVanne->setDefault(0);
ui->boutonFermetureVanne->setDefault(1);
}
| IHMCampusSerre::commanderVanneOuvert | ( | ) | [slot] |
Références commanderVanne(), et ui.
Référencé par initialiserIHM().
{
commanderVanne(1);
ui->boutonAutoVanne->setDefault(0);
ui->boutonOuvertureVanne->setDefault(1);
ui->boutonFermetureVanne->setDefault(0);
}
| IHMCampusSerre::effacerHistorique | ( | ) | [private] |
Références ui.
Référencé par afficherOngletHistorique().
| IHMCampusSerre::envoyerConsignes | ( | int | consigneTempMinJour, |
| int | consigneTempMaxJour, | ||
| int | consigneTempMinNuit, | ||
| int | consigneTempMaxNuit, | ||
| int | consigneHygroMinSol, | ||
| int | consigneHygroMaxSol, | ||
| int | consigneHygroMinAir, | ||
| int | consigneHygroMaxAir | ||
| ) | [slot] |
| consigneTempMinJour | int la nouvelle valeur pour la température minimum du jour |
| consigneTempMaxJour | int la nouvelle valeur pour la température maximum du jour |
| consigneTempMinNuit | int la nouvelle valeur pour la température minimum de la nuit |
| consigneTempMaxNuit | int la nouvelle valeur pour la température maximum de la nuit |
| consigneHygroMinSol | int la nouvelle valeur pour l'hygrométrie minimum du sol |
| consigneHygroMaxSol | int la nouvelle valeur pour l'hygrométrie maximum du sol |
| consigneHygroMinAir | int la nouvelle valeur pour l'hygrométrie minimum de l'air |
| consigneHygroMaxAir | int la nouvelle valeur pour l'hygrométrie maximum de l'air |
Références GestionPort::envoyerDonnees(), et gestionPort.
Référencé par modifierConsignes().
{
QString trame = QString("$PCS.5.%1.%2.%3.%4.%5.%6.%7.%8*").arg(consigneTempMinJour, 3, 10, QChar('0')).arg(consigneTempMaxJour, 3, 10, QChar('0')).arg(consigneTempMinNuit, 3, 10, QChar('0')).arg(consigneTempMaxNuit, 3, 10, QChar('0')).arg(consigneHygroMinSol, 3, 10, QChar('0')).arg(consigneHygroMaxSol, 3, 10, QChar('0')).arg(consigneHygroMinAir, 3, 10, QChar('0')).arg(consigneHygroMaxAir, 3, 10, QChar('0'));
qDebug() << trame;
gestionPort->envoyerDonnees(trame);
}
| IHMCampusSerre::envoyerSeuils | ( | int | seuilTempMin, |
| int | seuilTempMax, | ||
| int | seuilVitesseMax | ||
| ) | [slot] |
| seuilTempMin | int la nouvelle valeur pour la température minimum |
| seuilTempMax | int la nouvelle valeur pour la température maximum |
| seuilVitesseMax | int la nouvelle valeur pour la vitesse maximum |
Références GestionPort::envoyerDonnees(), et gestionPort.
Référencé par modifierSeuils().
{
QString trame = QString("$PCS.4.%1.%2.%3.*").arg(seuilTempMin, 3, 10, QChar('0')).arg(seuilTempMax, 3, 10, QChar('0')).arg(seuilVitesseMax, 3, 10, QChar('0'));
qDebug() << Q_FUNC_INFO << trame;
gestionPort->envoyerDonnees(trame);
}
| IHMCampusSerre::initialiserBDD | ( | ) | [private] |
Références bdd, BaseDeDonnees::connecter(), et BaseDeDonnees::getInstance().
Référencé par IHMCampusSerre().
{
bdd = BaseDeDonnees::getInstance();
QString database = qApp->applicationDirPath() + "/" + qApp->applicationName() + ".db";
bdd->connecter(database);
}
| IHMCampusSerre::initialiserIHM | ( | ) | [private] |
Références actualiser(), commanderOuvrant0(), commanderOuvrant100(), commanderOuvrant25(), commanderOuvrant50(), commanderOuvrant75(), commanderOuvrantAuto(), commanderVanneAuto(), commanderVanneFermer(), commanderVanneOuvert(), initialiserQwt(), modifierConsignes(), modifierNbMesures(), modifierSeuils(), nbMesuresHistorique, selectionnerOnglet(), telemetrie, et ui.
Référencé par IHMCampusSerre().
{
nbMesuresHistorique = ui->spinBoxNbMesures->value();
ui->tableauMesures->resizeColumnsToContents();
ui->tableauMesures->verticalHeader()->setHidden(true);
QHeaderView * headerView = ui->tableauMesures->horizontalHeader();
headerView->setResizeMode(QHeaderView::Stretch);
QAction *actionQuitter = new QAction("&Quitter", this);
actionQuitter->setShortcut(QKeySequence(QKeySequence::Quit)); // Ctrl+Q
addAction(actionQuitter);
connect(actionQuitter, SIGNAL(triggered()), qApp, SLOT(quit()));
connect(ui->onglets, SIGNAL(currentChanged(int)), this, SLOT(selectionnerOnglet(int)));
connect(ui->boutonAutoOuvrant,SIGNAL(clicked()), this,SLOT(commanderOuvrantAuto()));
connect(ui->boutonOuvrant0, SIGNAL(clicked()), this, SLOT(commanderOuvrant0()));
connect(ui->boutonOuvrant25, SIGNAL(clicked()), this, SLOT(commanderOuvrant25()));
connect(ui->boutonOuvrant50, SIGNAL(clicked()), this, SLOT(commanderOuvrant50()));
connect(ui->boutonOuvrant75, SIGNAL(clicked()), this, SLOT(commanderOuvrant75()));
connect(ui->boutonOuvrant100, SIGNAL(clicked()), this, SLOT(commanderOuvrant100()));
connect(ui->boutonAutoVanne,SIGNAL(clicked()), this,SLOT(commanderVanneAuto()));
connect(ui->boutonOuvertureVanne, SIGNAL(clicked()), this, SLOT(commanderVanneOuvert()));
connect(ui->boutonFermetureVanne, SIGNAL(clicked()), this, SLOT(commanderVanneFermer()));
connect(ui->EditTempMin, SIGNAL(editingFinished()), this, SLOT(modifierSeuils()));
connect(ui->EditTempMax, SIGNAL(editingFinished()), this, SLOT(modifierSeuils()));
connect(ui->EditVitMax, SIGNAL(editingFinished()), this, SLOT(modifierSeuils()));
connect(ui->EditHygroMinAir, SIGNAL(editingFinished()), this, SLOT(modifierConsignes()));
connect(ui->EditHygroMinSol, SIGNAL(editingFinished()), this, SLOT(modifierConsignes()));
connect(ui->EditHygroMaxAir, SIGNAL(editingFinished()), this, SLOT(modifierConsignes()));
connect(ui->EditHygroMaxSol, SIGNAL(editingFinished()), this, SLOT(modifierConsignes()));
connect(ui->EditTempMinNuit, SIGNAL(editingFinished()), this, SLOT(modifierConsignes()));
connect(ui->EditTempMinJour, SIGNAL(editingFinished()), this, SLOT(modifierConsignes()));
connect(ui->EditTempMaxNuit, SIGNAL(editingFinished()), this, SLOT(modifierConsignes()));
connect(ui->EditTempMaxJour, SIGNAL(editingFinished()), this, SLOT(modifierConsignes()));
connect(ui->spinBoxNbMesures, SIGNAL(valueChanged(int)), this, SLOT(modifierNbMesures(int)));
connect(telemetrie, SIGNAL(nouvellesDonnees()), this, SLOT(actualiser()));
initialiserQwt();
// Affichage Telemetrie
ui->onglets->setCurrentIndex(0);
}
| IHMCampusSerre::initialiserQwt | ( | ) | [private] |
initialise les widgets Qwt (thermomètre, ...)
Références ui.
Référencé par initialiserIHM().
{
// Largeur de l'ombre
ui->Compass->setLineWidth(10);
//qwtDirection->setLineWidth(0);
// Type d'ombre
ui->Compass->setFrameShadow(QwtCompass::Sunken);
//qwtDirection->setFrameShadow(QwtCompass::Raised);
//qwtDirection->setFrameShadow(QwtCompass::Plain);
// La ligne de graduation
//qwtDirection->setScaleComponents( QwtAbstractScaleDraw::Backbone );
// Les étiquettes de graduation
//qwtDirection->setScaleComponents( QwtAbstractScaleDraw::Labels );
// Les graduations
//qwtDirection->setScaleComponents( QwtAbstractScaleDraw::Ticks );
// Plusieurs
ui->Compass->setScaleComponents( QwtAbstractScaleDraw::Backbone | QwtAbstractScaleDraw::Ticks | QwtAbstractScaleDraw::Labels );
// Les étiquettes de graduation :
/*QMap<double, QString> map;
for ( double d = 0.0; d < 360.0; d += 60.0 )
{
QString label;
label.sprintf("%.0f", d);
map.insert(d, label);
}
qwtDirection->setLabelMap(map);*/
// ou :
QMap<double, QString> map;
map.insert(0.0, "N");
map.insert(45.0, "NE");
map.insert(90.0, "E");
map.insert(135.0, "SE");
map.insert(180.0, "S");
map.insert(225.0, "SO");
map.insert(270.0, "O");
map.insert(315.0, "NO");
ui->Compass->setLabelMap(map);
// Échelle
ui->Compass->setScaleTicks(0, 0, 3);
ui->Compass->setScale(0, 0, 5.0);
// Aiguille
ui->Compass->setNeedle(new QwtCompassMagnetNeedle(QwtCompassMagnetNeedle::ThinStyle));
// Origine
ui->Compass->setOrigin(270.0); // au Nord
// Modification des couleurs
QPalette p1 = ui->Compass->palette();
p1.setColor(QPalette::Base, QColor(219, 219, 219)); // Fond extérieur
p1.setColor(QPalette::WindowText, QColor(231, 231, 231)); // Fond intérieur
p1.setColor(QPalette::Text, QColor(70, 70, 255)); // Texte et graduations
ui->Compass->setPalette(p1);
ui->Compass->setReadOnly(true);
// L'origine
ui->Vitesse->setOrigin(135.0);
ui->Vitesse->setScaleComponents( QwtAbstractScaleDraw::Backbone | QwtAbstractScaleDraw::Ticks | QwtAbstractScaleDraw::Labels );
// Longueur de la graduation
ui->Vitesse->setScaleTicks(0, 4, 8);
// Taille du cadran
ui->Vitesse->setScaleArc(0.0, 270.0);
// Intervalle de graduation
ui->Vitesse->setScale(-1, 2, 20);
ui->Vitesse->setRange(0.0, 240.0);
// Esapcement entre l'étiquette et la graduation
ui->Vitesse->scaleDraw()->setSpacing(8);
ui->Vitesse->setReadOnly(true);
ui->Vitesse->scaleDraw()->setPenWidth(1);
ui->Vitesse->setLineWidth(4);
ui->Vitesse->setFrameShadow(QwtDial::Sunken);
// Aiguille
QwtDialSimpleNeedle *needle = new QwtDialSimpleNeedle(QwtDialSimpleNeedle::Arrow, true, Qt::red, QColor(Qt::gray).light(130));
ui->Vitesse->setNeedle(needle);
// Modification des couleurs
QPalette p2 = ui->Vitesse->palette();
p2.setColor(QPalette::Text, QColor(70, 70, 255));
p2.setColor(QPalette::Foreground, QColor(200, 200, 200));
p2.setColor(QPalette::Background, QColor(150, 150, 150));
ui->Vitesse->setPalette(p2);
// Fixer les valeurs initiales
ui->Compass->setValue(0.0); // Donc le Nord
ui->Vitesse->setValue(0.0);
}
| IHMCampusSerre::modifierConsignes | ( | ) | [slot] |
Références bdd, envoyerConsignes(), BaseDeDonnees::executer(), et ui.
Référencé par initialiserIHM().
{
qDebug() << Q_FUNC_INFO;
int nouvelleConsigneHygroMinSol = ui->EditHygroMinSol->text().toInt();
int nouvelleConsigneHygroMaxSol = ui->EditHygroMaxSol->text().toInt();
int nouvelleConsigneHygroMinAir = ui->EditHygroMinAir->text().toInt();
int nouvelleConsigneHygroMaxAir = ui->EditHygroMaxAir->text().toInt();
int nouvelleConsigneTempMinJour = ui->EditTempMinJour->text().toInt();
int nouvelleConsigneTempMaxJour = ui->EditTempMaxJour->text().toInt();
int nouvelleConsigneTempMinNuit = ui->EditTempMinNuit->text().toInt();
int nouvelleConsigneTempMaxNuit = ui->EditTempMaxNuit->text().toInt();
QString requete = "UPDATE consignes SET temperatureJourMin ='" + QString::number(nouvelleConsigneTempMinJour) + "' ,temperatureJourMax ='" + QString::number(nouvelleConsigneTempMaxJour) + "' ,temperatureNuitMin ='" + QString::number(nouvelleConsigneTempMinNuit) + "' ,temperatureNuitMax ='" + QString::number(nouvelleConsigneTempMaxNuit) + "' ,hygrometrieSolMin ='" + QString::number(nouvelleConsigneHygroMinSol) + "' ,hygrometrieSolMax ='" + QString::number(nouvelleConsigneHygroMaxSol) + "' ,HygrometrieAirMin ='" + QString::number(nouvelleConsigneHygroMinAir) + "' ,hygrometrieAirMax ='" + QString::number(nouvelleConsigneHygroMaxAir) + "' WHERE idConsignes = '1'";
bdd->executer(requete);
envoyerConsignes(nouvelleConsigneTempMinJour,nouvelleConsigneTempMaxJour,nouvelleConsigneTempMinNuit,nouvelleConsigneTempMaxNuit,nouvelleConsigneHygroMinSol,nouvelleConsigneHygroMaxSol,nouvelleConsigneHygroMinAir,nouvelleConsigneHygroMaxAir);
}
| IHMCampusSerre::modifierNbMesures | ( | int | n | ) | [slot] |
Références afficherOngletHistorique(), et nbMesuresHistorique.
Référencé par initialiserIHM().
{
nbMesuresHistorique = n;
afficherOngletHistorique();
}
| IHMCampusSerre::modifierSeuils | ( | ) | [slot] |
Références bdd, envoyerSeuils(), BaseDeDonnees::executer(), et ui.
Référencé par initialiserIHM().
{
qDebug() << Q_FUNC_INFO;
int nouveauSeuilTempMin = ui->EditTempMin->text().toInt();
int nouveauSeuilTempMax = ui->EditTempMax->text().toInt();
int nouveauSeuilVitesseMax = ui->EditVitMax->text().toInt();
QString requete = "UPDATE seuils SET temperatureMin ='" + QString::number(nouveauSeuilTempMin) + "' ,temperatureMax = '" + QString::number(nouveauSeuilTempMax) + "' ,vitesseMax = '" + QString::number(nouveauSeuilVitesseMax) + "' WHERE idSeuils = '1'";
bdd->executer(requete);
envoyerSeuils(nouveauSeuilTempMin, nouveauSeuilTempMax, nouveauSeuilVitesseMax);
}
| IHMCampusSerre::recupererConsignes | ( | ) | [private] |
Références bdd, BaseDeDonnees::recuperer(), et ui.
Référencé par IHMCampusSerre().
{
QStringList consignes;
QString requeteConsignes = "select * from consignes";
bool retourConsignes = bdd->recuperer(requeteConsignes, consignes);
if(retourConsignes)
{
ui->EditTempMinJour->setText(consignes.at(1));
ui->EditTempMaxJour->setText(consignes.at(2));
ui->EditTempMinNuit->setText(consignes.at(3));
ui->EditTempMaxNuit->setText(consignes.at(4));
ui->EditHygroMinSol->setText(consignes.at(5));
ui->EditHygroMaxSol->setText(consignes.at(6));
ui->EditHygroMinAir->setText(consignes.at(7));
ui->EditHygroMaxAir->setText(consignes.at(8));
}
}
| IHMCampusSerre::recupererSeuils | ( | ) | [private] |
Références bdd, BaseDeDonnees::recuperer(), et ui.
Référencé par IHMCampusSerre().
| IHMCampusSerre::selectionnerOnglet | ( | int | onglet | ) | [slot] |
Référencé par initialiserIHM().
{
}
BaseDeDonnees* IHMCampusSerre::bdd [private] |
relation vers la classe BaseDeDonnees
Référencé par initialiserBDD(), modifierConsignes(), modifierSeuils(), recupererConsignes(), et recupererSeuils().
GestionPort* IHMCampusSerre::gestionPort [private] |
relation vers la classe GestionPort
Référencé par commanderChauffage(), commanderOuvrant(), commanderVanne(), envoyerConsignes(), envoyerSeuils(), et IHMCampusSerre().
int IHMCampusSerre::nbMesuresHistorique [private] |
nombre de mesures à afficher dans l'historique
Référencé par afficherOngletHistorique(), initialiserIHM(), et modifierNbMesures().
Telemetrie* IHMCampusSerre::telemetrie [private] |
relation vers la classe Telemetrie
Référencé par afficherOngletHistorique(), afficherOngletTelemetrie(), IHMCampusSerre(), et initialiserIHM().
Ui::IHMCampusSerre* IHMCampusSerre::ui [private] |
relation vers la classe IHM
Référencé par actualiser(), afficherOngletHistorique(), afficherOngletTelemetrie(), commanderChauffageAllumer(), commanderChauffageAuto(), commanderChauffageEteint(), commanderOuvrant0(), commanderOuvrant100(), commanderOuvrant25(), commanderOuvrant50(), commanderOuvrant75(), commanderOuvrantAuto(), commanderVanneAuto(), commanderVanneFermer(), commanderVanneOuvert(), effacerHistorique(), IHMCampusSerre(), initialiserIHM(), initialiserQwt(), modifierConsignes(), modifierSeuils(), recupererConsignes(), recupererSeuils(), et ~IHMCampusSerre().
1.7.6.1