Superviseur - Afficheur 1.0
Ce logiciel correspond à l'afficheur de la suite des trois logiciels composant le superviseur
Connecteurs publics | Fonctions membres publiques | Fonctions membres protégées | Connecteurs privés | Fonctions membres privées | Attributs privés
Référence de la classe Afficheur

Classe principale qui représente la fenêtre principale. Plus de détails...

#include <afficheur.h>

Liste de tous les membres

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::Afficheurui
 Contient les composants de l'interface graphique.
QGraphicsScene * scene
 Correspond à la scène où les graphiques des hyperviseurs sont dessinés.
CollecteurSocketcollSocket
 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é.

Description détaillée

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.

À faire:

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.

Bogue:
Il est possible que le logiciel indique qu'il a cessé de fonctionner lorsqu'il est fermé.
Ceci provient de l'utilisation d'un timer et sera corrigé dans la prochaine version.

Définition à la ligne 35 du fichier afficheur.h.


Documentation des constructeurs et destructeur

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.

Paramètres:
parentpermet 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.


Documentation des fonctions membres

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.

À faire:
Utiliser le paramètre message dans la génération des messages d'erreur.
Paramètres:
socketErrorénumération qui indique quelle erreur est survenue.
messagemessage 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.

Paramètres:
donneescontient 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.

Paramètres:
eobjet 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.

Paramètres:
donneesles données stockées dans un tableau associatif.
iteml'é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.

Paramètres:
donneesliste des données stockées dans un tableau associatif pour chaque VM.
iteml'é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.

Paramètres:
fermerindique 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.

Paramètres:
pourcentvaleur (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.


Documentation des données membres

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.

Liste qui contient les représentation des hyperviseur actuellement affichées.

Définition à la ligne 66 du fichier afficheur.h.

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.

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.


La documentation de cette classe a été générée à partir des fichiers suivants :
 Tout Classes Espaces de nommage Fichiers Fonctions Variables