Collatinus  11.3
Fonctions membres publiques | Attributs privés | Liste de tous les membres
Référence de la classe ListeDic

La classe ListeDic gère l'ensemble des dictionnaires présents. Plus de détails...

#include <dicos.h>

Graphe de collaboration de ListeDic:
Collaboration graph
[légende]

Fonctions membres publiques

Dictionnairedictionnaire_par_nom (QString nom)
 trouve le dictionnaire dans la liste. Plus de détails...
 
void ajoute (Dictionnaire *d)
 Ajoute le dictionnaire d à la liste des dictionnaires. Plus de détails...
 
void change_courant (QString nom)
 Déclare le dictionnaire de nom nom comme dictionnaire courant. Plus de détails...
 
Dictionnairecourant ()
 Renvoie l'ojet dictionnaire courant. Plus de détails...
 
void change_courant2 (QString nom)
 Comme change_courant, mais pour le dictionnaire supplémentaire. Plus de détails...
 
Dictionnairecourant2 ()
 Comme courant(), mais pour le dictionnaire supplémentaire. Plus de détails...
 

Attributs privés

QMultiMap< QString, Dictionnaire * > liste
 QMap associant le nom du dictionnaire avec un pointeur vers l'objet. Plus de détails...
 
Dictionnairecurrens = NULL
 pointeur vers le dictionnaire courant Plus de détails...
 
Dictionnairecurrens2 = NULL
 pointeur vers le dictionnaire de la 2e fenêtre Plus de détails...
 

Description détaillée

La classe ListeDic gère l'ensemble des dictionnaires présents.

Cette classe est un peu étrange. En particulier, les dictionnaires courants y sont stockés, alors qu'a priori ils sont liés à la GUI, donc à MainWindow. Je me demande si je ne devrais pas réorganiser tout ça en remettant la QMap liste et les dictionnaires courants directement dans MainWindow. C'est d'autant plus vrai que MainWindow::createDicos crée les dicos deux fois, pour peupler les deux comboBox, et maintient une liste des noms des dicos.

La seule fonction "utile" dans cette classe serait ListeDic::dictionnaire_par_nom mais elle serait avantageusement remplacée par une ligne du genre if (_listeDicos.contains(nom)) courant = _listeDicos.value(nom); D'autre part, on peut récupérer l'indice entier de l'élément choisi dans la comboBox, donc il n'y a rien à chercher...

Bogue:
Pourquoi liste est-elle une QMultiMap ? Comme la recherche se fait par nom (donc par la clef) et qu'on ne retient que la première réponse, plusieurs occurrences d'une même clef sont inutiles. Autant utiliser une QMap.

Documentation des fonctions membres

void ListeDic::ajoute ( Dictionnaire d)

Ajoute le dictionnaire d à la liste des dictionnaires.

void ListeDic::change_courant ( QString  nom)

Déclare le dictionnaire de nom nom comme dictionnaire courant.

void ListeDic::change_courant2 ( QString  nom)

Comme change_courant, mais pour le dictionnaire supplémentaire.

Dictionnaire * ListeDic::courant ( )

Renvoie l'ojet dictionnaire courant.

Dictionnaire * ListeDic::courant2 ( )

Comme courant(), mais pour le dictionnaire supplémentaire.

Dictionnaire * ListeDic::dictionnaire_par_nom ( QString  nom)

trouve le dictionnaire dans la liste.

Renvoie
Un pointeur sur l'objet Dictionnaire dont le nom correpond à la chaîne nom.

Documentation des données membres

Dictionnaire* ListeDic::currens = NULL
private

pointeur vers le dictionnaire courant

Dictionnaire* ListeDic::currens2 = NULL
private

pointeur vers le dictionnaire de la 2e fenêtre

QMultiMap<QString, Dictionnaire *> ListeDic::liste
private

QMap associant le nom du dictionnaire avec un pointeur vers l'objet.


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