![]() |
Chrono-Cross
1.1
BTS SN-IR La Salle Avignon 2018
|
La fenêtre principale de l'application. Plus de détails...
#include <ihmresultats.h>
Fonctions membres publiques | |
IHMResultats (QWidget *parent=0) | |
Constructeur de la calsse IHMResultats. | |
~IHMResultats () | |
Destructeur de la classe IHMResultats. | |
Connecteurs privés | |
void | quitter () |
Ferme l'application principale. | |
void | rafraichir () |
Rafraichit l'IHM. | |
void | afficherResultats (QString idCourse) |
Affiche les résultats de la course. | |
void | ajouterResultat (int ligne, QStringList unResultat) |
Ajoute les résultats d'une course dans un tableau. | |
void | afficherManifestation () |
Affiche les paramètres de la manifestation. | |
void | afficherCourse () |
Affiche les paramètres de la course. | |
Fonctions membres privées | |
void | chargerListeManifestations () |
Charge la liste des manifestations. | |
void | chargerListeCourses (QString idManifestation) |
Charge la liste des courses pour une manifestation. | |
void | configurerTableResultats () |
Configure le tableau de résultats. | |
void | effacerResultats () |
Supprime les résultats d'une course dans un tableau. | |
void | recupererCourse () |
Recupère les données de la course. | |
Attributs privés | |
Ui::IHMResultats * | ui |
relation vers la classe IHM | |
BaseDeDonnees * | bd |
association vers la classe BaseDeDonnees | |
QTimer * | timerRafraichissement |
pour le rafraichissement de l'IHM | |
QVector< QStringList > | listeManifestationsResultats |
la liste des manifestations créée dans la base de donnees dans l'onglet résultats | |
QVector< QStringList > | listeCoursesResultats |
la liste des courses pour une manifestation dans l'onglet résultats | |
QVector< QStringList > | listeCourses |
la liste des courses pour une manifestation | |
QStringList | manifestation |
la manifestation pour l'affichage des résultats | |
QStringList | course |
la course pour l'affichage des résultats |
IHMResultats::IHMResultats | ( | QWidget * | parent = 0 | ) | [explicit] |
parent |
Références afficherManifestation(), bd, configurerTableResultats(), BaseDeDonnees::connecter(), BaseDeDonnees::getInstance(), BaseDeDonnees::getNomBaseDonnees(), rafraichir(), timerRafraichissement, et ui.
: QMainWindow(parent), ui(new Ui::IHMResultats) { ui->setupUi(this); // Connexion à la base de données bd = BaseDeDonnees::getInstance(); bool connexion = bd->connecter(); if(!connexion) { ui->statusBar->showMessage(QString::fromUtf8("Impossible de se connecter à la base de données %1").arg(bd->getNomBaseDonnees())); } timerRafraichissement = new QTimer(this); connect(timerRafraichissement, SIGNAL(timeout()), this, SLOT(rafraichir())); configurerTableResultats(); afficherManifestation(); showFullScreen(); timerRafraichissement->start(1000); }
Références bd, BaseDeDonnees::detruireInstance(), et ui.
{ bd->detruireInstance(); delete ui; }
IHMResultats::afficherCourse | ( | ) | [private, slot] |
{ }
IHMResultats::afficherManifestation | ( | ) | [private, slot] |
Références bd, manifestation, MANIFESTATION_DATE, MANIFESTATION_NOM, BaseDeDonnees::recuperer(), recupererCourse(), et ui.
Référencé par IHMResultats(), et rafraichir().
{ QString requete = "SELECT Manifestation.idManifestation, Manifestation.Nom, Manifestation.Date FROM Manifestation WHERE Manifestation.Date = date(now());"; manifestation.clear(); bool retour = bd->recuperer(requete, manifestation); //qDebug() << Q_FUNC_INFO << manifestation << retour; if(retour != false) { ui->labelDateHeure->setText(manifestation.at(MANIFESTATION_NOM) + " " + manifestation.at(MANIFESTATION_DATE)); recupererCourse(); } else ui->labelDateHeure->setText("Aucune manifestation !"); }
IHMResultats::afficherResultats | ( | QString | idCourse | ) | [private, slot] |
idCourse | QString l'identifiant de la course |
Références ajouterResultat(), bd, effacerResultats(), et BaseDeDonnees::recuperer().
Référencé par rafraichir().
{ // On commence par effacer le contenu précédent effacerResultats(); // Récupérer les résultats d'une course (Requête SQL) QVector<QStringList> resultats; QString requete = "SELECT Inscrit.NumeroDossard, Coureur.Nom, Coureur.Prenom, Classe.Nom AS NomClasse, Classe.Numero, Arrivee.Temps FROM Course, Inscrit, Coureur, Classe, Arrivee WHERE Course.IdCourse = Inscrit.idCourse AND Inscrit.idCoureur = Coureur.idCoureur AND Coureur.idClasse = Classe.idClasse AND Inscrit.idInscrit = Arrivee.idInscrit AND Course.IdCourse = '" + idCourse + "' ORDER BY Arrivee.Temps ASC;"; qDebug() << Q_FUNC_INFO << requete; bool retour = bd->recuperer(requete, resultats); if(retour != false) { QStringList unResultat; for(int ligne = 0; ligne < resultats.size(); ligne++) { unResultat = resultats.at(ligne); ajouterResultat(ligne, unResultat); } } }
IHMResultats::ajouterResultat | ( | int | ligne, |
QStringList | unResultat | ||
) | [private, slot] |
Références COLONNE_CLASSE, COLONNE_CLASSEMENT, COLONNE_NOM, COLONNE_NUMERODOSSARD, COLONNE_PRENOM, COLONNE_TEMPS, EMPLACEMENT_NOM, EMPLACEMENT_NOMCLASSE, EMPLACEMENT_NUMEROCLASSE, EMPLACEMENT_NUMERODOSSARD, EMPLACEMENT_PRENOM, EMPLACEMENT_TEMPS, et ui.
Référencé par afficherResultats().
{ QTableWidgetItem *elementClassement, *elementNumeroDossard, *elementNom, *elementPrenom, *elementClasse, *elementTemps; // Taille de la police en gras QFont font("", 20, QFont::Normal); font.setBold(true); //Colonne Classement ui->tableWidgetResultats->insertRow(ligne); elementClassement = new QTableWidgetItem(QString::number(ligne+1)); elementClassement->setBackgroundColor(QColor(255,255,255)); elementClassement->setForeground(Qt::black); elementClassement->setFont(font); elementClassement->setFlags(Qt::ItemIsEnabled); if(ligne < 1) { elementClassement->setBackgroundColor(QColor(255,236,139)); } else if(ligne < 2) { elementClassement->setBackgroundColor(QColor(220,220,220)); } else if(ligne < 3) { elementClassement->setBackgroundColor(QColor(222,184,135)); } ui->tableWidgetResultats->setItem(ligne, COLONNE_CLASSEMENT, elementClassement); // l : ligne (row) et c : colonne //Colonne Numéro de Dossard elementNumeroDossard = new QTableWidgetItem(unResultat.at(EMPLACEMENT_NUMERODOSSARD)); elementNumeroDossard->setBackgroundColor(QColor(255,255,255)); elementNumeroDossard->setForeground(Qt::black); elementNumeroDossard->setFont(font); elementNumeroDossard->setFlags(Qt::ItemIsEnabled); if(ligne < 1) { elementNumeroDossard->setBackgroundColor(QColor(255,236,139)); } else if(ligne < 2) { elementNumeroDossard->setBackgroundColor(QColor(220,220,220)); } else if(ligne < 3) { elementNumeroDossard->setBackgroundColor(QColor(222,184,135)); } ui->tableWidgetResultats->setItem(ligne, COLONNE_NUMERODOSSARD, elementNumeroDossard); // l : ligne (row) et c : colonne //Colonne Nom elementNom = new QTableWidgetItem(unResultat.at(EMPLACEMENT_NOM)); elementNom->setBackgroundColor(QColor(255,255,255)); elementNom->setForeground(Qt::black); elementNom->setFont(font); elementNom->setFlags(Qt::ItemIsEnabled); if(ligne < 1) { elementNom->setBackgroundColor(QColor(255,236,139)); } else if(ligne < 2) { elementNom->setBackgroundColor(QColor(220,220,220)); } else if(ligne < 3) { elementNom->setBackgroundColor(QColor(222,184,135)); } ui->tableWidgetResultats->setItem(ligne, COLONNE_NOM, elementNom); // l : ligne (row) et c : colonne //Colonne Prénom elementPrenom = new QTableWidgetItem(unResultat.at(EMPLACEMENT_PRENOM)); elementPrenom->setBackgroundColor(QColor(255,255,255)); elementPrenom->setForeground(Qt::black); elementPrenom->setFont(font); elementPrenom->setFlags(Qt::ItemIsEnabled); if(ligne < 1) { elementPrenom->setBackgroundColor(QColor(255,236,139)); } else if(ligne < 2) { elementPrenom->setBackgroundColor(QColor(220,220,220)); } else if(ligne < 3) { elementPrenom->setBackgroundColor(QColor(222,184,135)); } ui->tableWidgetResultats->setItem(ligne, COLONNE_PRENOM, elementPrenom); // l : ligne (row) et c : colonne //Colonne Classe elementClasse = new QTableWidgetItem(unResultat.at(EMPLACEMENT_NOMCLASSE) + " " + unResultat.at(EMPLACEMENT_NUMEROCLASSE)); elementClasse->setBackgroundColor(QColor(255,255,255)); elementClasse->setForeground(Qt::black); elementClasse->setFont(font); elementClasse->setFlags(Qt::ItemIsEnabled); elementClasse->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter); if(ligne < 1) { elementClasse->setBackgroundColor(QColor(255,236,139)); } else if(ligne < 2) { elementClasse->setBackgroundColor(QColor(220,220,220)); } else if(ligne < 3) { elementClasse->setBackgroundColor(QColor(222,184,135)); } ui->tableWidgetResultats->setItem(ligne, COLONNE_CLASSE, elementClasse); // l : ligne (row) et c : colonne //Colonne Temps elementTemps = new QTableWidgetItem(unResultat.at(EMPLACEMENT_TEMPS)); elementTemps->setBackgroundColor(QColor(255,255,255)); elementTemps->setForeground(Qt::black); elementTemps->setFont(font); elementTemps->setFlags(Qt::ItemIsEnabled); elementTemps->setTextAlignment(Qt::AlignHCenter|Qt::AlignVCenter); if(ligne < 1) { elementTemps->setBackgroundColor(QColor(255,236,139)); } else if(ligne < 2) { elementTemps->setBackgroundColor(QColor(220,220,220)); } else if(ligne < 3) { elementTemps->setBackgroundColor(QColor(222,184,135)); } ui->tableWidgetResultats->setItem(ligne, COLONNE_TEMPS, elementTemps); // l : ligne (row) et c : colonne }
IHMResultats::chargerListeCourses | ( | QString | idManifestation | ) | [private] |
idManifestation | QString l'identifiant de la manisfestation |
IHMResultats::chargerListeManifestations | ( | ) | [private] |
IHMResultats::configurerTableResultats | ( | ) | [private] |
Références ui.
Référencé par IHMResultats().
{ QStringList nomColonnes; // nom des colonnes nomColonnes << QString::fromUtf8("Classement") << QString::fromUtf8("Numéro de dossard") << QString::fromUtf8("Nom") << QString::fromUtf8("Prénom") << QString::fromUtf8("Classe") << QString::fromUtf8("Temps"); // ... // On fixe le nombre de colonnes ui->tableWidgetResultats->setColumnCount(nomColonnes.size()); // On applique les noms des colonnes ui->tableWidgetResultats->setHorizontalHeaderLabels(nomColonnes); // on cache les numéros de ligne ui->tableWidgetResultats->verticalHeader()->setHidden(true); QHeaderView * headerView = ui->tableWidgetResultats->horizontalHeader(); // on redimensionne automatiquement la colonne pour occuper l'espace disponible headerView->setResizeMode(QHeaderView::Stretch); }
IHMResultats::effacerResultats | ( | ) | [private] |
Références ui.
Référencé par afficherResultats().
IHMResultats::quitter | ( | ) | [private, slot] |
Quitte l'application.
{
// on ferme la fenêtre
close();
}
IHMResultats::rafraichir | ( | ) | [private, slot] |
Références afficherManifestation(), afficherResultats(), course, et COURSE_ID_COURSE.
Référencé par IHMResultats().
{ //qDebug() << Q_FUNC_INFO; afficherManifestation(); // Récupérer et affiche les résultats d'une course (Requête SQL) if(!course.isEmpty()) { QString idCourse = course.at(COURSE_ID_COURSE); afficherResultats(idCourse); } }
IHMResultats::recupererCourse | ( | ) | [private] |
Références bd, course, COURSE_DISTANCE, COURSE_HEUREDEPART, COURSE_NOM, manifestation, MANIFESTATION_ID, BaseDeDonnees::recuperer(), et ui.
Référencé par afficherManifestation().
{ // Récupérer la course la plus proche QString requete = "SELECT Course.* FROM Manifestation, Course WHERE Manifestation.idManifestation = " + manifestation.at(MANIFESTATION_ID) + " AND Manifestation.idManifestation = Course.idManifestation AND Manifestation.Date = date(now()) ORDER BY ABS(time(now())-Course.HeureDepart) ASC LIMIT 1;"; course.clear(); bool retour = bd->recuperer(requete, course); qDebug() << Q_FUNC_INFO << course << retour; if(retour != false) { QTime heureDepart = QTime::fromString(course.at(COURSE_HEUREDEPART), "hh:mm:ss"); ui->label_NomCourseResultats->setText(QString::fromUtf8("Course : ") + course.at(COURSE_NOM)); ui->label_HeureDepartCourseResultats->setText(QString::fromUtf8("Heure de départ : ") + heureDepart.toString("hh'h'mm")); ui->label_LongueurCourseResultats->setText(QString::fromUtf8("Longueur : ") + course.at(COURSE_DISTANCE) + " m"); } else { ui->label_NomCourseResultats->setText("Course : "); ui->label_HeureDepartCourseResultats->setText(QString::fromUtf8("Heure de départ : ")); ui->label_LongueurCourseResultats->setText("Longueur : "); } }
BaseDeDonnees* IHMResultats::bd [private] |
Référencé par afficherManifestation(), afficherResultats(), IHMResultats(), recupererCourse(), et ~IHMResultats().
QStringList IHMResultats::course [private] |
Référencé par rafraichir(), et recupererCourse().
QVector<QStringList> IHMResultats::listeCourses [private] |
QVector<QStringList> IHMResultats::listeCoursesResultats [private] |
QVector<QStringList> IHMResultats::listeManifestationsResultats [private] |
QStringList IHMResultats::manifestation [private] |
Référencé par afficherManifestation(), et recupererCourse().
QTimer* IHMResultats::timerRafraichissement [private] |
Référencé par IHMResultats().
Ui::IHMResultats* IHMResultats::ui [private] |