Campus Serre  1.0
BTS SN-IR La Salle Avignon 2018
Connecteurs publics | Fonctions membres publiques | Fonctions membres privées | Attributs privés
Référence de la classe IHMCampusSerre

La fenêtre principale de l'application. Plus de détails...

#include <IHMCampusSerre.h>

Graphe de collaboration de IHMCampusSerre:
Collaboration graph
[légende]

Liste de tous les membres

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
GestionPortgestionPort
Telemetrietelemetrie
BaseDeDonneesbdd
int nbMesuresHistorique

Description détaillée

Auteur:
Di Sario
Version:
1.0
Date:
Mercredi 21 février 2018

Documentation des constructeurs et destructeur

IHMCampusSerre::IHMCampusSerre ( QWidget *  parent = 0) [explicit]
Paramètres:
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 !"));
}

Documentation des fonctions membres

A faire:
gérer l'onglet commande des appareils

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();

}

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;
    }
}

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]
Paramètres:
chauffageint 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);
}

Références commanderChauffage(), et ui.

{
    commanderChauffage(001);
    ui->boutonChauffageAuto->setDefault(0);
    ui->boutonChauffageAllumer->setDefault(1);
    ui->boutonChauffageEteint->setDefault(0);
}

Références commanderChauffage(), et ui.

{
    commanderChauffage(111);
    ui->boutonChauffageAuto->setDefault(1);
    ui->boutonChauffageAllumer->setDefault(0);
    ui->boutonChauffageEteint->setDefault(0);
}

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]
Paramètres:
ouvertureint 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);
}

Références commanderOuvrant(), et ui.

Référencé par initialiserIHM().

{
    commanderOuvrant(0);
    ui->boutonOuvrant0->setDefault(1);
    ui->boutonOuvrant25->setDefault(0);
    ui->boutonOuvrant50->setDefault(0);
    ui->boutonOuvrant75->setDefault(0);
    ui->boutonOuvrant100->setDefault(0);
    ui->boutonAutoOuvrant->setDefault(0);
    ui->boutonManuelOuvrant->setDefault(1);
}

Références commanderOuvrant(), et ui.

Référencé par initialiserIHM().

{
    commanderOuvrant(100);
    ui->boutonOuvrant0->setDefault(0);
    ui->boutonOuvrant25->setDefault(0);
    ui->boutonOuvrant50->setDefault(0);
    ui->boutonOuvrant75->setDefault(0);
    ui->boutonOuvrant100->setDefault(1);
    ui->boutonAutoOuvrant->setDefault(0);
    ui->boutonManuelOuvrant->setDefault(1);
}

Références commanderOuvrant(), et ui.

Référencé par initialiserIHM().

{
    commanderOuvrant(25);
    ui->boutonOuvrant0->setDefault(0);
    ui->boutonOuvrant25->setDefault(1);
    ui->boutonOuvrant50->setDefault(0);
    ui->boutonOuvrant75->setDefault(0);
    ui->boutonOuvrant100->setDefault(0);
    ui->boutonAutoOuvrant->setDefault(0);
    ui->boutonManuelOuvrant->setDefault(1);
}

Références commanderOuvrant(), et ui.

Référencé par initialiserIHM().

{
    commanderOuvrant(50);
    ui->boutonOuvrant0->setDefault(0);
    ui->boutonOuvrant25->setDefault(0);
    ui->boutonOuvrant50->setDefault(1);
    ui->boutonOuvrant75->setDefault(0);
    ui->boutonOuvrant100->setDefault(0);
    ui->boutonAutoOuvrant->setDefault(0);
    ui->boutonManuelOuvrant->setDefault(1);
}

Références commanderOuvrant(), et ui.

Référencé par initialiserIHM().

{
    commanderOuvrant(75);
    ui->boutonOuvrant0->setDefault(0);
    ui->boutonOuvrant25->setDefault(0);
    ui->boutonOuvrant50->setDefault(0);
    ui->boutonOuvrant75->setDefault(1);
    ui->boutonOuvrant100->setDefault(0);
    ui->boutonAutoOuvrant->setDefault(0);
    ui->boutonManuelOuvrant->setDefault(1);
}

Références commanderOuvrant(), et ui.

Référencé par initialiserIHM().

{
    commanderOuvrant(111);
    ui->boutonOuvrant0->setDefault(0);
    ui->boutonOuvrant25->setDefault(0);
    ui->boutonOuvrant50->setDefault(0);
    ui->boutonOuvrant75->setDefault(0);
    ui->boutonOuvrant100->setDefault(0);
    ui->boutonAutoOuvrant->setDefault(1);
    ui->boutonManuelOuvrant->setDefault(0);
}
IHMCampusSerre::commanderVanne ( int  vanne) [slot]
Paramètres:
vanneint 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);
}

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);
}

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);
}

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);
}

Références ui.

Référencé par afficherOngletHistorique().

{
    int nb = ui->tableauMesures->rowCount();
    // on efface les lignes du tableau une par une
    for(int i = 0; i < nb; i++)
    {
        ui->tableauMesures->removeRow(0);
    }
}
IHMCampusSerre::envoyerConsignes ( int  consigneTempMinJour,
int  consigneTempMaxJour,
int  consigneTempMinNuit,
int  consigneTempMaxNuit,
int  consigneHygroMinSol,
int  consigneHygroMaxSol,
int  consigneHygroMinAir,
int  consigneHygroMaxAir 
) [slot]
Paramètres:
consigneTempMinJourint la nouvelle valeur pour la température minimum du jour
consigneTempMaxJourint la nouvelle valeur pour la température maximum du jour
consigneTempMinNuitint la nouvelle valeur pour la température minimum de la nuit
consigneTempMaxNuitint la nouvelle valeur pour la température maximum de la nuit
consigneHygroMinSolint la nouvelle valeur pour l'hygrométrie minimum du sol
consigneHygroMaxSolint la nouvelle valeur pour l'hygrométrie maximum du sol
consigneHygroMinAirint la nouvelle valeur pour l'hygrométrie minimum de l'air
consigneHygroMaxAirint 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]
Paramètres:
seuilTempMinint la nouvelle valeur pour la température minimum
seuilTempMaxint la nouvelle valeur pour la température maximum
seuilVitesseMaxint 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);
}

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);
}

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);
}

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);
}

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);
}

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);
}

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));
    }
}

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

Référencé par IHMCampusSerre().

{
    QStringList seuils;
    QString requete = "select * from seuils";
    bool retour = bdd->recuperer(requete, seuils);
    if(retour)
    {
        ui->EditTempMin->setText(seuils.at(1));
        ui->EditTempMax->setText(seuils.at(2));
        ui->EditVitMax->setText(seuils.at(3));
    }
}
IHMCampusSerre::selectionnerOnglet ( int  onglet) [slot]

Référencé par initialiserIHM().

{

}

Documentation des données membres

nombre de mesures à afficher dans l'historique

Référencé par afficherOngletHistorique(), initialiserIHM(), et modifierNbMesures().

Ui::IHMCampusSerre* IHMCampusSerre::ui [private]

La documentation de cette classe a été générée à partir des fichiers suivants :
 Tout Classes Fichiers Fonctions Variables Macros