Superviseur - Afficheur 1.0
Ce logiciel correspond à l'afficheur de la suite des trois logiciels composant le superviseur
|
Classe principale qui représente la fenêtre principale. Plus de détails...
#include <afficheur.h>
Connecteurs publics | |
void | afficherErreur (QAbstractSocket::SocketError socketError, QString message=QString()) |
Ce slot est appelé lorsque la connexion avec le collecteur est fermée ou rompue. | |
void | ajouterDonnees (QString donnees) |
Ce slot crée/actualise les représentations graphiques et textuelles de l'hyperviseur de ses machines virtuelles grâce aux données en paramètre. | |
Fonctions membres publiques | |
Afficheur (QWidget *parent=0) | |
Constructeur. | |
~Afficheur () | |
Destructeur. | |
Fonctions membres protégées | |
void | timerEvent (QTimerEvent *) |
Le timer. | |
void | changeEvent (QEvent *e) |
Cette méthode est appellée lors d'un changement d'état. | |
Connecteurs privés | |
void | connexion (bool fermer) |
Ce slot se connecte ou se déconnecte d'un collecteur grâce à l'instance de l'objet CollecteurSocket. | |
void | connexionEtablie () |
Ce slot est appelé lorsque la statut de la connexion passe à Connected. | |
void | deconnecte () |
Ce slot est appelé lorsque la statut de la connexion avec le collecteur passe à Connected. | |
void | redimmensionner (int pourcent) |
Ce slot modifie le zoom de la scène. | |
Fonctions membres privées | |
void | remplirEcran () |
Maximise la fenêtre. | |
void | creerOutilTailleZoom () |
Cette méthode ajoute à la barre d'outil option les outils permettant de modifier les niveau de zoom et de taille. | |
void | changerDonnees (QVariantMap donnees, QTreeWidgetItem *item) |
Cette méthode met à jour les données d'un hyperviseur dans le QTreeWidget. | |
void | changerDonneesVMs (QList< QVariantMap > donnees, QTreeWidgetItem *item) |
Cette méthode met à jour les données des VMs d'un hyperviseur dans le QTreeWidget. | |
Attributs privés | |
Ui::Afficheur * | ui |
Contient les composants de l'interface graphique. | |
QGraphicsScene * | scene |
Correspond à la scène où les graphiques des hyperviseurs sont dessinés. | |
CollecteurSocket * | collSocket |
Contient l'instance de l'objet CollecteurSocket qui se charge de gérer la connexion au collecteur. | |
QHash< QString, HyperviseurGraphique * > | hyperviseursGraph |
Tableau associatif qui associe le nom d'un hyperviseur à sa représentation graphique (instance de la classe HyperviseurGraphique). | |
QHash< QString, QTreeWidgetItem * > | hyperviseursTree |
Tableau associatif qui associe le nom d'un hyperviseur à sa représentation dans le QTreeWidget de l'interface graphique (instance de la classe QTreeWidgetItem). | |
QList< HyperviseurGraphique * > | hyperviseursAffiches |
Liste qui contient les représentation des hyperviseur actuellement affichées. | |
QString | hoteCourant |
Stocke l'adresse du dernier collecteur utilisé. | |
quint16 | portCourant |
Stocke le port du dernier collecteur utilisé. | |
QLabel * | connexionInfos |
Texts dans la barre de status qui indique l'état de la connexion avec le collecteur. | |
QSlider * | taille |
Slider qui permet de changer les dimmensions des graphiques représentant les hyperviseurs. | |
QSlider * | zoom |
Slider qui permet d'effectuer un zoom sur la scène. | |
QLabel * | tailleValeur |
Texte qui indique la valeur actuelle de la taille. | |
QLabel * | zoomValeur |
Texte qui indique la valeur actuelle du niveau de zoom. | |
qreal | zoomFacteur |
Cette valeur stocke la dernière valeur de zoom utilisé. |
Classe principale qui représente la fenêtre principale.
Cette classe gère les interactions avec l'utilisateur.
Elle instancie la classe CollecteurSocket et lorsque c'est nécessaire la classe ConnexionDialog.
Elle s'occupe de créer des instances de la classe HyperviseurGraphique lorsqu'un nouvel hyperviseur est détecté.
Elle parse les données en provenance du collecteur et les renvoie à l'instance de la classe HyperviseurGraphique correspondant à l'hyperviseur présent dans les données.
Elle s'occupe également de placer au meilleur endroit les graphiques représentant les hyperviseurs.
Ne pas utiliser de timer pour la gestion du placement des graphiques représentant les hyperviseurs.
Utiliser plutôt des signaux.
Mettre en fonction les boutons qui ne sont pas encore fonctionnels.
Définition à la ligne 35 du fichier afficheur.h.
Afficheur::Afficheur | ( | QWidget * | parent = 0 | ) |
Constructeur.
Le constructeur crée l'interface graphique définie dans "ui_afficheur.h".
Il crée également l'instance de la classe CollecteurSocket qui permet de communiquer avec un collecteur.
Il initialise certaines valeurs, et connecte les signaux aux slots.
Il associe la scène au QGraphicsView, agrandit la fenêtre et lance le timer.
parent | permet de spécifier la classe parente. |
Définition à la ligne 14 du fichier afficheur.cpp.
Afficheur::~Afficheur | ( | ) |
Destructeur.
Détruit l'interface graphique et les différentes instances des classes.
Définition à la ligne 56 du fichier afficheur.cpp.
void Afficheur::afficherErreur | ( | QAbstractSocket::SocketError | socketError, |
QString | message = QString() |
||
) | [slot] |
Ce slot est appelé lorsque la connexion avec le collecteur est fermée ou rompue.
Si la langue du système a été changée, les éléments de l'interface graphique sont traduits dans la nouvelle langue.
socketError | énumération qui indique quelle erreur est survenue. |
message | message optionnel contenant des informations supplémentaires sur l'erreur (pas utilisé). |
Définition à la ligne 210 du fichier afficheur.cpp.
void Afficheur::ajouterDonnees | ( | QString | donnees | ) | [slot] |
Ce slot crée/actualise les représentations graphiques et textuelles de l'hyperviseur de ses machines virtuelles grâce aux données en paramètre.
Ce slot est appelé lorsqu'une donnée, en provenance du collecteur, est reçue.
Il parse les données et crée les représentations graphiques et textuelles (instancie les objets HyperviseurGraphique et QTreeWidgetItem) de l'hyperviseur de ses machines virtuelles correspondant aux données.
Les instances qui ont été créées sont ajoutées aux tableaux associatifs hyperviseursGraph et hyperviseursTree.
Si l'hyperviseur existe déjà, il met à jour les données sur lui et ses VMs.
donnees | contient les données (au format JSON). |
Définition à la ligne 316 du fichier afficheur.cpp.
void Afficheur::changeEvent | ( | QEvent * | e | ) | [protected] |
Cette méthode est appellée lors d'un changement d'état.
Si la langue du système à été changée, les éléments de l'interface graphique sont traduits dans la nouvelle langue.
e | objet représentant l'événement (type, détails, ...). |
Définition à la ligne 70 du fichier afficheur.cpp.
void Afficheur::changerDonnees | ( | QVariantMap | donnees, |
QTreeWidgetItem * | item | ||
) | [private] |
Cette méthode met à jour les données d'un hyperviseur dans le QTreeWidget.
Cette méthode est appelée par le slot ajouterDonnees() et met à jour les données d'un hyperviseur dans le QTreeWidget.
donnees | les données stockées dans un tableau associatif. |
item | l'élément du QTreeWidget qui représente l'hyperviseur correspondant aux données. |
Définition à la ligne 245 du fichier afficheur.cpp.
void Afficheur::changerDonneesVMs | ( | QList< QVariantMap > | donnees, |
QTreeWidgetItem * | item | ||
) | [private] |
Cette méthode met à jour les données des VMs d'un hyperviseur dans le QTreeWidget.
Cette méthode est appelée par le slot ajouterDonnees() et met à jour les données des VMs d'un hyperviseur dans le QTreeWidget.
Les nouvelles VMs sont ajoutées à la liste et celle qui n'existent plus sont supprimées de la liste.
donnees | liste des données stockées dans un tableau associatif pour chaque VM. |
item | l'élément du QTreeWidget qui représente l'hyperviseur dans lequel se trouvent les VMs correspondant aux données. |
Définition à la ligne 268 du fichier afficheur.cpp.
void Afficheur::connexion | ( | bool | fermer | ) | [private, slot] |
Ce slot se connecte ou se déconnecte d'un collecteur grâce à l'instance de l'objet CollecteurSocket.
Ce slot se déconnecte du collecteur si fermer vaut false.
Si fermer vaut true, ce slot crée un objet ConnexionDialog qui va demander à l'utilisateur d'entrer l'adresse et le port du collecteur.
Si l'utilisateur clique sur le bouton Connexion, la connexion est effectuée puis l'adresse et le port sont mémorisés.
fermer | indique l'état du bouton de connection: false si l'utilisateur a cliqué dessus lorsqu'il était pressé. |
Définition à la ligne 169 du fichier afficheur.cpp.
void Afficheur::connexionEtablie | ( | ) | [private, slot] |
Ce slot est appelé lorsque la statut de la connexion passe à Connected.
Définition à la ligne 187 du fichier afficheur.cpp.
void Afficheur::creerOutilTailleZoom | ( | ) | [private] |
Cette méthode ajoute à la barre d'outil option les outils permettant de modifier les niveau de zoom et de taille.
Définition à la ligne 365 du fichier afficheur.cpp.
void Afficheur::deconnecte | ( | ) | [private, slot] |
Ce slot est appelé lorsque la statut de la connexion avec le collecteur passe à Connected.
Définition à la ligne 197 du fichier afficheur.cpp.
void Afficheur::redimmensionner | ( | int | pourcent | ) | [private, slot] |
Ce slot modifie le zoom de la scène.
Ce slot calcule le coefficient de zoom nécessaire pour passer de l'ancien niveau de zoom au nouveau.
Il met également à jour le texte qui indique la valeur actuelle du niveau de zoom.
pourcent | valeur (en pourcent) du nouveau niveau de zoom. |
Définition à la ligne 154 du fichier afficheur.cpp.
void Afficheur::remplirEcran | ( | ) | [private] |
Maximise la fenêtre.
Définition à la ligne 137 du fichier afficheur.cpp.
void Afficheur::timerEvent | ( | QTimerEvent * | ) | [protected] |
Le timer.
Le timer se charge de vérifier périodiquement (toute les secondes) la disposition des graphiques et les graphiques qui doivent être affichés, masqués, ajoutés ou supprimés.
Définition à la ligne 87 du fichier afficheur.cpp.
CollecteurSocket* Afficheur::collSocket [private] |
Contient l'instance de l'objet CollecteurSocket qui se charge de gérer la connexion au collecteur.
Définition à la ligne 63 du fichier afficheur.h.
QLabel* Afficheur::connexionInfos [private] |
Texts dans la barre de status qui indique l'état de la connexion avec le collecteur.
Définition à la ligne 69 du fichier afficheur.h.
QString Afficheur::hoteCourant [private] |
Stocke l'adresse du dernier collecteur utilisé.
Définition à la ligne 67 du fichier afficheur.h.
QList<HyperviseurGraphique*> Afficheur::hyperviseursAffiches [private] |
Liste qui contient les représentation des hyperviseur actuellement affichées.
Définition à la ligne 66 du fichier afficheur.h.
QHash<QString, HyperviseurGraphique*> Afficheur::hyperviseursGraph [private] |
Tableau associatif qui associe le nom d'un hyperviseur à sa représentation graphique (instance de la classe HyperviseurGraphique).
Définition à la ligne 64 du fichier afficheur.h.
QHash<QString, QTreeWidgetItem*> Afficheur::hyperviseursTree [private] |
Tableau associatif qui associe le nom d'un hyperviseur à sa représentation dans le QTreeWidget de l'interface graphique (instance de la classe QTreeWidgetItem).
Définition à la ligne 65 du fichier afficheur.h.
quint16 Afficheur::portCourant [private] |
Stocke le port du dernier collecteur utilisé.
Définition à la ligne 68 du fichier afficheur.h.
QGraphicsScene* Afficheur::scene [private] |
Correspond à la scène où les graphiques des hyperviseurs sont dessinés.
Définition à la ligne 62 du fichier afficheur.h.
QSlider* Afficheur::taille [private] |
Slider qui permet de changer les dimmensions des graphiques représentant les hyperviseurs.
Définition à la ligne 70 du fichier afficheur.h.
QLabel* Afficheur::tailleValeur [private] |
Texte qui indique la valeur actuelle de la taille.
Définition à la ligne 72 du fichier afficheur.h.
Ui::Afficheur* Afficheur::ui [private] |
Contient les composants de l'interface graphique.
Définition à la ligne 61 du fichier afficheur.h.
QSlider* Afficheur::zoom [private] |
Slider qui permet d'effectuer un zoom sur la scène.
Définition à la ligne 71 du fichier afficheur.h.
qreal Afficheur::zoomFacteur [private] |
Cette valeur stocke la dernière valeur de zoom utilisé.
Définition à la ligne 74 du fichier afficheur.h.
QLabel* Afficheur::zoomValeur [private] |
Texte qui indique la valeur actuelle du niveau de zoom.
Définition à la ligne 73 du fichier afficheur.h.