Wismas  1.1
BTS SN-IR La Salle Avignon 2017
Connecteurs publics | Signaux | Fonctions membres publiques | Fonctions membres privées | Attributs privés
Référence de la classe IHM

#include <ihm.h>

Liste de tous les membres

Connecteurs publics

void demarrer ()
void arreter ()
void right ()
void left ()
void up ()
void down ()
void origine ()
void replyFinished (QNetworkReply *reply)
void terminer (QString)
void majCamera (int index)
void majResolution (int index)
void majRate (int index)
void majDuree ()
void majPeriode ()
void journaliser (QString message)

Signaux

void fini ()

Fonctions membres publiques

 IHM (QWidget *parent=0)
 ~IHM ()

Fonctions membres privées

void lireParametres ()
void ecrireParametres ()
void arreterTimers ()

Attributs privés

QNetworkAccessManager * manager
QNetworkReply * reply
QVector< Camera * > cameras
QVector< ParametresCameraparametresCameras
int nbCameras
QString urlvideo
QTimer * timer1
QTimer * timer2
QTimer * timer3
QLabel * labelCamera
QComboBox * listeCameras
QLabel * labelResolution
QComboBox * listeResolution
QLabel * labelRate
QComboBox * listeRate
QLabel * labelDuree
QLineEdit * leDuree
QLabel * labelPeriode
QLineEdit * lePeriode
QProgressBar * progressBar1
QProgressBar * progressBar2
QProgressBar * progressBar3
QPushButton * bDemarrer
QPushButton * bArreter
QLabel * labelRotation
QComboBox * listeRotation
QPushButton * bRight
QPushButton * bLeft
QPushButton * bUp
QPushButton * bDown
QPushButton * bOrigine
QWebView * webView
QTextEdit * journal

Documentation des constructeurs et destructeur

IHM::IHM ( QWidget *  parent = 0)

Fréquence d'image

Références arreter(), bArreter, bDemarrer, bDown, bLeft, bOrigine, bRight, bUp, demarrer(), down(), journal, labelCamera, labelDuree, labelPeriode, labelRate, labelResolution, labelRotation, leDuree, left(), lePeriode, lireParametres(), listeCameras, listeRate, listeResolution, listeRotation, majCamera(), majDuree(), majPeriode(), majRate(), majResolution(), manager, nbCameras, origine(), progressBar1, progressBar2, progressBar3, replyFinished(), right(), timer1, timer2, timer3, up(), et webView.

                          : QWidget( parent )
{
    /* les timers pour les enregistrements périodiques */
    timer1 = new QTimer(this);
    timer2 = new QTimer(this);
    timer3 = new QTimer(this);

    /* les widgets */
    labelCamera = new QLabel(this); /* crée dynamiquement le label */
    labelCamera->setText(QString::fromUtf8("Caméra : ")); /* Défini le texte du label */
    listeCameras = new QComboBox(this); /* crée dynamiquement la liste déroulante */
    listeCameras->setFixedWidth(150); /* Fixe la largeur */

    labelResolution = new QLabel(this);
    labelResolution->setText(QString::fromUtf8("Résolution : "));
    listeResolution = new QComboBox(this);
    listeResolution->setFixedWidth(150);
    listeResolution->addItem(QString::fromUtf8("640*480")); /* 32 */
    listeResolution->addItem(QString::fromUtf8("320*240")); /* 8 */

    labelRate = new QLabel(this);
    labelRate->setText(QString::fromUtf8("Images/s : "));
    listeRate = new QComboBox(this);
    listeRate->setFixedWidth(150);
    listeRate->addItem(QString::fromUtf8("full speed")); /* 0 */
    listeRate->addItem(QString::fromUtf8("20 fps")); /* 1 */
    listeRate->addItem(QString::fromUtf8("15 fps")); /* 3 */
    listeRate->addItem(QString::fromUtf8("10 fps")); /* 6 */
    listeRate->addItem(QString::fromUtf8("5 fps")); /* 11 */
    listeRate->addItem(QString::fromUtf8("4 fps")); /* 12 */
    listeRate->addItem(QString::fromUtf8("3 fps")); /* 13 */
    listeRate->addItem(QString::fromUtf8("2 fps")); /* 14 */
    listeRate->addItem(QString::fromUtf8("1 fps")); /* 15 */

    labelDuree = new QLabel(this);
    labelDuree->setText(QString::fromUtf8("Durée (s) : "));
    leDuree = new QLineEdit(this); /* crée dynamiquement un éditeur de texte */
    leDuree->setEnabled(true); /* Active par défaut le champ */
    leDuree->setFixedWidth(leDuree->sizeHint().width());

    labelPeriode = new QLabel(this);
    labelPeriode->setText(QString::fromUtf8("Période (s) : "));
    lePeriode = new QLineEdit(this);
    lePeriode->setEnabled(true);
    lePeriode->setFixedWidth(lePeriode->sizeHint().width());

    /* Crée les labels et barre de progression de l'enregistrement */
    QLabel *labelCamera1 = new QLabel(QString::fromUtf8("Caméra 1 : "), this);
    progressBar1 = new QProgressBar(this);
    progressBar1->setValue(0); /* Indique la valeur par défaut */
    QLabel *labelCamera2 = new QLabel(QString::fromUtf8("Caméra 2 : "), this);
    progressBar2 = new QProgressBar(this);
    progressBar2->setValue(0);
    QLabel *labelCamera3 = new QLabel(QString::fromUtf8("Caméra 3 : "), this);
    progressBar3 = new QProgressBar(this);
    progressBar3->setValue(0);

    /* Crée les bouton Démarrer et Arrêter l'enregistrement */
    bDemarrer = new QPushButton(QString::fromUtf8("Démarrer"), this);
    bDemarrer->setEnabled(true);
    bArreter = new QPushButton(QString::fromUtf8("Arrêter"), this);
    bArreter->setEnabled(false);

    journal = new QTextEdit(this);
    journal->setReadOnly(true); /* On ne modifiera pas le contenu du journal */
    journal->setFixedHeight(100); /* Fixe la hauteur */

    /* liste pour le type de rotation fixe ou panoramique */
    labelRotation = new QLabel(this);
    labelRotation->setText(QString::fromUtf8("Rotation : "));
    listeRotation = new QComboBox(this);
    //listeRotation->setFixedWidth(150);
    listeRotation->addItem(QString::fromUtf8("Fixe"));
    listeRotation->addItem(QString::fromUtf8("Panoramique"));

    /* crée les bouttons de déplacement et les désactive par défaut */
    bRight = new QPushButton(QString::fromUtf8("Right"), this);
    bRight->setEnabled(false);
    bLeft = new QPushButton(QString::fromUtf8("Left"), this);
    bLeft->setEnabled(false);
    bUp = new QPushButton(QString::fromUtf8("Up"), this);
    bUp->setEnabled(false);
    bDown = new QPushButton(QString::fromUtf8("Down"), this);
    bDown->setEnabled(false);
    bOrigine = new QPushButton(QString::fromUtf8("Origine"), this);
    bOrigine->setEnabled(false);

    /* Crée l'affichage du flux video */
    webView = new QWebView(this);
    webView->setGeometry(0, 0, 320, 200);
    /* Retrait des barres de défilement */
    webView->page()->mainFrame()->setScrollBarPolicy(Qt::Horizontal, Qt::ScrollBarAlwaysOff);
    webView->page()->mainFrame()->setScrollBarPolicy(Qt::Vertical, Qt::ScrollBarAlwaysOff);

    /* positionnement des widgets (mise en place des layouts) */
    QHBoxLayout *hLayout0 = new QHBoxLayout;
    QHBoxLayout *hLayout1 = new QHBoxLayout;
    QHBoxLayout *hLayout2 = new QHBoxLayout;
    QHBoxLayout *hLayout3 = new QHBoxLayout;
    QHBoxLayout *hLayout4 = new QHBoxLayout;
    QHBoxLayout *hLayout5 = new QHBoxLayout;
    QVBoxLayout *mainLayout = new QVBoxLayout;

    hLayout0->addWidget(labelCamera);
    hLayout0->addWidget(listeCameras);
    hLayout0->addSpacing(10);
    hLayout0->addWidget(labelResolution);
    hLayout0->addWidget(listeResolution);
    hLayout0->addWidget(labelRate);
    hLayout0->addWidget(listeRate);
    /*hLayout0->addWidget(labelPosition);
    hLayout0->addWidget(listePosition);*/
    hLayout0->addWidget(labelDuree);
    hLayout0->addWidget(leDuree);
    hLayout0->addWidget(labelPeriode);
    hLayout0->addWidget(lePeriode);
    hLayout0->addStretch(1);
    hLayout1->addWidget(labelCamera1);
    progressBar1->setAlignment(Qt::AlignHCenter);
    hLayout1->addWidget(progressBar1);
    hLayout1->addSpacing(10);
    hLayout1->addWidget(labelCamera2);
    progressBar2->setAlignment(Qt::AlignHCenter);
    hLayout1->addWidget(progressBar2);
    hLayout1->addSpacing(10);
    hLayout1->addWidget(labelCamera3);
    progressBar3->setAlignment(Qt::AlignHCenter);
    hLayout1->addWidget(progressBar3);
    hLayout1->setAlignment(Qt::AlignHCenter);
    hLayout2->addWidget(bDemarrer);
    hLayout2->addWidget(bArreter);
    hLayout3->addWidget(journal);
    hLayout4->setAlignment(Qt::AlignHCenter);
    hLayout4->addWidget(labelRotation);
    hLayout4->addWidget(listeRotation);
    hLayout4->addWidget(bLeft);
    hLayout4->addWidget(bRight);
    hLayout4->addWidget(bUp);
    hLayout4->addWidget(bDown);
    hLayout4->addWidget(bOrigine);
    hLayout5->addWidget(webView);
    mainLayout->addLayout(hLayout0);
    mainLayout->addLayout(hLayout1);
    mainLayout->addLayout(hLayout3);
    mainLayout->addLayout(hLayout2);
    mainLayout->addLayout(hLayout4);
    mainLayout->addLayout(hLayout5);
    mainLayout->addStretch(1);
    setLayout(mainLayout);

    /* initialisation */
    nbCameras = 3;
    lireParametres();

    /* les signaux/slots */
    connect(listeCameras, SIGNAL(currentIndexChanged(int)), this, SLOT(majCamera(int)));
    connect(leDuree, SIGNAL(editingFinished()), this, SLOT(majDuree()));
    connect(lePeriode, SIGNAL(editingFinished()), this, SLOT(majPeriode()));
    connect(listeResolution, SIGNAL(currentIndexChanged(int)), this, SLOT(majResolution(int)));
    connect(listeRate, SIGNAL(currentIndexChanged(int)), this, SLOT(majRate(int)));
    connect(bDemarrer, SIGNAL(clicked()), this, SLOT(demarrer()));
    connect(bArreter, SIGNAL(clicked()), this, SLOT(arreter()));
    //connect(listeRotation, SIGNAL(currentIndexChanged(int)), this, SLOT(majRotation(int)));
    connect(bRight, SIGNAL(clicked()), this, SLOT(right()));
    connect(bLeft, SIGNAL(clicked()), this, SLOT(left()));
    connect(bUp, SIGNAL(clicked()), this, SLOT(up()));
    connect(bDown, SIGNAL(clicked()), this, SLOT(down()));
    connect(bOrigine, SIGNAL(clicked()), this, SLOT(origine()));
    majCamera(listeCameras->currentIndex());

    /* Envoyer des requêtes de commande déplacement des caméras */
    manager = new QNetworkAccessManager(this);
    connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(replyFinished(QNetworkReply*)));

    bRight->setEnabled(true);
    bLeft->setEnabled(true);
    bUp->setEnabled(true);
    bDown->setEnabled(true);
    bOrigine->setEnabled(true);

    /* affichage */
    QDesktopWidget *widget = QApplication::desktop();
    resize(widget->width(), widget->height());
}
IHM::~IHM ( )

Documentation des fonctions membres

void IHM::arreter ( ) [slot]

Bouton Arrêter

Références arreterTimers(), bArreter, bDemarrer, fini(), journaliser(), et parametresCameras.

Référencé par IHM(), lireParametres(), et ~IHM().

{
    arreterTimers();

    bDemarrer->setEnabled(true);
    bArreter->setEnabled(false);

    emit fini();
    if(parametresCameras.size() > 0)
    {
        journaliser(QString::fromUtf8("Fin de la programmation des enregistrements caméra %1").arg(parametresCameras.at(0).nom));
    }
    if(parametresCameras.size() > 1)
    {
        journaliser(QString::fromUtf8("Fin de la programmation des enregistrements caméra %1").arg(parametresCameras.at(1).nom));
    }
    if(parametresCameras.size() > 2)
    {
        journaliser(QString::fromUtf8("Fin de la programmation des enregistrements caméra %1").arg(parametresCameras.at(2).nom));
    }
}
void IHM::arreterTimers ( ) [private]

Références timer1, timer2, et timer3.

Référencé par arreter(), et demarrer().

{
    if(timer1->isActive())
        timer1->stop();
    if(timer2->isActive())
        timer2->stop();
    if(timer3->isActive())
        timer3->stop();
}
void IHM::demarrer ( ) [slot]

Bouton Démarrer

Références arreterTimers(), bArreter, bDemarrer, journaliser(), listeCameras, parametresCameras, progressBar1, progressBar2, progressBar3, timer1, timer2, et timer3.

Référencé par IHM().

{
    if((parametresCameras.at(listeCameras->currentIndex()).periode) <= (parametresCameras.at(listeCameras->currentIndex()).duree/1000))
    {
        QMessageBox::critical(0, QString::fromUtf8("Wismas"), QString::fromUtf8("Attention ! La période doit être supérieure à la durée !!!"));
    }
    else
    {
        progressBar1->setValue(0);
        progressBar2->setValue(0);
        progressBar3->setValue(0);
        bDemarrer->setEnabled(false);
        bArreter->setEnabled(true);

        arreterTimers();

        /* démarre les enregistrements périodiques */
        if(parametresCameras.size() > 0)
        {
            journaliser(QString::fromUtf8("Programmation enregistrement caméra %1 : toutes les %2  s").arg(parametresCameras.at(0).nom).arg(parametresCameras.at(0).periode));
            qDebug() << Q_FUNC_INFO << "periode" << parametresCameras.at(0).periode << "duree" << parametresCameras.at(0).duree;
            timer1->start(parametresCameras.at(0).periode*1000);
        }
        if(parametresCameras.size() > 1)
        {
            journaliser(QString::fromUtf8("Programmation enregistrement caméra %1 : toutes les %2  s").arg(parametresCameras.at(1).nom).arg(parametresCameras.at(1).periode));
            qDebug() << Q_FUNC_INFO << "periode" << parametresCameras.at(1).periode << "duree" << parametresCameras.at(1).duree;
            timer2->start(parametresCameras.at(1).periode*1000);
        }
        if(parametresCameras.size() > 2)
        {
            journaliser(QString::fromUtf8("Programmation enregistrement caméra %1 : toutes les %2  s").arg(parametresCameras.at(2).nom).arg(parametresCameras.at(2).periode));
            qDebug() << Q_FUNC_INFO << "periode" << parametresCameras.at(2).periode << "duree" << parametresCameras.at(2).duree;
            timer3->start(parametresCameras.at(2).periode*1000);
        }

    }
}
void IHM::down ( ) [slot]

Références ParametresCamera::adresse, listeCameras, manager, parametresCameras, ParametresCamera::port, ParametresCamera::pwd, et ParametresCamera::user.

Référencé par IHM().

{
    ParametresCamera parametresCamera = parametresCameras.at(listeCameras->currentIndex());
    QString URL = "http://" + parametresCamera.adresse + ":" + QString::number(parametresCamera.port) + "/decoder_control.cgi?command=2&onestep=2" + "&user=" + parametresCamera.user + "&pwd=" + parametresCamera.pwd;
    manager->get(QNetworkRequest(QUrl(URL)));
}
void IHM::ecrireParametres ( ) [private]

Ecriture des paramètres des 3 caméras dans le fichier .ini

Références ParametresCamera::adresse, ParametresCamera::chemin, ParametresCamera::duree, ParametresCamera::extension, ParametresCamera::fichier, ParametresCamera::idSite, journaliser(), nbCameras, ParametresCamera::nom, parametresCameras, ParametresCamera::periode, ParametresCamera::port, ParametresCamera::pwd, ParametresCamera::rate, ParametresCamera::resolution, ParametresCamera::script, ParametresCamera::url, et ParametresCamera::user.

Référencé par ~IHM().

{
    QString fichierINI = qApp->applicationDirPath() + "/" + qApp->applicationName() + ".ini";
    QSettings parametres(fichierINI, QSettings::IniFormat);
    QString id;

    /* écriture des paramètres pour les 3 caméras */
    for(int i = 0; i < nbCameras; i++)
    {
        ParametresCamera parametresCamera = parametresCameras.at(i);

        id = "camera" + QString::number(i+1);
        parametres.beginGroup(id);
        parametres.setValue("idSite", parametresCamera.idSite);
        parametres.setValue("nom", parametresCamera.nom);
        parametres.setValue("adresse", parametresCamera.adresse);
        parametres.setValue("port", parametresCamera.port);
        parametres.setValue("user", parametresCamera.user);
        parametres.setValue("pwd", parametresCamera.pwd);
        parametres.setValue("script", parametresCamera.script);
        parametres.setValue("resolution", parametresCamera.resolution);
        parametres.setValue("rate", parametresCamera.rate);
        //parametres.setValue("position", parametresCamera.position);
        parametres.setValue("duree", parametresCamera.duree);
        parametres.setValue("periode", parametresCamera.periode);
        parametres.setValue("chemin", parametresCamera.chemin);
        parametres.setValue("fichier", parametresCamera.fichier);
        parametres.setValue("extension", parametresCamera.extension);
        parametres.setValue("url", parametresCamera.url);
        parametres.endGroup();
    }
    journaliser(QString::fromUtf8("Écriture des paramètres : ok"));
}
void IHM::fini ( ) [signal]

Référencé par arreter(), et lireParametres().

void IHM::journaliser ( QString  message) [slot]

Références journal.

Référencé par arreter(), demarrer(), ecrireParametres(), et lireParametres().

{
    journal->append(message);
}
void IHM::left ( ) [slot]

Références ParametresCamera::adresse, listeCameras, manager, parametresCameras, ParametresCamera::port, ParametresCamera::pwd, et ParametresCamera::user.

Référencé par IHM().

{
    ParametresCamera parametresCamera = parametresCameras.at(listeCameras->currentIndex());
    QString URL = "http://" + parametresCamera.adresse + ":" + QString::number(parametresCamera.port) + "/decoder_control.cgi?command=4&onestep=2" + "&user=" + parametresCamera.user + "&pwd=" + parametresCamera.pwd;
    manager->get(QNetworkRequest(QUrl(URL)));
}
void IHM::lireParametres ( ) [private]

Paramètres de configuration des 3 caméras dans le fichier .ini

Références ParametresCamera::active, ParametresCamera::adresse, arreter(), cameras, ParametresCamera::chemin, ParametresCamera::couleur, ParametresCamera::duree, ParametresCamera::extension, ParametresCamera::fichier, fini(), ParametresCamera::idSite, journaliser(), leDuree, lePeriode, listeCameras, listeRate, listeResolution, nbCameras, ParametresCamera::nom, parametresCameras, ParametresCamera::periode, ParametresCamera::port, progressBar1, progressBar2, progressBar3, ParametresCamera::pwd, ParametresCamera::rate, ParametresCamera::resolution, ParametresCamera::script, terminer(), timer1, timer2, timer3, ParametresCamera::url, et ParametresCamera::user.

Référencé par IHM().

{
    QString fichierINI = qApp->applicationDirPath() + "/" + qApp->applicationName() + ".ini";
    QSettings parametres(fichierINI, QSettings::IniFormat);
    QString id;
    int choixResolution[2] = { 32, 8 };
    int choixRate[9] = { 0, 1, 3, 6, 11, 12, 13, 14, 15 };
    ParametresCamera parametresCamera;

    /* lecture des paramètres pour les 3 caméras */
    for(int i = 0; i < nbCameras; i++)
    {
        id = "camera" + QString::number(i+1) + "/";
        parametresCamera.idSite = parametres.value(id + "idSite", "1").toString();
        parametresCamera.nom = parametres.value(id + "nom", "").toString();
        parametresCamera.adresse = parametres.value(id + "adresse", "").toString();
        parametresCamera.port = parametres.value(id + "port", "0").toInt();
        parametresCamera.user = parametres.value(id + "user", "admin").toString();
        parametresCamera.pwd = parametres.value(id + "pwd", "").toString();
        parametresCamera.script = parametres.value(id + "script", "mobile.htm").toString();
        parametresCamera.resolution = parametres.value(id + "resolution", "32").toInt();
        parametresCamera.rate = parametres.value(id + "rate", "0").toInt();
        parametresCamera.duree = parametres.value(id + "duree", "10000").toInt();
        parametresCamera.periode = parametres.value(id + "periode", "300").toInt();
        parametresCamera.chemin = parametres.value(id + "chemin", "").toString();
        parametresCamera.fichier = parametres.value(id + "fichier", "enregistrement").toString();
        parametresCamera.extension = parametres.value(id + "extension", "mjpg").toString();
        parametresCamera.url = parametres.value(id + "url", "").toString();
        parametresCamera.couleur = parametres.value(id + "couleur", "").toString();
        parametresCamera.active = parametres.value(id + "active", "0").toInt();
        if(parametresCamera.active == 1)
        {
            parametresCameras.push_back(parametresCamera);

            qDebug() << Q_FUNC_INFO << "periode" << parametresCamera.periode << "duree" << parametresCamera.duree;

            /* on crée la caméra */
            Camera *camera = new Camera(parametresCamera, parametresCamera.couleur, this);
            connect(this, SIGNAL(fini()), camera, SLOT(arreter()));
            connect(camera, SIGNAL(fini(QString)), this, SLOT(terminer(QString)));
            connect(camera, SIGNAL(journaliser(QString)), this, SLOT(journaliser(QString)));
            switch(i)
            {
            case 0:
                connect(timer1, SIGNAL(timeout()), camera, SLOT(enregistrer()));
                connect(camera, SIGNAL(progression(int)), progressBar1, SLOT(setValue(int)));
                break;
            case 1:
                connect(timer2, SIGNAL(timeout()), camera, SLOT(enregistrer()));
                connect(camera, SIGNAL(progression(int)), progressBar2, SLOT(setValue(int)));
                break;
            case 2:
                connect(timer3, SIGNAL(timeout()), camera, SLOT(enregistrer()));
                connect(camera, SIGNAL(progression(int)), progressBar3, SLOT(setValue(int)));
                break;
            }
            cameras.push_back(camera);
        }
    }

    nbCameras = cameras.size();

    /* ajoute les caméras dans la liste */
    for(int i = 0; i < nbCameras; i++)
    {
        listeCameras->addItem(parametresCameras.at(i).nom);
    }

    if(nbCameras > 0)
    {
        /* Par défaut la caméra n°1 */
        listeCameras->setCurrentIndex(0);
        for(int i = 0; i < 2; i++)
        {
            if(choixResolution[i] == parametresCameras.at(0).resolution)
                listeResolution->setCurrentIndex(i);
        }
        for(int i = 0; i < 9; i++)
        {
            if(choixRate[i] == parametresCameras.at(0).rate)
                listeRate->setCurrentIndex(i);
        }
        leDuree->setText(QString::number(parametresCameras.at(0).duree/1000));
        lePeriode->setText(QString::number(parametresCameras.at(0).periode));
        journaliser(QString::fromUtf8("Lecture des paramètres : ok"));
    }
}
void IHM::majCamera ( int  index) [slot]

Séléction des paramètres en fonction de la caméra choisi et de ses paramètres

Références leDuree, lePeriode, listeCameras, listeRate, listeResolution, parametresCameras, urlvideo, et webView.

Référencé par IHM().

{
    Q_UNUSED(index)
    int choixResolution[2] = { 32, 8 };
    int choixRate[9] = { 0, 1, 3, 6, 11, 12, 13, 14, 15 };

    for(int i = 0; i < 2; i++)
    {
        if(choixResolution[i] == parametresCameras.at(listeCameras->currentIndex()).resolution)
            listeResolution->setCurrentIndex(i);
    }
    for(int i = 0; i < 9; i++)
    {
        if(choixRate[i] == parametresCameras.at(listeCameras->currentIndex()).rate)
            listeRate->setCurrentIndex(i);
    }
    leDuree->setText(QString::number(parametresCameras.at(listeCameras->currentIndex()).duree/1000));
    lePeriode->setText(QString::number(parametresCameras.at(listeCameras->currentIndex()).periode));

    QString urlvideo = "http://" + parametresCameras.at(listeCameras->currentIndex()).adresse + ":" + QString::number(parametresCameras.at(listeCameras->currentIndex()).port) + "/" + parametresCameras.at(listeCameras->currentIndex()).script;
    QUrl URLVIDEO = urlvideo;
    URLVIDEO.setUserName(parametresCameras.at(listeCameras->currentIndex()).user);
    URLVIDEO.setPassword(parametresCameras.at(listeCameras->currentIndex()).pwd);
    webView->load(URLVIDEO);
}
void IHM::majDuree ( ) [slot]

Références cameras, leDuree, listeCameras, et parametresCameras.

Référencé par IHM().

{
    parametresCameras[listeCameras->currentIndex()].duree = leDuree->text().toInt() * 1000;
    if((parametresCameras.at(listeCameras->currentIndex()).duree/1000) >= (parametresCameras.at(listeCameras->currentIndex()).periode))
    {
        QMessageBox::critical(0, QString::fromUtf8("Wismas"), QString::fromUtf8("Attention ! La durée doit être inférieure à la période !!!"));
    }
    else

    cameras.at(listeCameras->currentIndex())->setDuree(parametresCameras.at(listeCameras->currentIndex()).duree);
}
void IHM::majPeriode ( ) [slot]

Références cameras, lePeriode, listeCameras, et parametresCameras.

Référencé par IHM().

{
    parametresCameras[listeCameras->currentIndex()].periode = lePeriode->text().toInt();
    if((parametresCameras.at(listeCameras->currentIndex()).periode) <= (parametresCameras.at(listeCameras->currentIndex()).duree/1000))
    {
        QMessageBox::critical(0, QString::fromUtf8("Wismas"), QString::fromUtf8("Attention ! La période doit être supérieure à la durée !!!"));
    }
    else

    cameras.at(listeCameras->currentIndex())->setPeriode(parametresCameras.at(listeCameras->currentIndex()).periode);
}
void IHM::majRate ( int  index) [slot]

Références cameras, listeCameras, listeRate, et parametresCameras.

Référencé par IHM().

{
    Q_UNUSED(index)
    int choixRate[9] = { 0, 1, 3, 6, 11, 12, 13, 14, 15 };

    parametresCameras[listeCameras->currentIndex()].rate = choixRate[listeRate->currentIndex()];
    cameras.at(listeCameras->currentIndex())->setRate(parametresCameras.at(listeCameras->currentIndex()).rate);
}
void IHM::majResolution ( int  index) [slot]

Références ParametresCamera::adresse, cameras, listeCameras, listeResolution, manager, parametresCameras, ParametresCamera::port, ParametresCamera::pwd, ParametresCamera::resolution, et ParametresCamera::user.

Référencé par IHM().

{
    Q_UNUSED(index)
    int choixResolution[2] = { 32, 8 };

    parametresCameras[listeCameras->currentIndex()].resolution = choixResolution[listeResolution->currentIndex()];
    cameras[listeCameras->currentIndex()]->setResolution(parametresCameras.at(listeCameras->currentIndex()).resolution);
    ParametresCamera parametresCamera = parametresCameras.at(listeCameras->currentIndex());
    QString URL = "http://" + parametresCamera.adresse + ":" + QString::number(parametresCamera.port) + "/camera_control.cgi?param=0&value=" + parametresCamera.resolution + "&user=" + parametresCamera.user + "&pwd=" + parametresCamera.pwd;
    manager->get(QNetworkRequest(QUrl(URL)));
}
void IHM::origine ( ) [slot]

Références ParametresCamera::adresse, listeCameras, manager, parametresCameras, ParametresCamera::port, ParametresCamera::pwd, et ParametresCamera::user.

Référencé par IHM().

{
    ParametresCamera parametresCamera = parametresCameras.at(listeCameras->currentIndex());
    QString URL = "http://" + parametresCamera.adresse + ":" + QString::number(parametresCamera.port) + "/decoder_control.cgi?command=31&onestep=0" + "&user=" + parametresCamera.user + "&pwd=" + parametresCamera.pwd;
    manager->get(QNetworkRequest(QUrl(URL)));
}
void IHM::replyFinished ( QNetworkReply *  reply) [slot]

Références journal.

Référencé par IHM().

{
    //reply->read();
    QByteArray datas = reply->readAll();
    #ifdef DEBUG_IHM
    qDebug() << QString::fromUtf8("<IHM::replyFinished()> reply : ") << datas;
    #endif
    QString infos(datas);
    journal->append(infos);
}
void IHM::right ( ) [slot]

commande de déplacement des caméras

Références ParametresCamera::adresse, listeCameras, manager, parametresCameras, ParametresCamera::port, ParametresCamera::pwd, et ParametresCamera::user.

Référencé par IHM().

{
    ParametresCamera parametresCamera = parametresCameras.at(listeCameras->currentIndex());
    QString URL = "http://" + parametresCamera.adresse + ":" + QString::number(parametresCamera.port) + "/decoder_control.cgi?command=6&onestep=2" + "&user=" + parametresCamera.user + "&pwd=" + parametresCamera.pwd;
    manager->get(QNetworkRequest(QUrl(URL)));
}
void IHM::terminer ( QString  nomCamera) [slot]

Référencé par lireParametres().

{
    Q_UNUSED(nomCamera)
    qDebug() << Q_FUNC_INFO << nomCamera;
}
void IHM::up ( ) [slot]

Références ParametresCamera::adresse, listeCameras, manager, parametresCameras, ParametresCamera::port, ParametresCamera::pwd, et ParametresCamera::user.

Référencé par IHM().

{
    ParametresCamera parametresCamera = parametresCameras.at(listeCameras->currentIndex());
    QString URL = "http://" + parametresCamera.adresse + ":" + QString::number(parametresCamera.port) + "/decoder_control.cgi?command=0&onestep=2" + "&user=" + parametresCamera.user + "&pwd=" + parametresCamera.pwd;
    manager->get(QNetworkRequest(QUrl(URL)));
}

Documentation des données membres

QPushButton* IHM::bArreter [private]

Référencé par arreter(), demarrer(), et IHM().

QPushButton* IHM::bDemarrer [private]

Référencé par arreter(), demarrer(), et IHM().

QPushButton* IHM::bDown [private]

Référencé par IHM().

QPushButton* IHM::bLeft [private]

Référencé par IHM().

QPushButton* IHM::bOrigine [private]

Référencé par IHM().

QPushButton* IHM::bRight [private]

Référencé par IHM().

QPushButton* IHM::bUp [private]

Référencé par IHM().

QVector<Camera*> IHM::cameras [private]
QTextEdit* IHM::journal [private]

Référencé par IHM(), journaliser(), et replyFinished().

QLabel* IHM::labelCamera [private]

Référencé par IHM().

QLabel* IHM::labelDuree [private]

Référencé par IHM().

QLabel* IHM::labelPeriode [private]

Référencé par IHM().

QLabel* IHM::labelRate [private]

Référencé par IHM().

QLabel* IHM::labelResolution [private]

Référencé par IHM().

QLabel* IHM::labelRotation [private]

Référencé par IHM().

QLineEdit* IHM::leDuree [private]

Référencé par IHM(), lireParametres(), majCamera(), et majDuree().

QLineEdit* IHM::lePeriode [private]
QComboBox* IHM::listeCameras [private]
QComboBox* IHM::listeRate [private]

Référencé par IHM(), lireParametres(), majCamera(), et majRate().

QComboBox* IHM::listeResolution [private]
QComboBox* IHM::listeRotation [private]

Référencé par IHM().

QNetworkAccessManager* IHM::manager [private]

Référencé par down(), IHM(), left(), majResolution(), origine(), right(), et up().

int IHM::nbCameras [private]

Référencé par ecrireParametres(), IHM(), et lireParametres().

QProgressBar* IHM::progressBar1 [private]

Référencé par demarrer(), IHM(), et lireParametres().

QProgressBar* IHM::progressBar2 [private]

Référencé par demarrer(), IHM(), et lireParametres().

QProgressBar* IHM::progressBar3 [private]

Référencé par demarrer(), IHM(), et lireParametres().

QNetworkReply* IHM::reply [private]
QTimer* IHM::timer1 [private]
QTimer* IHM::timer2 [private]
QTimer* IHM::timer3 [private]
QString IHM::urlvideo [private]

Référencé par majCamera().

QWebView* IHM::webView [private]

Référencé par IHM(), et majCamera().


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