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

La classe Dictionnaire contient l'information relative à un dictionnaire. Plus de détails...

#include <dicos.h>

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

Fonctions membres publiques

 Dictionnaire (QString cfg, QObject *parent=0)
 Initialise le dictionnaire avec les données trouvées dans le fichier cfg. Plus de détails...
 
QString entree_pos (qint64 pos, qint64 taille)
 Lit l'article du dictionnaire spécifié par pos et taille. Plus de détails...
 
bool estXml ()
 Renvoie vrai si le dictionnaire actif est au format xml, faux dans le cas contraire. Plus de détails...
 
QString indexJv ()
 Renvoie le nom du fichier contenant l'index du dictionnaire djvu courant. Plus de détails...
 
bool lis_index_djvu ()
 Lit le fichier d'index du dico en djvu. Plus de détails...
 
QStringList liens ()
 Renvoie le code html des liens de la page de dictionnaire affichée. Plus de détails...
 
QString nom ()
 
int noPageDjvu ()
 Renvoie le numéro de la dernière page de dictionnaire djvu consultée. Plus de détails...
 
QString page (QStringList req, int no=0)
 Fonction de relais qui oriente la requête req vers les fonctions spécialisées de consultation djvu ou xml. Plus de détails...
 
QString pageDjvu (int p)
 Extrait du fichier djvu la page demandée au format TIF qui sera affichée dans le navigateur. Plus de détails...
 
QString pageDjvu (QStringList req, int no=0)
 Affiche une page d'un dictionnaire en djvu. Plus de détails...
 
QString pageXml (QStringList lReq)
 Renvoie les entrées du dictionnaire xml actif demandées par lReq. Plus de détails...
 
QString pgPrec ()
 Fonction de navigation, page précédente. Plus de détails...
 
QString pgSuiv ()
 Fonction de navigation, page suivante. Plus de détails...
 
QString ramise (QString f)
 Essaie de convertir la chaîne f pour qu'elle ait une graphie ramiste (avec des 'v' et des 'j'), et renvoie le résultat. Plus de détails...
 
void vide_index ()
 Efface l'index du dictionnaire djvu. Plus de détails...
 
void vide_ligneLiens ()
 Efface la ligne de liens vers les divers articles qui s'affichent dans une page xml. Plus de détails...
 

Fonctions membres privées

QString chopNum (const QString c)
 Renvoie une copie de c tronquée de tous les caractères numériques qui la terminent. Plus de détails...
 
int compChaines (QString s1, QString s2)
 Dictionnaire::compChaines. Plus de détails...
 
QString linPrec (QTextStream *s, qint64 pos)
 

Attributs privés

QString auteur
 
QString chData
 
QString cond_jv
 
QString alphabet
 
QStringList caracteres
 
QList< int > indices
 
int nbCar
 
int debut
 
bool djvu
 
QString echelle
 
QStringList idxDjvu
 
QString idxJv
 
bool ji
 
bool JI
 
bool jv
 
QStringList _liens
 
QString ligneLiens
 
QString n
 
int pdj
 
QString prec
 
QString repertoire
 
QString suiv
 
QString url
 
bool xml
 
bool xsl
 

Description détaillée

La classe Dictionnaire contient l'information relative à un dictionnaire.

Documentation des constructeurs et destructeur

Dictionnaire::Dictionnaire ( QString  cfg,
QObject *  parent = 0 
)

Initialise le dictionnaire avec les données trouvées dans le fichier cfg.

Paramètres
cfg: nom du fichier de configuration
parent: le parent de ce dictionnaire

Documentation des fonctions membres

QString Dictionnaire::chopNum ( const QString  c)
private

Renvoie une copie de c tronquée de tous les caractères numériques qui la terminent.

int Dictionnaire::compChaines ( QString  s1,
QString  s2 
)
private

Dictionnaire::compChaines.

Paramètres
s1une première chaine
s2la deuxième chaine
Renvoie
Un entier >0 si (s2 > s1) en tenant compte de l'ordre alphabétique donné par la variable alphabet.

Cette variable alphabet a été introduite pour traiter le cas du Tchèque où le digraphe "ch" est rangé entre le h et le i. Elle permet aussi de traiter des cas où plusieurs lettres occupent le même rang, par exemple si le "ph" se confond avec le "f".

QString Dictionnaire::entree_pos ( qint64  pos,
qint64  taille 
)

Lit l'article du dictionnaire spécifié par pos et taille.

Paramètres
pos: entier 64 bits avec la position du début de l'article dans le fichier
taille: entier 64 bits avec la taille de l'article dans le fichier
Renvoie
Le texte de l'article en HTML

Dans le fichier .cz, chaque article est compressé et ils sont mis bout à bout. L'index garde la trace de la position de chaque article et de sa longueur. Cette routine va donc chercher le bon morceau dans le fichier .cz et le décompresse pour obtenir l'HTML à afficher.

bool Dictionnaire::estXml ( )

Renvoie vrai si le dictionnaire actif est au format xml, faux dans le cas contraire.

QString Dictionnaire::indexJv ( )

Renvoie le nom du fichier contenant l'index du dictionnaire djvu courant.

QStringList Dictionnaire::liens ( )

Renvoie le code html des liens de la page de dictionnaire affichée.

QString Dictionnaire::linPrec ( QTextStream *  s,
qint64  pos 
)
private
bool Dictionnaire::lis_index_djvu ( )

Lit le fichier d'index du dico en djvu.

Renvoie
false si la lecture échoue

Cette fonction peuple la liste Dictionnaire::idxDjvu qui contient le premier mot de chaque page du dictionnaire. Cf. Dictionnaire::vide_index ()

QString Dictionnaire::nom ( )
Renvoie
le nom du dictionnaire

Le nom réel du dictionnaire est allongé par une indication de version. On la coupe ici pour avoir un nom facile à afficher.

int Dictionnaire::noPageDjvu ( )

Renvoie le numéro de la dernière page de dictionnaire djvu consultée.

QString Dictionnaire::page ( QStringList  req,
int  no = 0 
)

Fonction de relais qui oriente la requête req vers les fonctions spécialisées de consultation djvu ou xml.

QString Dictionnaire::pageDjvu ( int  p)

Extrait du fichier djvu la page demandée au format TIF qui sera affichée dans le navigateur.

Paramètres
p: numéro de la page du dictionnaire à afficher
Renvoie
le texte HTML pour afficher la page de dictionnaire

Ici, on connaît le numéro de la page souhaitée. On va donc convertir la page correspondante dans le djvu au format TIF et la stocker à un endroit convenu. Le nom de ce fichier est repris comme source pour l'image affichée dans la page HTML.

Attention
Cette fonction est particulièrement délicate car la syntaxe à employer pour les différentes plateformes est différente.
QString Dictionnaire::pageDjvu ( QStringList  req,
int  no = 0 
)

Affiche une page d'un dictionnaire en djvu.

Paramètres
req: QStringList contenant le résultat de la lemmatisation
no: numéro de l'item que l'on souhaite afficher
Renvoie
le texte HTML qui affiche l'image de la page du dictionnaire djvu

Ici, on part de la liste des mots qui peuvent nous intéresser (liste obtenue par la lemmatisation d'une forme) et on souhaite afficher la page contenant l'item n° no dans cette liste.

On va donc :

  • Créer la ligne de liens correspondants aux différents lemmes présents dans la requête, req.
  • Convertir la page contenant l'item n° no dans la liste req en TIF en appellant Dictionnaire::pageDjvu(int p)
  • Retourner le texte HTML complet.
QString Dictionnaire::pageXml ( QStringList  lReq)

Renvoie les entrées du dictionnaire xml actif demandées par lReq.

QString Dictionnaire::pgPrec ( )

Fonction de navigation, page précédente.

QString Dictionnaire::pgSuiv ( )

Fonction de navigation, page suivante.

QString Dictionnaire::ramise ( QString  f)

Essaie de convertir la chaîne f pour qu'elle ait une graphie ramiste (avec des 'v' et des 'j'), et renvoie le résultat.

void Dictionnaire::vide_index ( )

Efface l'index du dictionnaire djvu.

Cette fonction vide la liste Dictionnaire::idxDjvu qui contient le premier mot de chaque page du dictionnaire. Cf. Dictionnaire::lis_index_djvu ()

Obsolète:
Je ne vois pas pourquoi effacer l'index du dico. Probablement, Yves effaçait l'index pour des questions de mémoire. Toutefois, l'index du dico est une liste dans l'objet Dictionnaire lui-même. Je ne vois pas bien quel sera le gain que l'on a à effacer l'index : l'objet va-t-il maigrir quand on fait ça ? Surtout qu'à la prochaine utilisation, on va repeupler cette liste avec exactement le même contenu. Je vais commenter ces purges (inutiles ?)...
void Dictionnaire::vide_ligneLiens ( )

Efface la ligne de liens vers les divers articles qui s'affichent dans une page xml.

Documentation des données membres

QStringList Dictionnaire::_liens
private
QString Dictionnaire::alphabet
private
QString Dictionnaire::auteur
private
QStringList Dictionnaire::caracteres
private
QString Dictionnaire::chData
private
QString Dictionnaire::cond_jv
private
int Dictionnaire::debut
private
bool Dictionnaire::djvu
private
QString Dictionnaire::echelle
private
QStringList Dictionnaire::idxDjvu
private
QString Dictionnaire::idxJv
private
QList<int> Dictionnaire::indices
private
bool Dictionnaire::ji
private
bool Dictionnaire::JI
private
bool Dictionnaire::jv
private
QString Dictionnaire::ligneLiens
private
QString Dictionnaire::n
private
int Dictionnaire::nbCar
private
int Dictionnaire::pdj
private
QString Dictionnaire::prec
private
QString Dictionnaire::repertoire
private
QString Dictionnaire::suiv
private
QString Dictionnaire::url
private
bool Dictionnaire::xml
private
bool Dictionnaire::xsl
private

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