Projet e-stock  1.0
BTS SN-IR 2019
Connecteurs publics | Fonctions membres publiques | Fonctions membres protégées | Fonctions membres privées | Attributs privés | Liste de tous les membres
Référence de la classe IhmGestionGroupe

La fenêtre de gestion des groupes. Plus de détails...

#include <IhmGestionGroupe.h>

Graphe de collaboration de IhmGestionGroupe:
Collaboration graph

Connecteurs publics

void fermer ()
 Ferme la fenêtre. Plus de détails...
 
void selectionnerGroupe (QString nomGroupe)
 Sélectionne un groupe dans la liste. Plus de détails...
 
void ajouterGroupe ()
 Ajouter un groupe. Plus de détails...
 
void supprimerGroupe ()
 Supprimer un groupe. Plus de détails...
 
void modifierGroupe ()
 Modifier un groupe. Plus de détails...
 

Fonctions membres publiques

 IhmGestionGroupe (QWidget *parent=nullptr)
 Constructeur de la Gestion de groupe. Plus de détails...
 
 ~IhmGestionGroupe ()
 Destructeur de la fenêtre Gestion de Groupe. Plus de détails...
 
void setUtilisateur (Utilisateur *utilisateur)
 

Fonctions membres protégées

void showEvent (QShowEvent *ev)
 Recharge la liste des groupes à chaque fois que la fenêtre GestionGroupe est affichée. Plus de détails...
 

Fonctions membres privées

void initialiserFenetre ()
 Initialise le mode plein écran. Plus de détails...
 
void listerGroupe ()
 Affiche la liste des groupes. Plus de détails...
 
void afficherListerUtilisateursGroupe ()
 Affiche la liste des utilisateur pour le groupe sélectionné Plus de détails...
 
void gererActions (bool etat)
 Gère les état des boutons Ajout, Modification et Suppression. Plus de détails...
 
QString getIdGroupe ()
 Retourne l'idGroupe du groupe sélectionné Plus de détails...
 
QString getNomUtilisateur ()
 

Attributs privés

Ui::IhmGestionGroupe * ui
 agrégation de la définition de la fenêtre UI Plus de détails...
 
BaseDeDonneesbdd
 agrégation de l'objet BaseDeDonnees Plus de détails...
 
Utilisateurutilisateur
 
QVector< QStringList > groupes
 les groupes Plus de détails...
 
QStringList utilisateurs
 

Description détaillée

Auteur
Hadrien GIMENEZ
Version
0.1

Documentation des constructeurs et destructeur

◆ IhmGestionGroupe()

IhmGestionGroupe::IhmGestionGroupe ( QWidget *  parent = nullptr)
explicit
Paramètres
parentQWidget*

Références ajouterGroupe(), bdd, BaseDeDonnees::connecter(), BaseDeDonnees::estConnecte(), fermer(), BaseDeDonnees::getInstance(), initialiserFenetre(), modifierGroupe(), supprimerGroupe(), et ui.

13  :
14  QWidget(parent),
15  ui(new Ui::IhmGestionGroupe), utilisateur(nullptr)
16 {
17  ui->setupUi(this);
18  qDebug() << Q_FUNC_INFO;
19 
21  if(!bdd->estConnecte())
22  bdd->connecter();
23 
24  connect(ui->boutonFermeture, SIGNAL(clicked()), this, SLOT(fermer()));
25  connect(ui->boutonAjout, SIGNAL(clicked()), this, SLOT(ajouterGroupe()));
26  connect(ui->boutonSuppression, SIGNAL(clicked()), this, SLOT(supprimerGroupe()));
27  connect(ui->boutonModification, SIGNAL(clicked()), this, SLOT(modifierGroupe()));
28 
29  ui->boutonAjout->setEnabled(false);
30  ui->boutonModification->setEnabled(false);
31  ui->boutonSuppression->setEnabled(false);
32  QStringListModel *modele = new QStringListModel(this);
33  modele->setStringList(QStringList{});
34  ui->listViewUtilisateurs->setModel(modele);
35 
37 }
static BaseDeDonnees * getInstance(QString type="QMYSQL")
Definition: ihm-estock/baseDeDonnees.cpp:38
void supprimerGroupe()
Supprimer un groupe.
Definition: IhmGestionGroupe.cpp:250
bool estConnecte()
Definition: ihm-estock/baseDeDonnees.cpp:70
void modifierGroupe()
Modifier un groupe.
Definition: IhmGestionGroupe.cpp:282
Ui::IhmGestionGroupe * ui
agrégation de la définition de la fenêtre UI
Definition: IhmGestionGroupe.h:51
Utilisateur * utilisateur
Definition: IhmGestionGroupe.h:53
void initialiserFenetre()
Initialise le mode plein écran.
Definition: IhmGestionGroupe.cpp:70
void ajouterGroupe()
Ajouter un groupe.
Definition: IhmGestionGroupe.cpp:220
bool connecter(QString nomBase=BDD_NOMBASE, QString username=BDD_USERNAME, QString password=BDD_PASSWORD, QString serveur=BDD_SERVEUR)
Definition: ihm-estock/baseDeDonnees.cpp:76
BaseDeDonnees * bdd
agrégation de l&#39;objet BaseDeDonnees
Definition: IhmGestionGroupe.h:52
void fermer()
Ferme la fenêtre.
Definition: IhmGestionGroupe.cpp:105

◆ ~IhmGestionGroupe()

IhmGestionGroupe::~IhmGestionGroupe ( )

Références BaseDeDonnees::detruireInstance(), et ui.

46 {
48  delete ui;
49  qDebug() << Q_FUNC_INFO;
50 }
static void detruireInstance()
Definition: ihm-estock/baseDeDonnees.cpp:51
Ui::IhmGestionGroupe * ui
agrégation de la définition de la fenêtre UI
Definition: IhmGestionGroupe.h:51

Documentation des fonctions membres

◆ afficherListerUtilisateursGroupe()

void IhmGestionGroupe::afficherListerUtilisateursGroupe ( )
private

Références ui, et utilisateurs.

Référencé par selectionnerGroupe().

157 {
158  QStringListModel *modele;
159  modele = new QStringListModel(this);
160  modele->setStringList(utilisateurs);
161  ui->listViewUtilisateurs->setModel(modele);
162 }
Ui::IhmGestionGroupe * ui
agrégation de la définition de la fenêtre UI
Definition: IhmGestionGroupe.h:51
QStringList utilisateurs
Definition: IhmGestionGroupe.h:55

◆ ajouterGroupe

void IhmGestionGroupe::ajouterGroupe ( )
slot

Références bdd, Utilisateur::estAdministrateur(), Utilisateur::estGestionnaire(), BaseDeDonnees::executer(), Utilisateur::getNom(), listerGroupe(), ui, et utilisateur.

Référencé par IhmGestionGroupe().

221 {
222  if(utilisateur != nullptr)
223  {
224  qDebug() << Q_FUNC_INFO << "Nom" << utilisateur->getNom() << "Administrateur" << utilisateur->estAdministrateur() << "estGestionnaire" << utilisateur->estGestionnaire();
226  {
227  QString nomGroupe = ui->saisieNomGroupe->text();
228  if(nomGroupe.isEmpty())
229  return;
230  QString requete = QString("INSERT INTO `Groupe` (`Nom`) VALUES('%1')").arg(nomGroupe);
231  qDebug() << Q_FUNC_INFO << "requete" << requete;
232  bool retour = bdd->executer(requete);
233 
234  if(retour)
235  {
236  ui->saisieNomGroupe->clear();
237  listerGroupe();
238  }
239  }
240  }
241 }
bool estAdministrateur() const
Definition: utilisateur.cpp:27
void listerGroupe()
Affiche la liste des groupes.
Definition: IhmGestionGroupe.cpp:184
Ui::IhmGestionGroupe * ui
agrégation de la définition de la fenêtre UI
Definition: IhmGestionGroupe.h:51
Utilisateur * utilisateur
Definition: IhmGestionGroupe.h:53
bool estGestionnaire() const
Definition: utilisateur.cpp:34
QString getNom() const
Definition: utilisateur.cpp:58
bool executer(QString requete)
Definition: ihm-estock/baseDeDonnees.cpp:152
BaseDeDonnees * bdd
agrégation de l&#39;objet BaseDeDonnees
Definition: IhmGestionGroupe.h:52

◆ fermer

void IhmGestionGroupe::fermer ( )
slot

Références ui.

Référencé par IhmGestionGroupe().

106 {
107  ui->saisieNomGroupe->setText("");
108  ui->cbListeGroupe->setCurrentIndex(0);
109  ui->boutonAjout->setEnabled(false);
110  ui->boutonModification->setEnabled(false);
111  ui->boutonSuppression->setEnabled(false);
112  close();
113 }
Ui::IhmGestionGroupe * ui
agrégation de la définition de la fenêtre UI
Definition: IhmGestionGroupe.h:51

◆ gererActions()

void IhmGestionGroupe::gererActions ( bool  etat)
private
Paramètres
etatbool true (Modification et Suppression actifs et pas d'Ajout) sinon l'inverse

Références ui.

Référencé par selectionnerGroupe(), et showEvent().

172 {
173  ui->boutonModification->setEnabled(etat);
174  ui->boutonSuppression->setEnabled(etat);
175  ui->boutonAjout->setEnabled(!etat);
176 }
Ui::IhmGestionGroupe * ui
agrégation de la définition de la fenêtre UI
Definition: IhmGestionGroupe.h:51

◆ getIdGroupe()

QString IhmGestionGroupe::getIdGroupe ( )
private
Renvoie
QString l'idGroupe

Références groupes, et ui.

Référencé par modifierGroupe(), selectionnerGroupe(), et supprimerGroupe().

316 {
317  QString idGroupe = "";
318  QString nomGroupe = ui->cbListeGroupe->currentText();
319  if(nomGroupe.isEmpty())
320  return idGroupe;
321 
322  for(int i=0;i<groupes.size();i++)
323  {
324  if(groupes.at(i).at(1) == nomGroupe)
325  {
326  idGroupe = groupes.at(i).at(0);
327  break;
328  }
329  }
330 
331  qDebug() << Q_FUNC_INFO << "idGroupe" << idGroupe;
332  return idGroupe;
333 }
Ui::IhmGestionGroupe * ui
agrégation de la définition de la fenêtre UI
Definition: IhmGestionGroupe.h:51
QVector< QStringList > groupes
les groupes
Definition: IhmGestionGroupe.h:54

◆ getNomUtilisateur()

QString IhmGestionGroupe::getNomUtilisateur ( )
private
336 {
337  return QString("");
338 }

◆ initialiserFenetre()

void IhmGestionGroupe::initialiserFenetre ( )
private

Références IHM_CSS.

Référencé par IhmGestionGroupe().

71 {
72  setStyleSheet(IHM_CSS);
73 
74  #ifndef DESKTOP
75  const int w = qApp->desktop()->availableGeometry(this).width();
76  const int h = qApp->desktop()->availableGeometry(this).height();
77  resize(w, h);
78  #else
79  // 800×480
80  resize(800, 480);
81  #endif
82  setWindowFlags(Qt::FramelessWindowHint | Qt::Dialog); // Ajouter Qt::WindowStaysOnTopHint
83  //showMaximized();
84  setWindowModality(Qt::WindowModal);
85 }
#define IHM_CSS
Definition: e-stock.h:24

◆ listerGroupe()

void IhmGestionGroupe::listerGroupe ( )
private

Références bdd, Utilisateur::estAdministrateur(), Utilisateur::estGestionnaire(), Utilisateur::getNom(), groupes, BaseDeDonnees::recuperer(), selectionnerGroupe(), ui, et utilisateur.

Référencé par ajouterGroupe(), modifierGroupe(), showEvent(), et supprimerGroupe().

185 {
186  QString requete;
187 
188  if(utilisateur != nullptr)
189  {
190  qDebug() << Q_FUNC_INFO << "Nom" << utilisateur->getNom() << "Administrateur" << utilisateur->estAdministrateur() << "estGestionnaire" << utilisateur->estGestionnaire();
192  {
193  requete = "SELECT * FROM Groupe";
194  groupes.clear();
195  bool retour = bdd->recuperer(requete, groupes);
196  if(retour)
197  {
198  qDebug() << Q_FUNC_INFO << groupes;
199  disconnect(ui->cbListeGroupe, SIGNAL(currentIndexChanged(QString)), this, SLOT(selectionnerGroupe(QString)));
200  if(ui->listViewUtilisateurs->model()->rowCount() > 0)
201  ui->listViewUtilisateurs->model()->removeRows(0, ui->listViewUtilisateurs->model()->rowCount());
202  ui->cbListeGroupe->clear();
203  ui->cbListeGroupe->addItem("");
204  for(int i=0;i<groupes.size();i++)
205  {
206  ui->cbListeGroupe->addItem(groupes.at(i).at(1));
207  }
208  connect(ui->cbListeGroupe, SIGNAL(currentIndexChanged(QString)), this, SLOT(selectionnerGroupe(QString)));
209  }
210  }
211  }
212 }
void selectionnerGroupe(QString nomGroupe)
Sélectionne un groupe dans la liste.
Definition: IhmGestionGroupe.cpp:121
bool estAdministrateur() const
Definition: utilisateur.cpp:27
Ui::IhmGestionGroupe * ui
agrégation de la définition de la fenêtre UI
Definition: IhmGestionGroupe.h:51
Utilisateur * utilisateur
Definition: IhmGestionGroupe.h:53
bool recuperer(QString requete, QString &donnees)
Definition: ihm-estock/baseDeDonnees.cpp:190
bool estGestionnaire() const
Definition: utilisateur.cpp:34
QVector< QStringList > groupes
les groupes
Definition: IhmGestionGroupe.h:54
QString getNom() const
Definition: utilisateur.cpp:58
BaseDeDonnees * bdd
agrégation de l&#39;objet BaseDeDonnees
Definition: IhmGestionGroupe.h:52

◆ modifierGroupe

void IhmGestionGroupe::modifierGroupe ( )
slot

Références bdd, Utilisateur::estAdministrateur(), Utilisateur::estGestionnaire(), BaseDeDonnees::executer(), getIdGroupe(), Utilisateur::getNom(), listerGroupe(), ui, et utilisateur.

Référencé par IhmGestionGroupe().

283 {
284  if(utilisateur != nullptr)
285  {
286  qDebug() << Q_FUNC_INFO << "Nom" << utilisateur->getNom() << "Administrateur" << utilisateur->estAdministrateur() << "estGestionnaire" << utilisateur->estGestionnaire();
288  {
289  QString nomGroupe = ui->saisieNomGroupe->text();
290  if(nomGroupe.isEmpty())
291  return;
292  QString idGroupe = getIdGroupe();
293  if(idGroupe.isEmpty())
294  return;
295 
296  QString requete = QString("UPDATE `Groupe` SET `Nom`='%1' WHERE idGroupe='%2'").arg(nomGroupe).arg(idGroupe);
297  qDebug() << Q_FUNC_INFO << "requete" << requete;
298  bool retour = bdd->executer(requete);
299 
300  if(retour)
301  {
302  ui->saisieNomGroupe->clear();
303  listerGroupe();
304  }
305  }
306  }
307 }
bool estAdministrateur() const
Definition: utilisateur.cpp:27
QString getIdGroupe()
Retourne l&#39;idGroupe du groupe sélectionné
Definition: IhmGestionGroupe.cpp:315
void listerGroupe()
Affiche la liste des groupes.
Definition: IhmGestionGroupe.cpp:184
Ui::IhmGestionGroupe * ui
agrégation de la définition de la fenêtre UI
Definition: IhmGestionGroupe.h:51
Utilisateur * utilisateur
Definition: IhmGestionGroupe.h:53
bool estGestionnaire() const
Definition: utilisateur.cpp:34
QString getNom() const
Definition: utilisateur.cpp:58
bool executer(QString requete)
Definition: ihm-estock/baseDeDonnees.cpp:152
BaseDeDonnees * bdd
agrégation de l&#39;objet BaseDeDonnees
Definition: IhmGestionGroupe.h:52

◆ selectionnerGroupe

void IhmGestionGroupe::selectionnerGroupe ( QString  nomGroupe)
slot
Paramètres
nomGroupeQString le nom du groupe sélectionné

Références afficherListerUtilisateursGroupe(), bdd, gererActions(), getIdGroupe(), BaseDeDonnees::recuperer(), ui, et utilisateurs.

Référencé par listerGroupe().

122 {
123  if(!nomGroupe.isEmpty())
124  {
125  ui->saisieNomGroupe->setText(nomGroupe);
126  QVector<QStringList> donnees;
127  QString requete = "SELECT Nom, Prenom FROM Utilisateur WHERE idGroupe='" + getIdGroupe() + "'";
128  bool retour = bdd->recuperer(requete, donnees);
129  if(retour)
130  {
131  qDebug() << Q_FUNC_INFO << donnees;
132  utilisateurs.clear();
133  for(int i = 0; i < donnees.size(); i++)
134  {
135  utilisateurs << (donnees.at(i).at(0) + " " + donnees.at(i).at(1));
136  }
138  gererActions(true);
139  }
140  }
141  else
142  {
143  ui->saisieNomGroupe->setText("");
144  if(ui->listViewUtilisateurs->model()->rowCount() > 0)
145  ui->listViewUtilisateurs->model()->removeRows(0, ui->listViewUtilisateurs->model()->rowCount());
146  gererActions(false);
147  }
148 }
QString getIdGroupe()
Retourne l&#39;idGroupe du groupe sélectionné
Definition: IhmGestionGroupe.cpp:315
Ui::IhmGestionGroupe * ui
agrégation de la définition de la fenêtre UI
Definition: IhmGestionGroupe.h:51
void afficherListerUtilisateursGroupe()
Affiche la liste des utilisateur pour le groupe sélectionné
Definition: IhmGestionGroupe.cpp:156
bool recuperer(QString requete, QString &donnees)
Definition: ihm-estock/baseDeDonnees.cpp:190
void gererActions(bool etat)
Gère les état des boutons Ajout, Modification et Suppression.
Definition: IhmGestionGroupe.cpp:171
BaseDeDonnees * bdd
agrégation de l&#39;objet BaseDeDonnees
Definition: IhmGestionGroupe.h:52
QStringList utilisateurs
Definition: IhmGestionGroupe.h:55

◆ setUtilisateur()

void IhmGestionGroupe::setUtilisateur ( Utilisateur utilisateur)

Références utilisateur.

Référencé par IhmGestionArmoire::gererGroupe().

60 {
61  this->utilisateur = utilisateur;
62 }
Utilisateur * utilisateur
Definition: IhmGestionGroupe.h:53

◆ showEvent()

void IhmGestionGroupe::showEvent ( QShowEvent *  ev)
protected

Références gererActions(), et listerGroupe().

94 {
95  listerGroupe();
96  gererActions(false);
97 }
void listerGroupe()
Affiche la liste des groupes.
Definition: IhmGestionGroupe.cpp:184
void gererActions(bool etat)
Gère les état des boutons Ajout, Modification et Suppression.
Definition: IhmGestionGroupe.cpp:171

◆ supprimerGroupe

void IhmGestionGroupe::supprimerGroupe ( )
slot

Références bdd, Utilisateur::estAdministrateur(), Utilisateur::estGestionnaire(), BaseDeDonnees::executer(), getIdGroupe(), Utilisateur::getNom(), listerGroupe(), ui, et utilisateur.

Référencé par IhmGestionGroupe().

251 {
252  if(utilisateur != nullptr)
253  {
254  qDebug() << Q_FUNC_INFO << "Nom" << utilisateur->getNom() << "Administrateur" << utilisateur->estAdministrateur() << "estGestionnaire" << utilisateur->estGestionnaire();
256  {
257  QString nomGroupe = ui->saisieNomGroupe->text();
258  if(nomGroupe.isEmpty())
259  return;
260  QString idGroupe = getIdGroupe();
261  if(idGroupe.isEmpty())
262  return;
263  QString requete = QString("DELETE FROM `Groupe` WHERE idGroupe='%1'").arg(idGroupe);
264  qDebug() << Q_FUNC_INFO << "requete" << requete;
265  bool retour = bdd->executer(requete);
266 
267  if(retour)
268  {
269  ui->saisieNomGroupe->clear();
270  listerGroupe();
271  }
272  }
273  }
274 }
bool estAdministrateur() const
Definition: utilisateur.cpp:27
QString getIdGroupe()
Retourne l&#39;idGroupe du groupe sélectionné
Definition: IhmGestionGroupe.cpp:315
void listerGroupe()
Affiche la liste des groupes.
Definition: IhmGestionGroupe.cpp:184
Ui::IhmGestionGroupe * ui
agrégation de la définition de la fenêtre UI
Definition: IhmGestionGroupe.h:51
Utilisateur * utilisateur
Definition: IhmGestionGroupe.h:53
bool estGestionnaire() const
Definition: utilisateur.cpp:34
QString getNom() const
Definition: utilisateur.cpp:58
bool executer(QString requete)
Definition: ihm-estock/baseDeDonnees.cpp:152
BaseDeDonnees * bdd
agrégation de l&#39;objet BaseDeDonnees
Definition: IhmGestionGroupe.h:52

Documentation des données membres

◆ bdd

BaseDeDonnees* IhmGestionGroupe::bdd
private

◆ groupes

QVector<QStringList> IhmGestionGroupe::groupes
private

Référencé par getIdGroupe(), et listerGroupe().

◆ ui

Ui::IhmGestionGroupe* IhmGestionGroupe::ui
private

◆ utilisateur

Utilisateur* IhmGestionGroupe::utilisateur
private

◆ utilisateurs

QStringList IhmGestionGroupe::utilisateurs
private

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