Afficheur-AREA  1.1
BTS SNIR LaSalle Avignon 2021
Référence de la classe IHMAfficheur

Déclaration de la classe IHMAfficheur. Plus de détails...

#include <IHMAfficheur.h>

Graphe de collaboration de IHMAfficheur:
Collaboration graph

Connecteurs publics

void actualiserHorodatage ()
 
void actualiserScore (int idPartie, int scoreA, int scoreB, int nbManchesJoueurA, int nbManchesJoueurB)
 Méthode slot qui actualise les scores d'une partie. Plus de détails...
 
void actualiserTimerDroite ()
 
void actualiserTimerGauche ()
 
void afficherEtatConnecte ()
 Méthode slot de débug qui notifie la connexion d'un module mobile. Plus de détails...
 
void afficherEtatDeconnecte ()
 Méthode slot de débug qui notifie la déconnexion d'un module mobile. Plus de détails...
 
void afficherNET (int idPartie)
 Méthode slot qui affiche une faute lors de la détection d'un net. Plus de détails...
 
void cacherNETPartieDroite ()
 
void cacherNETPartieGauche ()
 
void changerEtatPartie (int idPartie, QString EtatPartie)
 Méthode slot qui démarre ou met fin a une partie. Plus de détails...
 
void commencerRencontre (QString club1, QString club2)
 Méthode slot qui commence une rencontre entre deux clubs. Plus de détails...
 

Fonctions membres publiques

 IHMAfficheur (QWidget *parent=0)
 Constructeur de la classe IHMAfficheur. Plus de détails...
 
void initialiserFenetreAcceuil ()
 
 ~IHMAfficheur ()
 Déstructeur de la classe IHMAfficheur. Plus de détails...
 

Fonctions membres privées

void afficherManchesDroite (int nbManchesJoueurB, int nbManchesJoueurA, QString nomJoueur3)
 Méthode qui actualise les manches remportées par les joueurs de la partie affichée a droite. Plus de détails...
 
void afficherManchesGauche (int nbManchesJoueurB, int nbManchesJoueurA, QString nomJoueur3)
 Méthode qui actualise les manches remportées par les joueurs de la partie affichée a gauche. Plus de détails...
 
void afficherRencontre ()
 Méthode qui affiche les deux clubs s'affrontant dans la rencontre. Plus de détails...
 
void demarrerPartie (int i, QVector< Joueur > joueurs, QVector< Partie > parties)
 Méthode qui démarre une partie sur un affichage disponible. Plus de détails...
 
void initialiserCommunication ()
 Méthode qui initialise la communication BLuetooth. Plus de détails...
 
void initialiserCouleurs ()
 
void initialiserIHM ()
 Méthode qui initialise de L'interface Homme-Machine. Plus de détails...
 
void terminerPartie (int i, QVector< Joueur > joueurs, QVector< Partie > parties)
 Méthode qui met fin a une partie affichée a l'écran. Plus de détails...
 

Attributs privés

QElapsedTimer * chronometrePartieDroite
 
QElapsedTimer * chronometrePartieGauche
 
Communicationcommunication
 Pointeur pour la relation avec la classe Communication. Plus de détails...
 
QVector< int > disponibiliteAffichages
 Vecteur contenant la disponibilité des affichages (partie gauche et partie droite de l'ecran) Plus de détails...
 
QWidget * fenetreAcceuil
 
QTime * horodatage
 
QLabel * labelHorodatage
 
Rencontrerencontre
 Pointeur pour la relation avec la classe Rencontre. Plus de détails...
 
QTime * tempsPartieDroite
 
QTime * tempsPartieGauche
 
QTimer * timerHorodatage
 
QTimer * timerPartieDroite
 
QTimer * timerPartieGauche
 
Ui::IHMAfficheur * ui
 Association vers l'interface utilisateur réalisé avec Qt Designer. Plus de détails...
 

Description détaillée

Déclaration de la classe IHMAfficheur.

Cette classe assure l'affichage de l'écran AREA

Définition à la ligne 46 du fichier IHMAfficheur.h.

Documentation des constructeurs et destructeur

◆ IHMAfficheur()

IHMAfficheur::IHMAfficheur ( QWidget *  parent = 0)
explicit

Constructeur de la classe IHMAfficheur.

Paramètres
parentL'adresse de l'objet parent, si nullptr IHMAfficheur sera la fenêtre principale

Définition à la ligne 23 du fichier IHMAfficheur.cpp.

Références actualiserScore(), actualiserTimerDroite(), actualiserTimerGauche(), afficherNET(), changerEtatPartie(), chronometrePartieDroite, chronometrePartieGauche, commencerRencontre(), Rencontre::creerPartieDouble(), Rencontre::creerPartieSimple(), disponibiliteAffichages, initialiserCommunication(), initialiserFenetreAcceuil(), initialiserIHM(), rencontre, timerPartieDroite, et timerPartieGauche.

23  : QMainWindow(parent), ui(new Ui::IHMAfficheur), rencontre(nullptr), communication(nullptr), tempsPartieGauche(new QTime(0,0)), tempsPartieDroite(new QTime(0,0)), timerPartieGauche(new QTimer()), timerPartieDroite(new QTimer()), chronometrePartieGauche(new QElapsedTimer()), chronometrePartieDroite(new QElapsedTimer())
24 {
25  qDebug() << Q_FUNC_INFO;
26 
28  chronometrePartieGauche->start();
29  chronometrePartieDroite->start();
30 
32 
34 
35 
36 
37  #ifndef TEST_SANS_BLUETOOTH
39  #endif
40 
41  #ifdef TEST_SANS_BLUETOOTH
42  commencerRencontre("PPC Avignon", "PPC Sorgues");
43  connect(timerPartieGauche,SIGNAL(timeout()),this, SLOT(actualiserTimerGauche()));
44  connect(timerPartieDroite,SIGNAL(timeout()),this, SLOT(actualiserTimerDroite()));
45 
46  QStringList infosTrame = {"MOBILE_AREA", "1","2","GUIDARELLI","Nicolas","SAULNIER","Christian"};
47  rencontre->creerPartieSimple(infosTrame);
48  changerEtatPartie(2,"DEMARREE");
49  actualiserScore(2,9,6,1,3);
50  changerEtatPartie(2,"TERMINEE");
51 
52  QStringList infosTrame2 = {"MOBILE_AREA", "1","3","GUIDARELLI","Nicolas","SAULNIER","Christian","BEAUMONT", "Jérôme", "RUIZ", "Jean michel"};
53  rencontre->creerPartieDouble(infosTrame2);
54  changerEtatPartie(3,"DEMARREE");
55  actualiserScore(3,9,6,1,3);
56  changerEtatPartie(3,"TERMINEE");
57 
58  QStringList infosTrame3 = {"MOBILE_AREA", "1","4","BEAUMONT", "Jérôme", "RUIZ", "Jean michel"};
59  rencontre->creerPartieSimple(infosTrame3);
60  changerEtatPartie(4,"DEMARREE");
61  actualiserScore(4,9,6,1,3);
62  changerEtatPartie(4,"TERMINEE");
63 
64  QStringList infosTrame4 = {"MOBILE_AREA", "1","5","KRIER","Eric","FILAFERRO ","Thomas"};
65  rencontre->creerPartieSimple(infosTrame4);
66  changerEtatPartie(5,"DEMARREE");
67  afficherNET(5);
68  actualiserScore(5,9,6,1,2);
69  //changerEtatPartie(5,"TERMINEE");
70  #endif
71 }
QTime * tempsPartieGauche
Definition: IHMAfficheur.h:55
QTime * tempsPartieDroite
Definition: IHMAfficheur.h:56
void commencerRencontre(QString club1, QString club2)
Méthode slot qui commence une rencontre entre deux clubs.
void creerPartieSimple(QStringList infoTrame)
Méthode slot qui créé une partie simple.
Definition: Rencontre.cpp:99
void initialiserIHM()
Méthode qui initialise de L&#39;interface Homme-Machine.
QElapsedTimer * chronometrePartieDroite
Definition: IHMAfficheur.h:60
void initialiserFenetreAcceuil()
QVector< int > disponibiliteAffichages
Vecteur contenant la disponibilité des affichages (partie gauche et partie droite de l&#39;ecran) ...
Definition: IHMAfficheur.h:54
Communication * communication
Pointeur pour la relation avec la classe Communication.
Definition: IHMAfficheur.h:53
void creerPartieDouble(QStringList infoTrame)
Méthode slot qui créé une partie double.
Definition: Rencontre.cpp:115
void actualiserTimerDroite()
void actualiserTimerGauche()
void changerEtatPartie(int idPartie, QString EtatPartie)
Méthode slot qui démarre ou met fin a une partie.
void actualiserScore(int idPartie, int scoreA, int scoreB, int nbManchesJoueurA, int nbManchesJoueurB)
Méthode slot qui actualise les scores d&#39;une partie.
Ui::IHMAfficheur * ui
Association vers l&#39;interface utilisateur réalisé avec Qt Designer.
Definition: IHMAfficheur.h:51
Rencontre * rencontre
Pointeur pour la relation avec la classe Rencontre.
Definition: IHMAfficheur.h:52
QTimer * timerPartieDroite
Definition: IHMAfficheur.h:58
void initialiserCommunication()
Méthode qui initialise la communication BLuetooth.
void afficherNET(int idPartie)
Méthode slot qui affiche une faute lors de la détection d&#39;un net.
QTimer * timerPartieGauche
Definition: IHMAfficheur.h:57
QElapsedTimer * chronometrePartieGauche
Definition: IHMAfficheur.h:59

◆ ~IHMAfficheur()

IHMAfficheur::~IHMAfficheur ( )

Déstructeur de la classe IHMAfficheur.

Destructeur de la classe IHMAfficheur.

Libère les ressources de l'application

Définition à la ligne 79 du fichier IHMAfficheur.cpp.

Références rencontre, et ui.

80 {
81  if(rencontre != nullptr)
82  delete rencontre;
83  delete ui;
84  qDebug() << Q_FUNC_INFO;
85 }
Ui::IHMAfficheur * ui
Association vers l&#39;interface utilisateur réalisé avec Qt Designer.
Definition: IHMAfficheur.h:51
Rencontre * rencontre
Pointeur pour la relation avec la classe Rencontre.
Definition: IHMAfficheur.h:52

Documentation des fonctions membres

◆ actualiserHorodatage

void IHMAfficheur::actualiserHorodatage ( )
slot

Définition à la ligne 153 du fichier IHMAfficheur.cpp.

Références labelHorodatage.

Référencé par initialiserFenetreAcceuil().

154 {
155  QDateTime *horodatageActuel;
156  labelHorodatage->setText(horodatageActuel->currentDateTime().toString("dddd d MMMM hh:mm:ss"));
157 }
QLabel * labelHorodatage
Definition: IHMAfficheur.h:64

◆ actualiserScore

void IHMAfficheur::actualiserScore ( int  idPartie,
int  scoreA,
int  scoreB,
int  nbManchesJoueurA,
int  nbManchesJoueurB 
)
slot

Méthode slot qui actualise les scores d'une partie.

Définition à la ligne 265 du fichier IHMAfficheur.cpp.

Références afficherManchesDroite(), afficherManchesGauche(), Rencontre::getParties(), rencontre, et ui.

Référencé par commencerRencontre(), et IHMAfficheur().

266 {
267  qDebug() << Q_FUNC_INFO << "scores recus : " << scoreA << scoreB;
268  QVector<Partie> parties = rencontre->getParties();
269  for(int i = 0; i < parties.size(); i++)
270  {
271  if(idPartie == parties[i].getIdPartie())
272  {
273  qDebug() << Q_FUNC_INFO << "affichage partie" << parties[i].getAffichagePartie();
274  QVector<Joueur> joueurs = parties[i].getJoueurs();
275  switch(parties[i].getAffichagePartie())
276  {
277  case 1:
278  ui->LCD_PartieGauche_Joueur1->display(QString::number(scoreA));
279  ui->LCD_PartieGauche_Joueur2->display(QString::number(scoreB));
280  afficherManchesGauche(nbManchesJoueurB, nbManchesJoueurA, joueurs[2].getNom());
281  break;
282  case 2:
283  ui->LCD_PartieDroite_Joueur1->display(QString::number(scoreA));
284  ui->LCD_PartieDroite_Joueur2->display(QString::number(scoreB));
285  afficherManchesDroite(nbManchesJoueurB, nbManchesJoueurA, joueurs[2].getNom());
286  break;
287  }
288  }
289  }
290 }
void afficherManchesDroite(int nbManchesJoueurB, int nbManchesJoueurA, QString nomJoueur3)
Méthode qui actualise les manches remportées par les joueurs de la partie affichée a droite...
QVector< Partie > getParties()
Méthode qui retroune le vecteur de Parties.
Definition: Rencontre.cpp:77
Ui::IHMAfficheur * ui
Association vers l&#39;interface utilisateur réalisé avec Qt Designer.
Definition: IHMAfficheur.h:51
Rencontre * rencontre
Pointeur pour la relation avec la classe Rencontre.
Definition: IHMAfficheur.h:52
void afficherManchesGauche(int nbManchesJoueurB, int nbManchesJoueurA, QString nomJoueur3)
Méthode qui actualise les manches remportées par les joueurs de la partie affichée a gauche...

◆ actualiserTimerDroite

void IHMAfficheur::actualiserTimerDroite ( )
slot

Définition à la ligne 205 du fichier IHMAfficheur.cpp.

Références chronometrePartieDroite, tempsPartieDroite, et ui.

Référencé par commencerRencontre(), et IHMAfficheur().

206 {
208  chronometrePartieDroite->restart();
209  ui->labelTempsPartieDroite->setText(tempsPartieDroite->toString("mm:ss"));
210 }
QTime * tempsPartieDroite
Definition: IHMAfficheur.h:56
QElapsedTimer * chronometrePartieDroite
Definition: IHMAfficheur.h:60
Ui::IHMAfficheur * ui
Association vers l&#39;interface utilisateur réalisé avec Qt Designer.
Definition: IHMAfficheur.h:51

◆ actualiserTimerGauche

void IHMAfficheur::actualiserTimerGauche ( )
slot

Définition à la ligne 198 du fichier IHMAfficheur.cpp.

Références chronometrePartieGauche, tempsPartieGauche, et ui.

Référencé par commencerRencontre(), et IHMAfficheur().

199 {
201  chronometrePartieGauche->restart();
202  ui->labelTempsPartieGauche->setText(tempsPartieGauche->toString("mm:ss"));
203 }
QTime * tempsPartieGauche
Definition: IHMAfficheur.h:55
Ui::IHMAfficheur * ui
Association vers l&#39;interface utilisateur réalisé avec Qt Designer.
Definition: IHMAfficheur.h:51
QElapsedTimer * chronometrePartieGauche
Definition: IHMAfficheur.h:59

◆ afficherEtatConnecte

void IHMAfficheur::afficherEtatConnecte ( )
slot

Méthode slot de débug qui notifie la connexion d'un module mobile.

Débug de connexion d'un module area.

Définition à la ligne 395 du fichier IHMAfficheur.cpp.

Référencé par initialiserCommunication().

396 {
397  qDebug() << Q_FUNC_INFO;
398 }

◆ afficherEtatDeconnecte

void IHMAfficheur::afficherEtatDeconnecte ( )
slot

Méthode slot de débug qui notifie la déconnexion d'un module mobile.

Débug de déconnexion d'un module area.

Définition à la ligne 405 du fichier IHMAfficheur.cpp.

Référencé par initialiserCommunication().

406 {
407  qDebug() << Q_FUNC_INFO;
408 }

◆ afficherManchesDroite()

void IHMAfficheur::afficherManchesDroite ( int  nbManchesJoueurB,
int  nbManchesJoueurA,
QString  nomJoueur3 
)
private

Méthode qui actualise les manches remportées par les joueurs de la partie affichée a droite.

Affiche le nouveau score pour la partie droite.

Paramètres
nbManchesJoueurANombre de manches remportées par le joueur de gauche
nbManchesJoueurBNombre de manches remportées par le joueur de droite

Définition à la ligne 348 du fichier IHMAfficheur.cpp.

Références ui.

Référencé par actualiserScore().

349 {
350  switch(nbManchesJoueurA)
351  {
352  case 0:
353  ui->Manches_Joueur1_PartieDroite->setText("○○○");
354  break;
355  case 1:
356  ui->Manches_Joueur1_PartieDroite->setText("●○○");
357  break;
358  case 2:
359  ui->Manches_Joueur1_PartieDroite->setText("●●○");
360  break;
361  case 3:
362  ui->Manches_Joueur1_PartieDroite->setText("●●●");
363  if(nomJoueur3 == " ")
364  ui->ListeScores->setText(ui->ListeScores->text() + "1-0" + "\n\n");
365  else
366  ui->ListeScores->setText(ui->ListeScores->text() + "1-0" + "\n\n\n");
367  break;
368  }
369  switch(nbManchesJoueurB)
370  {
371  case 0:
372  ui->Manches_Joueur2_PartieDroite->setText("○○○");
373  break;
374  case 1:
375  ui->Manches_Joueur2_PartieDroite->setText("○○●");
376  break;
377  case 2:
378  ui->Manches_Joueur2_PartieDroite->setText("○●●");
379  break;
380  case 3:
381  ui->Manches_Joueur2_PartieDroite->setText("●●●");
382  if(nomJoueur3 == " ")
383  ui->ListeScores->setText(ui->ListeScores->text() + "0-1" + "\n\n");
384  else
385  ui->ListeScores->setText(ui->ListeScores->text() + "0-1" + "\n\n\n");
386  break;
387  }
388 }
Ui::IHMAfficheur * ui
Association vers l&#39;interface utilisateur réalisé avec Qt Designer.
Definition: IHMAfficheur.h:51

◆ afficherManchesGauche()

void IHMAfficheur::afficherManchesGauche ( int  nbManchesJoueurB,
int  nbManchesJoueurA,
QString  nomJoueur3 
)
private

Méthode qui actualise les manches remportées par les joueurs de la partie affichée a gauche.

Affiche le nouveau score pour la partie gauche.

Paramètres
nbManchesJoueurANombre de manches remportées par le joueur de gauche
nbManchesJoueurBNombre de manches remportées par le joueur de droite

Définition à la ligne 299 du fichier IHMAfficheur.cpp.

Références ui.

Référencé par actualiserScore().

300 {
301  switch(nbManchesJoueurA)
302  {
303  case 0:
304  ui->Manches_Joueur1_PartieGauche->setText("○○○");
305  break;
306  case 1:
307  ui->Manches_Joueur1_PartieGauche->setText("●○○");
308  break;
309  case 2:
310  ui->Manches_Joueur1_PartieGauche->setText("●●○");
311  break;
312  case 3:
313  ui->Manches_Joueur1_PartieGauche->setText("●●●");
314  if(nomJoueur3 == " ")
315  ui->ListeScores->setText(ui->ListeScores->text() + "1-0" + "\n\n");
316  else
317  ui->ListeScores->setText(ui->ListeScores->text() + "1-0" + "\n\n\n");
318  break;
319  }
320  switch(nbManchesJoueurB)
321  {
322  case 0:
323  ui->Manches_Joueur2_PartieGauche->setText("○○○");
324  break;
325  case 1:
326  ui->Manches_Joueur2_PartieGauche->setText("○○●");
327  break;
328  case 2:
329  ui->Manches_Joueur2_PartieGauche->setText("○●●");
330  break;
331  case 3:
332  ui->Manches_Joueur2_PartieGauche->setText("●●●");
333  if(nomJoueur3 == " ")
334  ui->ListeScores->setText(ui->ListeScores->text() + "0-1" + "\n\n");
335  else
336  ui->ListeScores->setText(ui->ListeScores->text() + "0-1" + "\n\n\n");
337  break;
338  }
339 }
Ui::IHMAfficheur * ui
Association vers l&#39;interface utilisateur réalisé avec Qt Designer.
Definition: IHMAfficheur.h:51

◆ afficherNET

void IHMAfficheur::afficherNET ( int  idPartie)
slot

Méthode slot qui affiche une faute lors de la détection d'un net.

Affiche une faute dans l'IHM lors de la détection d'un NET.

Paramètres
idPartieIdentifiant de la partie où la faute est détectée

Définition à la ligne 550 du fichier IHMAfficheur.cpp.

Références AFFICHAGE_DROITE, AFFICHAGE_GAUCHE, cacherNETPartieDroite(), cacherNETPartieGauche(), Rencontre::getParties(), rencontre, et ui.

Référencé par commencerRencontre(), et IHMAfficheur().

551 {
552  qDebug() << Q_FUNC_INFO;
553  QVector<Partie> parties = rencontre->getParties();
554  QTimer *timerNET;
555  timerNET = new QTimer();
556  timerNET->setSingleShot(true);
557 
558  for(int i = 0; i < parties.size(); i++)
559  {
560  if(idPartie == parties[i].getIdPartie())
561  {
562  if(parties[i].getAffichagePartie() == TypeAffichage::AFFICHAGE_GAUCHE)
563  {
564  ui->LabelNetPartieGauche->setText("NET");
565  connect(timerNET,SIGNAL(timeout()), this, SLOT(cacherNETPartieGauche()));
566  timerNET->start(5000);
567  }
568  if(parties[i].getAffichagePartie() == TypeAffichage::AFFICHAGE_DROITE)
569  {
570  ui->LabelNetPartieDroite->setText("NET");
571  connect(timerNET,SIGNAL(timeout()), this, SLOT(cacherNETPartieDroite()));
572  timerNET->start(5000);
573  }
574  }
575  }
576 }
void cacherNETPartieGauche()
void cacherNETPartieDroite()
QVector< Partie > getParties()
Méthode qui retroune le vecteur de Parties.
Definition: Rencontre.cpp:77
Ui::IHMAfficheur * ui
Association vers l&#39;interface utilisateur réalisé avec Qt Designer.
Definition: IHMAfficheur.h:51
Rencontre * rencontre
Pointeur pour la relation avec la classe Rencontre.
Definition: IHMAfficheur.h:52

◆ afficherRencontre()

void IHMAfficheur::afficherRencontre ( )
private

Méthode qui affiche les deux clubs s'affrontant dans la rencontre.

Affiche les noms des clubs qui s'affrontent durant la rencotre actuelle.

Définition à la ligne 217 du fichier IHMAfficheur.cpp.

Références fenetreAcceuil, Rencontre::getNomEquipe1(), Rencontre::getNomEquipe2(), labelHorodatage, rencontre, et ui.

Référencé par commencerRencontre().

218 {
219  qDebug() << Q_FUNC_INFO;
220 
221  QVBoxLayout *Vlayout = new QVBoxLayout(fenetreAcceuil);
222  QHBoxLayout *Hlayout1 = new QHBoxLayout();
223  QHBoxLayout *Hlayout2 = new QHBoxLayout();
224 
225  Vlayout->addSpacing(200);
226  Hlayout1->addSpacing(100);
227  Vlayout->addLayout(Hlayout1);
228  Vlayout->addLayout(Hlayout2);
229  QLabel *labelClub1Acceuil = new QLabel();
230  Hlayout1->addWidget(labelClub1Acceuil);
231 
232  labelClub1Acceuil->setText(rencontre->getNomEquipe1());
233 
234  QLabel *labelVSAcceuil = new QLabel();
235  Hlayout1->addWidget(labelVSAcceuil);
236  labelVSAcceuil->setText("VS");
237  labelVSAcceuil->setAlignment(Qt::AlignCenter);
238 
239  QLabel *labelClub2Acceuil = new QLabel();
240  Hlayout1->addWidget(labelClub2Acceuil);
241  labelClub2Acceuil->setText(rencontre->getNomEquipe2());
242  labelClub2Acceuil->setAlignment(Qt::AlignRight);
243  Hlayout1->setAlignment(Qt::AlignVCenter);
244 
245  Hlayout1->addSpacing(100);
246 
247  Hlayout2->addWidget(labelHorodatage);
248 
249  ui->nomEquipe1->setText(rencontre->getNomEquipe1());
250  ui->nomEquipe1->setAlignment(Qt::AlignCenter);
251  ui->nomEquipe2->setText(rencontre->getNomEquipe2());
252  ui->nomEquipe2->setAlignment(Qt::AlignCenter);
253 }
QWidget * fenetreAcceuil
Definition: IHMAfficheur.h:63
QString getNomEquipe2()
Méthode qui retourne le nom du deuxieme Club de la rencontre.
Definition: Rencontre.cpp:63
Ui::IHMAfficheur * ui
Association vers l&#39;interface utilisateur réalisé avec Qt Designer.
Definition: IHMAfficheur.h:51
Rencontre * rencontre
Pointeur pour la relation avec la classe Rencontre.
Definition: IHMAfficheur.h:52
QString getNomEquipe1()
Méthode qui retourne le nom du premier Club de la rencontre.
Definition: Rencontre.cpp:49
QLabel * labelHorodatage
Definition: IHMAfficheur.h:64

◆ cacherNETPartieDroite

void IHMAfficheur::cacherNETPartieDroite ( )
slot

Définition à la ligne 584 du fichier IHMAfficheur.cpp.

Références ui.

Référencé par afficherNET().

585 {
586  qDebug() << Q_FUNC_INFO;
587  ui->LabelNetPartieDroite->setText("");
588 }
Ui::IHMAfficheur * ui
Association vers l&#39;interface utilisateur réalisé avec Qt Designer.
Definition: IHMAfficheur.h:51

◆ cacherNETPartieGauche

void IHMAfficheur::cacherNETPartieGauche ( )
slot

Définition à la ligne 578 du fichier IHMAfficheur.cpp.

Références ui.

Référencé par afficherNET().

579 {
580  qDebug() << Q_FUNC_INFO;
581  ui->LabelNetPartieGauche->setText("");
582 }
Ui::IHMAfficheur * ui
Association vers l&#39;interface utilisateur réalisé avec Qt Designer.
Definition: IHMAfficheur.h:51

◆ changerEtatPartie

void IHMAfficheur::changerEtatPartie ( int  idPartie,
QString  EtatPartie 
)
slot

Méthode slot qui démarre ou met fin a une partie.

Démarre une partie ou met fin a une partie en cours.

Paramètres
idPartieIdentifiant de la partie a démarer/arréter
EtatPartieEtat a définir pour la partie

Définition à la ligne 417 du fichier IHMAfficheur.cpp.

Références demarrerPartie(), Rencontre::getParties(), rencontre, et terminerPartie().

Référencé par commencerRencontre(), et IHMAfficheur().

418 {
419 
420  QVector<Partie> parties = rencontre->getParties();
421  qDebug() << Q_FUNC_INFO;
422 
423  for(int i = 0; i < parties.size(); i++)
424  {
425  if(idPartie == parties[i].getIdPartie())
426  {
427  QVector<Joueur> joueurs = parties[i].getJoueurs();
428  if(EtatPartie == "DEMARREE")
429  {
430  demarrerPartie(i, joueurs, parties);
431  }
432  if(EtatPartie == "TERMINEE")
433  {
434  terminerPartie(i ,joueurs, parties);
435  }
436  }
437  }
438 }
QVector< Partie > getParties()
Méthode qui retroune le vecteur de Parties.
Definition: Rencontre.cpp:77
Rencontre * rencontre
Pointeur pour la relation avec la classe Rencontre.
Definition: IHMAfficheur.h:52
void terminerPartie(int i, QVector< Joueur > joueurs, QVector< Partie > parties)
Méthode qui met fin a une partie affichée a l&#39;écran.
void demarrerPartie(int i, QVector< Joueur > joueurs, QVector< Partie > parties)
Méthode qui démarre une partie sur un affichage disponible.

◆ commencerRencontre

void IHMAfficheur::commencerRencontre ( QString  club1,
QString  club2 
)
slot

Méthode slot qui commence une rencontre entre deux clubs.

Commence une rencontre entre deux clubs.

Paramètres
club1Nom du premier club de la rencontre
club2Nom du second club de la rencontre

Définition à la ligne 182 du fichier IHMAfficheur.cpp.

Références actualiserScore(), actualiserTimerDroite(), actualiserTimerGauche(), afficherNET(), afficherRencontre(), changerEtatPartie(), communication, Rencontre::getNomEquipe1(), Rencontre::getNomEquipe2(), rencontre, timerPartieDroite, et timerPartieGauche.

Référencé par IHMAfficheur(), et initialiserCommunication().

183 {
184  rencontre = new Rencontre(club1, club2);
185  qDebug() << Q_FUNC_INFO << rencontre->getNomEquipe1() << "vs" << rencontre->getNomEquipe2();
186 
188 
189  connect(communication, SIGNAL(creationPartieSimple(QStringList)), rencontre, SLOT(creerPartieSimple(QStringList)));
190  connect(communication, SIGNAL(creationPartieDouble(QStringList)), rencontre, SLOT(creerPartieDouble(QStringList)));
191  connect(communication, SIGNAL(nouveauScorePartie(int, int, int, int, int)), this, SLOT(actualiserScore(int, int, int, int, int)));
192  connect(communication, SIGNAL(changementEtatPartie(int,QString)), this, SLOT(changerEtatPartie(int,QString)));
193  connect(communication, SIGNAL(detectionNET(int)), this, SLOT(afficherNET(int)));
194  connect(timerPartieGauche,SIGNAL(timeout()), this, SLOT(actualiserTimerGauche()));
195  connect(timerPartieDroite,SIGNAL(timeout()), this, SLOT(actualiserTimerDroite()));
196 }
Déclaration de la classe Rencontre.
Definition: Rencontre.h:31
QString getNomEquipe2()
Méthode qui retourne le nom du deuxieme Club de la rencontre.
Definition: Rencontre.cpp:63
void afficherRencontre()
Méthode qui affiche les deux clubs s&#39;affrontant dans la rencontre.
Communication * communication
Pointeur pour la relation avec la classe Communication.
Definition: IHMAfficheur.h:53
void actualiserTimerDroite()
void actualiserTimerGauche()
void changerEtatPartie(int idPartie, QString EtatPartie)
Méthode slot qui démarre ou met fin a une partie.
void actualiserScore(int idPartie, int scoreA, int scoreB, int nbManchesJoueurA, int nbManchesJoueurB)
Méthode slot qui actualise les scores d&#39;une partie.
Rencontre * rencontre
Pointeur pour la relation avec la classe Rencontre.
Definition: IHMAfficheur.h:52
QTimer * timerPartieDroite
Definition: IHMAfficheur.h:58
QString getNomEquipe1()
Méthode qui retourne le nom du premier Club de la rencontre.
Definition: Rencontre.cpp:49
void afficherNET(int idPartie)
Méthode slot qui affiche une faute lors de la détection d&#39;un net.
QTimer * timerPartieGauche
Definition: IHMAfficheur.h:57

◆ demarrerPartie()

void IHMAfficheur::demarrerPartie ( int  i,
QVector< Joueur joueurs,
QVector< Partie parties 
)
private

Méthode qui démarre une partie sur un affichage disponible.

Démarre une partie.

Paramètres
iIndex de la partie a démarrer
joueursVecteur de joueurs a afficher dans l'IHM
partiesVecteur de parties a démarrer et afficher

Définition à la ligne 448 du fichier IHMAfficheur.cpp.

Références AFFICHAGE_DROITE, AFFICHAGE_GAUCHE, chronometrePartieDroite, chronometrePartieGauche, disponibiliteAffichages, fenetreAcceuil, rencontre, Rencontre::setParties(), timerPartieDroite, timerPartieGauche, et ui.

Référencé par changerEtatPartie().

449 {
450  qDebug() << Q_FUNC_INFO;
451  this->showFullScreen();
452  fenetreAcceuil->close();
453  if(disponibiliteAffichages[0] == 0)
454  {
455  ui->Manches_Joueur1_PartieGauche->setText("○○○");
456  ui->Manches_Joueur2_PartieGauche->setText("○○○");
457  ui->LCD_PartieGauche_Joueur1->display(QString::number(0));
458  ui->LCD_PartieGauche_Joueur2->display(QString::number(0));
459  ui->labelTempsPartieGauche->setText("00:00");
460  chronometrePartieGauche->restart();
461  timerPartieGauche->start(1000);
462  ui->Nom_Joueur1_Gauche->setText(joueurs[0].getNom() + "\n" + joueurs[0].getPrenom());
463  ui->Nom_Joueur2_Gauche->setText(joueurs[1].getNom() + "\n" + joueurs[1].getPrenom());
464  ui->Nom_Joueur3_Gauche->setText(joueurs[2].getNom() + "\n" + joueurs[2].getPrenom());
465  ui->Nom_Joueur4_Gauche->setText(joueurs[3].getNom() + "\n" + joueurs[3].getPrenom());
466  parties[i].setAffichagePartie(TypeAffichage::AFFICHAGE_GAUCHE);
468  rencontre->setParties(parties);
469  }
470  else
471  {
472  if(disponibiliteAffichages[1] == 0)
473  {
474  ui->Manches_Joueur1_PartieDroite->setText("○○○");
475  ui->Manches_Joueur2_PartieDroite->setText("○○○");
476  ui->LCD_PartieDroite_Joueur1->display(QString::number(0));
477  ui->LCD_PartieDroite_Joueur2->display(QString::number(0));
478  ui->labelTempsPartieDroite->setText("00:00");
479  chronometrePartieDroite->restart();
480  timerPartieDroite->start(1000);
481  ui->Nom_Joueur1_Droite->setText(joueurs[0].getNom() + "\n" + joueurs[0].getPrenom());
482  ui->Nom_Joueur2_Droite->setText(joueurs[1].getNom() + "\n" + joueurs[1].getPrenom());
483  ui->Nom_Joueur3_Droite->setText(joueurs[2].getNom() + "\n" + joueurs[2].getPrenom());
484  ui->Nom_Joueur4_Droite->setText(joueurs[3].getNom() + "\n" + joueurs[3].getPrenom());
485  parties[i].setAffichagePartie(TypeAffichage::AFFICHAGE_DROITE);
487  rencontre->setParties(parties);
488  }
489  }
490 }
QWidget * fenetreAcceuil
Definition: IHMAfficheur.h:63
QElapsedTimer * chronometrePartieDroite
Definition: IHMAfficheur.h:60
QVector< int > disponibiliteAffichages
Vecteur contenant la disponibilité des affichages (partie gauche et partie droite de l&#39;ecran) ...
Definition: IHMAfficheur.h:54
Ui::IHMAfficheur * ui
Association vers l&#39;interface utilisateur réalisé avec Qt Designer.
Definition: IHMAfficheur.h:51
Rencontre * rencontre
Pointeur pour la relation avec la classe Rencontre.
Definition: IHMAfficheur.h:52
QTimer * timerPartieDroite
Definition: IHMAfficheur.h:58
void setParties(QVector< Partie > p)
Méthode qui modifie le vecteur de Parties.
Definition: Rencontre.cpp:88
QTimer * timerPartieGauche
Definition: IHMAfficheur.h:57
QElapsedTimer * chronometrePartieGauche
Definition: IHMAfficheur.h:59

◆ initialiserCommunication()

void IHMAfficheur::initialiserCommunication ( )
private

Méthode qui initialise la communication BLuetooth.

Initialise la communication Bluetooth en mode serveur.

Définition à la ligne 164 du fichier IHMAfficheur.cpp.

Références afficherEtatConnecte(), afficherEtatDeconnecte(), commencerRencontre(), communication, et Communication::demarrer().

Référencé par IHMAfficheur().

165 {
166  communication = new Communication(this);
167 
168  connect(communication, SIGNAL(debutRencontre(QString,QString)), this, SLOT(commencerRencontre(QString,QString)));
169  connect(communication, SIGNAL(socketConnectee()), this, SLOT(afficherEtatConnecte()));
170  connect(communication, SIGNAL(socketDeconnectee()), this, SLOT(afficherEtatDeconnecte()));
171 
173 }
void afficherEtatDeconnecte()
Méthode slot de débug qui notifie la déconnexion d&#39;un module mobile.
void commencerRencontre(QString club1, QString club2)
Méthode slot qui commence une rencontre entre deux clubs.
void demarrer()
Méthode qui démarre le serveur Bluetooth.
Communication * communication
Pointeur pour la relation avec la classe Communication.
Definition: IHMAfficheur.h:53
void afficherEtatConnecte()
Méthode slot de débug qui notifie la connexion d&#39;un module mobile.
Déclaration de la classe Communication.
Definition: Communication.h:61

◆ initialiserCouleurs()

void IHMAfficheur::initialiserCouleurs ( )
private

Définition à la ligne 106 du fichier IHMAfficheur.cpp.

Références COULEUR_EQUIPE1, COULEUR_EQUIPE2, et ui.

Référencé par initialiserIHM().

107 {
108  ui->LabelNetPartieGauche->setStyleSheet("*{color:#FF0000;}");
109  ui->LabelNetPartieDroite->setStyleSheet("*{color:#FF0000;}");
110  ui->centralWidget->setStyleSheet("QWidget#centralWidget{background-color:#1a2321;} QObject{color: #ffe43f;}");
111 
112  ui->nomEquipe1->setStyleSheet(COULEUR_EQUIPE1);
113  ui->nomEquipe2->setStyleSheet(COULEUR_EQUIPE2);
114 
115  ui->LCD_PartieGauche_Joueur1->setStyleSheet(COULEUR_EQUIPE1);
116  ui->Manches_Joueur1_PartieGauche->setStyleSheet(COULEUR_EQUIPE1);
117  ui->Nom_Joueur1_Gauche->setStyleSheet(COULEUR_EQUIPE1);
118  ui->Nom_Joueur3_Gauche->setStyleSheet(COULEUR_EQUIPE1);
119 
120  ui->LCD_PartieGauche_Joueur2->setStyleSheet(COULEUR_EQUIPE2);
121  ui->Manches_Joueur2_PartieGauche->setStyleSheet(COULEUR_EQUIPE2);
122  ui->Nom_Joueur2_Gauche->setStyleSheet(COULEUR_EQUIPE2);
123  ui->Nom_Joueur4_Gauche->setStyleSheet(COULEUR_EQUIPE2);
124 
125  ui->LCD_PartieDroite_Joueur1->setStyleSheet(COULEUR_EQUIPE1);
126  ui->Manches_Joueur1_PartieDroite->setStyleSheet(COULEUR_EQUIPE1);
127  ui->Nom_Joueur1_Droite->setStyleSheet(COULEUR_EQUIPE1);
128  ui->Nom_Joueur3_Droite->setStyleSheet(COULEUR_EQUIPE1);
129 
130  ui->LCD_PartieDroite_Joueur2->setStyleSheet(COULEUR_EQUIPE2);
131  ui->Manches_Joueur2_PartieDroite->setStyleSheet(COULEUR_EQUIPE2);
132  ui->Nom_Joueur2_Droite->setStyleSheet(COULEUR_EQUIPE2);
133  ui->Nom_Joueur4_Droite->setStyleSheet(COULEUR_EQUIPE2);
134 
135  ui->ListeJoueursGauche->setStyleSheet(COULEUR_EQUIPE1);
136  ui->ListeJoueursDroite->setStyleSheet(COULEUR_EQUIPE2);
137 }
#define COULEUR_EQUIPE2
Definition: IHMAfficheur.h:29
Ui::IHMAfficheur * ui
Association vers l&#39;interface utilisateur réalisé avec Qt Designer.
Definition: IHMAfficheur.h:51
#define COULEUR_EQUIPE1
Definition: IHMAfficheur.h:28

◆ initialiserFenetreAcceuil()

void IHMAfficheur::initialiserFenetreAcceuil ( )

Définition à la ligne 139 du fichier IHMAfficheur.cpp.

Références actualiserHorodatage(), fenetreAcceuil, labelHorodatage, et timerHorodatage.

Référencé par IHMAfficheur().

140 {
141  qDebug() << Q_FUNC_INFO;
142  fenetreAcceuil = new QWidget;
143  fenetreAcceuil->showFullScreen();
144  fenetreAcceuil->setStyleSheet("QWidget{background-color:#1a2321;} QObject{color:#ffe43f ;} QLabel {font-size: 90px; font-weight:bold}");
145 
146  timerHorodatage = new QTimer;
147  labelHorodatage = new QLabel();
148  labelHorodatage->setAlignment(Qt::AlignCenter);
149  timerHorodatage->start(1000);
150  connect(timerHorodatage,SIGNAL(timeout()), this, SLOT(actualiserHorodatage()));
151 }
QWidget * fenetreAcceuil
Definition: IHMAfficheur.h:63
void actualiserHorodatage()
QLabel * labelHorodatage
Definition: IHMAfficheur.h:64
QTimer * timerHorodatage
Definition: IHMAfficheur.h:62

◆ initialiserIHM()

void IHMAfficheur::initialiserIHM ( )
private

Méthode qui initialise de L'interface Homme-Machine.

Initialise les widgets de l'IHM.

Définition à la ligne 92 du fichier IHMAfficheur.cpp.

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

Référencé par IHMAfficheur().

93 {
94  qDebug() << Q_FUNC_INFO;
95  ui->setupUi(this);
96 
98 
99  // Mode debug
100  QAction *quitter = new QAction(this);
101  quitter->setShortcut(QKeySequence(QKeySequence(Qt::Key_Escape)));
102  addAction(quitter);
103  connect(quitter, SIGNAL(triggered()), this, SLOT(close()));
104 }
void initialiserCouleurs()
Ui::IHMAfficheur * ui
Association vers l&#39;interface utilisateur réalisé avec Qt Designer.
Definition: IHMAfficheur.h:51

◆ terminerPartie()

void IHMAfficheur::terminerPartie ( int  i,
QVector< Joueur joueurs,
QVector< Partie parties 
)
private

Méthode qui met fin a une partie affichée a l'écran.

Termine une partie.

Paramètres
iIndex de la partie a démarrer
joueursVecteur de joueurs a afficher dans l'historique des parties
partiesVecteur de parties a terminer

Définition à la ligne 500 du fichier IHMAfficheur.cpp.

Références AFFICHAGE_DROITE, AFFICHAGE_GAUCHE, disponibiliteAffichages, PAS_DAFFICHAGE, rencontre, Rencontre::setParties(), tempsPartieDroite, tempsPartieGauche, timerPartieDroite, timerPartieGauche, et ui.

Référencé par changerEtatPartie().

501 {
502  qDebug() << Q_FUNC_INFO;
503  //Q_UNUSED(joueurs);
504  if(parties[i].getAffichagePartie() == TypeAffichage::AFFICHAGE_GAUCHE)
505  {
506  qDebug() << Q_FUNC_INFO << "fin partie gauche";
507  if(joueurs[2].getNom() == " ")
508  {
509  ui->ListeJoueursGauche->setText(ui->ListeJoueursGauche->text() + joueurs[0].getNom() + "\n\n");
510  ui->ListeJoueursDroite->setText(ui->ListeJoueursDroite->text() + joueurs[1].getNom() + "\n\n");
511  }
512  else
513  {
514  ui->ListeJoueursGauche->setText(ui->ListeJoueursGauche->text() + joueurs[0].getNom() + "\n" + joueurs[2].getNom() + "\n\n");
515  ui->ListeJoueursDroite->setText(ui->ListeJoueursDroite->text() + joueurs[1].getNom() + "\n" + joueurs[3].getNom() + "\n\n");
516  }
517  tempsPartieGauche->setHMS(0,0,0);
518  timerPartieGauche->stop();
519  parties[i].setAffichagePartie(TypeAffichage::PAS_DAFFICHAGE);
521  rencontre->setParties(parties);
522  }
523  if(parties[i].getAffichagePartie() == TypeAffichage::AFFICHAGE_DROITE)
524  {
525  qDebug() << Q_FUNC_INFO << "fin partie droite";
526  if(joueurs[2].getNom() == " ")
527  {
528  ui->ListeJoueursGauche->setText(ui->ListeJoueursGauche->text() + joueurs[0].getNom() + "\n\n");
529  ui->ListeJoueursDroite->setText(ui->ListeJoueursDroite->text() + joueurs[1].getNom() + "\n\n");
530  }
531  else
532  {
533  ui->ListeJoueursGauche->setText(ui->ListeJoueursGauche->text() + joueurs[0].getNom() + "\n" + joueurs[2].getNom() + "\n\n");
534  ui->ListeJoueursDroite->setText(ui->ListeJoueursDroite->text() + joueurs[1].getNom() + "\n" + joueurs[3].getNom() + "\n\n");
535  }
536  tempsPartieDroite->setHMS(0,0,0);
537  timerPartieDroite->stop();
538  parties[i].setAffichagePartie(TypeAffichage::PAS_DAFFICHAGE);
540  rencontre->setParties(parties);
541  }
542 }
QTime * tempsPartieGauche
Definition: IHMAfficheur.h:55
QTime * tempsPartieDroite
Definition: IHMAfficheur.h:56
QVector< int > disponibiliteAffichages
Vecteur contenant la disponibilité des affichages (partie gauche et partie droite de l&#39;ecran) ...
Definition: IHMAfficheur.h:54
Ui::IHMAfficheur * ui
Association vers l&#39;interface utilisateur réalisé avec Qt Designer.
Definition: IHMAfficheur.h:51
Rencontre * rencontre
Pointeur pour la relation avec la classe Rencontre.
Definition: IHMAfficheur.h:52
QTimer * timerPartieDroite
Definition: IHMAfficheur.h:58
void setParties(QVector< Partie > p)
Méthode qui modifie le vecteur de Parties.
Definition: Rencontre.cpp:88
QTimer * timerPartieGauche
Definition: IHMAfficheur.h:57

Documentation des données membres

◆ chronometrePartieDroite

QElapsedTimer* IHMAfficheur::chronometrePartieDroite
private

Définition à la ligne 60 du fichier IHMAfficheur.h.

Référencé par actualiserTimerDroite(), demarrerPartie(), et IHMAfficheur().

◆ chronometrePartieGauche

QElapsedTimer* IHMAfficheur::chronometrePartieGauche
private

Définition à la ligne 59 du fichier IHMAfficheur.h.

Référencé par actualiserTimerGauche(), demarrerPartie(), et IHMAfficheur().

◆ communication

Communication* IHMAfficheur::communication
private

Pointeur pour la relation avec la classe Communication.

Définition à la ligne 53 du fichier IHMAfficheur.h.

Référencé par commencerRencontre(), et initialiserCommunication().

◆ disponibiliteAffichages

QVector<int> IHMAfficheur::disponibiliteAffichages
private

Vecteur contenant la disponibilité des affichages (partie gauche et partie droite de l'ecran)

Définition à la ligne 54 du fichier IHMAfficheur.h.

Référencé par demarrerPartie(), IHMAfficheur(), et terminerPartie().

◆ fenetreAcceuil

QWidget* IHMAfficheur::fenetreAcceuil
private

Définition à la ligne 63 du fichier IHMAfficheur.h.

Référencé par afficherRencontre(), demarrerPartie(), et initialiserFenetreAcceuil().

◆ horodatage

QTime* IHMAfficheur::horodatage
private

Définition à la ligne 61 du fichier IHMAfficheur.h.

◆ labelHorodatage

QLabel* IHMAfficheur::labelHorodatage
private

Définition à la ligne 64 du fichier IHMAfficheur.h.

Référencé par actualiserHorodatage(), afficherRencontre(), et initialiserFenetreAcceuil().

◆ rencontre

Rencontre* IHMAfficheur::rencontre
private

Pointeur pour la relation avec la classe Rencontre.

Définition à la ligne 52 du fichier IHMAfficheur.h.

Référencé par actualiserScore(), afficherNET(), afficherRencontre(), changerEtatPartie(), commencerRencontre(), demarrerPartie(), IHMAfficheur(), terminerPartie(), et ~IHMAfficheur().

◆ tempsPartieDroite

QTime* IHMAfficheur::tempsPartieDroite
private

Définition à la ligne 56 du fichier IHMAfficheur.h.

Référencé par actualiserTimerDroite(), et terminerPartie().

◆ tempsPartieGauche

QTime* IHMAfficheur::tempsPartieGauche
private

Définition à la ligne 55 du fichier IHMAfficheur.h.

Référencé par actualiserTimerGauche(), et terminerPartie().

◆ timerHorodatage

QTimer* IHMAfficheur::timerHorodatage
private

Définition à la ligne 62 du fichier IHMAfficheur.h.

Référencé par initialiserFenetreAcceuil().

◆ timerPartieDroite

QTimer* IHMAfficheur::timerPartieDroite
private

Définition à la ligne 58 du fichier IHMAfficheur.h.

Référencé par commencerRencontre(), demarrerPartie(), IHMAfficheur(), et terminerPartie().

◆ timerPartieGauche

QTimer* IHMAfficheur::timerPartieGauche
private

Définition à la ligne 57 du fichier IHMAfficheur.h.

Référencé par commencerRencontre(), demarrerPartie(), IHMAfficheur(), et terminerPartie().

◆ ui

Ui::IHMAfficheur* IHMAfficheur::ui
private

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