Afficheur-AREA  1.1
BTS SNIR LaSalle Avignon 2021
IHMAfficheur.cpp
Aller à la documentation de ce fichier.
1 #include "IHMAfficheur.h"
2 #include "ui_IHMAfficheur.h"
3 #include "Rencontre.h"
4 #include "Communication.h"
5 #include <QtDebug>
6 
23 IHMAfficheur::IHMAfficheur(QWidget *parent) : 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 }
72 
80 {
81  if(rencontre != nullptr)
82  delete rencontre;
83  delete ui;
84  qDebug() << Q_FUNC_INFO;
85 }
86 
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 }
105 
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 }
138 
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 }
152 
154 {
155  QDateTime *horodatageActuel;
156  labelHorodatage->setText(horodatageActuel->currentDateTime().toString("dddd d MMMM hh:mm:ss"));
157 }
158 
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 }
174 
182 void IHMAfficheur::commencerRencontre(QString club1, QString club2)
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 }
197 
199 {
201  chronometrePartieGauche->restart();
202  ui->labelTempsPartieGauche->setText(tempsPartieGauche->toString("mm:ss"));
203 }
204 
206 {
208  chronometrePartieDroite->restart();
209  ui->labelTempsPartieDroite->setText(tempsPartieDroite->toString("mm:ss"));
210 }
211 
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 }
254 
265 void IHMAfficheur::actualiserScore(int idPartie, int scoreA, int scoreB, int nbManchesJoueurA, int nbManchesJoueurB)
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 }
291 
299 void IHMAfficheur::afficherManchesGauche(int nbManchesJoueurB, int nbManchesJoueurA ,QString nomJoueur3)
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 }
340 
348 void IHMAfficheur::afficherManchesDroite(int nbManchesJoueurB, int nbManchesJoueurA, QString nomJoueur3)
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 }
389 
396 {
397  qDebug() << Q_FUNC_INFO;
398 }
399 
406 {
407  qDebug() << Q_FUNC_INFO;
408 }
409 
417 void IHMAfficheur::changerEtatPartie(int idPartie, QString EtatPartie)
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 }
439 
448 void IHMAfficheur::demarrerPartie(int i, QVector<Joueur> joueurs, QVector<Partie> parties)
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 }
491 
500 void IHMAfficheur::terminerPartie(int i,QVector<Joueur> joueurs, QVector<Partie> parties)
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 }
543 
550 void IHMAfficheur::afficherNET(int idPartie)
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 }
577 
579 {
580  qDebug() << Q_FUNC_INFO;
581  ui->LabelNetPartieGauche->setText("");
582 }
583 
585 {
586  qDebug() << Q_FUNC_INFO;
587  ui->LabelNetPartieDroite->setText("");
588 }
QTime * tempsPartieGauche
Definition: IHMAfficheur.h:55
void afficherEtatDeconnecte()
Méthode slot de débug qui notifie la déconnexion d&#39;un module mobile.
void cacherNETPartieGauche()
QTime * tempsPartieDroite
Definition: IHMAfficheur.h:56
IHMAfficheur(QWidget *parent=0)
Constructeur de la classe IHMAfficheur.
QWidget * fenetreAcceuil
Definition: IHMAfficheur.h:63
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
Déclaration de la classe Rencontre.
Déclaration de la classe IHMAfficheur.
void initialiserIHM()
Méthode qui initialise de L&#39;interface Homme-Machine.
QElapsedTimer * chronometrePartieDroite
Definition: IHMAfficheur.h:60
void initialiserFenetreAcceuil()
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...
#define COULEUR_EQUIPE2
Definition: IHMAfficheur.h:29
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.
void demarrer()
Méthode qui démarre le serveur Bluetooth.
void initialiserCouleurs()
Déclaration de la classe Communication.
void cacherNETPartieDroite()
QVector< int > disponibiliteAffichages
Vecteur contenant la disponibilité des affichages (partie gauche et partie droite de l&#39;ecran) ...
Definition: IHMAfficheur.h:54
QVector< Partie > getParties()
Méthode qui retroune le vecteur de Parties.
Definition: Rencontre.cpp:77
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 actualiserHorodatage()
void actualiserTimerGauche()
void changerEtatPartie(int idPartie, QString EtatPartie)
Méthode slot qui démarre ou met fin a une partie.
Déclaration de la classe IHMAfficheur.
Definition: IHMAfficheur.h:46
void afficherEtatConnecte()
Méthode slot de débug qui notifie la connexion d&#39;un module mobile.
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
Déclaration de la classe Communication.
Definition: Communication.h:61
QTimer * timerPartieDroite
Definition: IHMAfficheur.h:58
QString getNomEquipe1()
Méthode qui retourne le nom du premier Club de la rencontre.
Definition: Rencontre.cpp:49
#define COULEUR_EQUIPE1
Definition: IHMAfficheur.h:28
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 setParties(QVector< Partie > p)
Méthode qui modifie le vecteur de Parties.
Definition: Rencontre.cpp:88
~IHMAfficheur()
Déstructeur de la classe IHMAfficheur.
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
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...
QLabel * labelHorodatage
Definition: IHMAfficheur.h:64
void demarrerPartie(int i, QVector< Joueur > joueurs, QVector< Partie > parties)
Méthode qui démarre une partie sur un affichage disponible.
QElapsedTimer * chronometrePartieGauche
Definition: IHMAfficheur.h:59
QTimer * timerHorodatage
Definition: IHMAfficheur.h:62