ROV'NET  0.2
BTS SNIR LaSalle Avignon 2020
ihmconfiguration.cpp
Aller à la documentation de ce fichier.
1 
7 #include "ihmconfiguration.h"
8 
9 IHMConfiguration::IHMConfiguration(Rov *rov, QWidget *parent) : QWidget(parent), rov(rov)
10 {
11  qDebug() << Q_FUNC_INFO;
12 
17 
21 }
22 
24 {
25  qDebug() << Q_FUNC_INFO;
26 }
27 
29 {
30  listePortsDisponibles = new QComboBox(this);
31  listeDebit = new QComboBox(this);
32  listeBitsDonnees = new QComboBox(this);
33  listeBitsStop = new QComboBox(this);
34  boutonGererPort = new QPushButton("Fermer", this);
35 }
36 
38 {
40  if(listePortsDisponibles->currentText() == "")
41  listePortsDisponibles->addItem("Aucun port détécté");
42  listeDebit->addItem("9600");
43  listeDebit->addItem("115200");
44 
45  listeBitsDonnees->addItem("7");
46  listeBitsDonnees->addItem("8");
47  listeBitsDonnees->setCurrentIndex(1);
48 
49  listeBitsStop->addItem("1");
50  listeBitsStop->addItem("2");
51 }
52 
54 {
55  QVBoxLayout *layoutPrincipal = new QVBoxLayout;
56  QHBoxLayout *layoutInformation = new QHBoxLayout;
57  QFormLayout *layoutConfiguration = new QFormLayout;
58  QVBoxLayout *layoutCommande = new QVBoxLayout;
59 
60  layoutCommande->setAlignment(Qt::AlignTop);
61 
62  layoutPrincipal->addLayout(layoutInformation);
63  layoutInformation->addLayout(layoutConfiguration);
64  layoutInformation->addLayout(layoutCommande);
65  layoutConfiguration->addRow("Port:", listePortsDisponibles);
66  layoutConfiguration->addRow("Débit:", listeDebit);
67  layoutConfiguration->addRow("Bits de données:", listeBitsDonnees);
68  layoutConfiguration->addRow("Bits de stop:", listeBitsStop);
69  layoutCommande->addWidget(boutonGererPort);
70 
71  setLayout(layoutPrincipal);
72  setStyleSheet("background:#202020;color:white;");
73 }
74 
76 {
77  connect(listePortsDisponibles, SIGNAL(currentIndexChanged(int)), this, SLOT(modifierConfiguration()));
78  connect(listeDebit, SIGNAL(currentIndexChanged(int)), this, SLOT(modifierConfiguration()));
79  connect(listeBitsDonnees, SIGNAL(currentIndexChanged(int)), this, SLOT(modifierConfiguration()));
80  connect(listeBitsStop, SIGNAL(currentIndexChanged(int)), this, SLOT(modifierConfiguration()));
81  connect(boutonGererPort, SIGNAL(clicked()), this, SLOT(modifierEtatPort()));
82 }
83 
85 {
87  {
88  listePortsDisponibles->setDisabled(true);
89  listeDebit->setDisabled(true);
90  listeBitsDonnees->setDisabled(true);
91  listeBitsStop->setDisabled(true);
92  }
93  else
94  {
95  boutonGererPort->setText("Ouvrir");
96  listePortsDisponibles->setEnabled(true);
97  listeDebit->setEnabled(true);
98  listeBitsDonnees->setEnabled(true);
99  listeBitsStop->setEnabled(true);
100  }
101 }
102 
104 {
105  Configuration configuration;
106 
107  configuration.port = listePortsDisponibles->currentText();
108  configuration.debit = listeDebit->currentText().toInt();
109  configuration.bitsDonnees = listeBitsDonnees->currentText().toInt();
110  configuration.bitStop = listeBitsStop->currentText().toInt();
111 
112  rov->modifierConfiguration(configuration);
113 }
114 
116 {
117  if(boutonGererPort->text() == "Ouvrir")
118  {
120  {
121  boutonGererPort->setText("Fermer");
122  listePortsDisponibles->setDisabled(true);
123  listeDebit->setDisabled(true);
124  listeBitsDonnees->setDisabled(true);
125  listeBitsStop->setDisabled(true);
126  }
127  }
128  else
129  {
131  boutonGererPort->setText("Ouvrir");
132  listePortsDisponibles->setEnabled(true);
133  listeDebit->setEnabled(true);
134  listeBitsDonnees->setEnabled(true);
135  listeBitsStop->setEnabled(true);
136  }
137 }
138 
140 {
141  listePortsDisponibles->clear();
143  if(listePortsDisponibles->currentText() == "")
144  listePortsDisponibles->addItem("Aucun port détécté");
145 }
bool getEtatPort()
retourne l&#39;etat du port série
Fichier qui contient la déclaration de la classe IHMConfiguration.
void actualisePortsDisponibles()
Actualise la liste des ports disponible.
int debit
Attribut définissant la vitesse en bits/s de la communication.
QComboBox * listePortsDisponibles
Liste des ports détéctés.
IHMConfiguration(Rov *rov, QWidget *parent=nullptr)
Constructeur de la classe IHMConfiguration.
QComboBox * listeDebit
Liste permettant de configurer le debit de la communication.
void initialiserLayouts()
Initialise les layouts de l&#39;IHM.
~IHMConfiguration()
Destructeur de la classe IHMConfiguration.
Classe controlant tout les traitements en provenance et en direction de la communication avec le rov...
Definition: rov.h:91
static QStringList detecterPortsDisponibles()
retourne la liste des ports disponibles
QComboBox * listeBitsDonnees
Liste permettant de configurer le nombre de bits de données de la communication.
structure permettant de configurer une communication
void initialiserWidgets()
Initialise les widgets de l&#39;IHM.
int bitsDonnees
Attribut définissant le nombre de bits de données de la communication.
void initialiserEvenements()
Initialise les événements de l&#39;IHM.
void modifierConfiguration(Configuration &configuration)
Modifie la configuration de la communication.
Definition: rov.cpp:288
void modifierEtatPort()
Modifie l&#39;état du port.
CommunicationRov * getCommunicationRov()
Retourne l&#39;objet communicationRov créée par le rov.
Definition: rov.cpp:293
Rov * rov
Objet rov permettant de mofidier les reglage de la communication.
void configurerWidgets()
Configure l&#39;état des widgets à la création de l&#39;IHM.
void modifierConfiguration()
Envoie au rov la nouvelle configuration de la communication.
int bitStop
Attribut définissant le nombre de bits de stop de la communication.
QString port
Attribut définissant le nom d&#39;un port.
QComboBox * listeBitsStop
Liste permettant de configurer le nombre de bits de stop de la communication.
QPushButton * boutonGererPort
Bouton permettant de gerer le port sélectionné
bool ouvrirPort()
Permet d&#39;ouvrir le port série virtuel.
La classe QWidget est la classe de base de tous les objets graphiques d&#39;interface utilisateur...
void modifieEtatBoutons()
Modifie l&#39;état des boutons en fonction du port.
void fermerPort()
Permet de fermer le port série virtuel.