Eulexis  1.2
Connecteurs publics | Fonctions membres publiques | Attributs publics | Connecteurs privés | Fonctions membres privées | Attributs privés | Liste de tous les membres
Référence de la classe MainWindow

La classe MainWindow crée l'interface graphique d'Eulexis. Plus de détails...

#include <mainwindow.h>

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

Connecteurs publics

void lemmatiser (QString f="")
 affiche la lemmatisation de la forme dans la troisième fenêtre Plus de détails...
 

Fonctions membres publiques

 MainWindow (QWidget *parent=0)
 Créateur de la classe MainWindow. Plus de détails...
 
 ~MainWindow ()
 destructeur de la classe MainWindow Plus de détails...
 
void loadLemm ()
 charge les analyses et les traductions Plus de détails...
 
QString bulle (QString mot)
 pour afficher une bulle d'aide avec la lemmatisation du mot sous le curseur Plus de détails...
 

Attributs publics

QRegExp _reApostr
 
QRegExp _reWordBoundary
 

Connecteurs privés

void exportPdf ()
 exporte en pdf le contenu de la fenêtre de lemmatisation Plus de détails...
 
void imprimer ()
 Lance le dialogue d'impression pour la lemmatisation. Plus de détails...
 
void closeEvent (QCloseEvent *event)
 Vérifie que le travail est sauvé avant la fermeture de l'application. Plus de détails...
 
void effaceRes ()
 efface le contenu de la fenêtre de lemmatisation Plus de détails...
 
void nouveau ()
 efface le texte dans la deuxième fenêtre Plus de détails...
 
void ouvrir ()
 ouvre un texte dans la deuxième fenêtre Plus de détails...
 
void sauver (QString nomFichier="")
 sauve le travail en cours Plus de détails...
 
void aPropos ()
 Affiche une fenêtre de dialogue avec les remerciements. Plus de détails...
 
void valider ()
 valider ? Plus de détails...
 
void actualiser ()
 actualise le contenu de la deuxième ligne de saisie et celui des boutons associés. Plus de détails...
 
void actualiser2 ()
 actualise le contenu de la première ligne de saisie et celui des boutons associés. Plus de détails...
 
void consulter (QString f="", bool ajoute=true)
 pour consulter les dictionnaires Plus de détails...
 
void majA ()
 mise à jour des analyses Plus de détails...
 
void majAB ()
 mise à jour de l'abrégé du Bailly Plus de détails...
 
void majB ()
 mise à jour du Bailly Plus de détails...
 
void majC ()
 mise à jour de l'index commun Plus de détails...
 
void majL ()
 mise à jour du LSJ Plus de détails...
 
void majP ()
 mise à jour du Pape Plus de détails...
 
void majT ()
 mise à jour des traductions Plus de détails...
 
void avance ()
 avance à l'article suivant des dictionnaires Plus de détails...
 
void recule ()
 recule à l'article précédent des dictionnaires Plus de détails...
 
void forward ()
 avance dans l'historique de consultation Plus de détails...
 
void backward ()
 revient au dernier mot cherché dans les dictionnaires Plus de détails...
 
void effaceHist ()
 efface l'historique Plus de détails...
 
void suivreLien (QUrl url)
 suit le lien Plus de détails...
 
void montrer ()
 montrer/masquer la deuxième fenêtre (pour le texte) Plus de détails...
 
void montrer3 ()
 montrer/masquer la troisième fenêtre (pour la lemmatisation) Plus de détails...
 
void lemmatTxt ()
 lemmatisation du texte en respectant l'ordre des mots Plus de détails...
 
void lemmatAlpha ()
 lemmatisation du texte avec les mots dans l'ordre alphabétique Plus de détails...
 
void txt2csv ()
 ouvre un fichier txt et produit un fichier csv avec sa lemmatisaton. Plus de détails...
 
void lFr ()
 met le français comme langue cible Plus de détails...
 
void lAngl ()
 met l'anglais comme langue cible Plus de détails...
 
void lAlld ()
 met l'allemand comme langue cible Plus de détails...
 
void avCons ()
 met au premier plan la fenêtre de consultation Plus de détails...
 
void avLem ()
 met au premier plan la fenêtre de lemmatisation (l'ouvre si nécessaire) Plus de détails...
 
void avTxt ()
 met au premier plan la fenêtre de texte (l'ouvre si nécessaire) Plus de détails...
 
void choixPolice ()
 ouvre une boîte de dialogue pour le choix de la police et l'applique Plus de détails...
 
void chercher ()
 cherche une chaine dans la fenêtre active Plus de détails...
 
void rechercher ()
 poursuit la recherche Plus de détails...
 
void auxilium ()
 ouvre l'index de l'aide utilisateur (dans le navigateur par défaut) Plus de détails...
 
void toolsRestore ()
 affiche à nouveau la barre d'outils Plus de détails...
 
void dNext ()
 valide le choix de traduction et passe au lemme suivant Plus de détails...
 
void dPrev ()
 revient au lemme considéré précédemment Plus de détails...
 
void dSave ()
 sauve les choix déjà faits et propose de continuer ou d'arrêter. Plus de détails...
 
void dUndo ()
 annule les modifications faites pour le lemme en cours Plus de détails...
 
void dChgLem (int i)
 change la traduction du Bailly, quand on choisit un autre lemme dans ce dictionnaire Plus de détails...
 
void verifT ()
 lance la vérification des traductions Plus de détails...
 

Fonctions membres privées

void createW ()
 Prépare la fenêtre principale. Plus de détails...
 
void readSettings ()
 lecture des paramètres essentiels qui ont été sauvegardés lors de la dernière fermeture. Plus de détails...
 
QString latin2greek (QString f)
 convertit les caractères latins en caractères grecs Plus de détails...
 
int lireOptions ()
 groupe le choix des dictionnaires en un entier Plus de détails...
 
void createSecond ()
 Création d'un EditLatin pour afficher le texte. Plus de détails...
 
void createTrois ()
 création d'une troisième fenêtre, pour la lemmatisation Plus de détails...
 
void connecter ()
 connecte les actions aux slots Plus de détails...
 
bool alerte (bool sauv=true)
 Dialogue pour confirmer la fermeture. Plus de détails...
 
bool plusPetit (QString g1, QString g2)
 compare deux chaines en caractères grecs sans tenir compte des signes diacritiques. Plus de détails...
 
bool longs (QStringList sl)
 évalue la longueur de chaque article d'un même dictionnaire. Plus de détails...
 
void dSetUp ()
 crée la fenêtre pour vérifier les traductions et connecte les boutons aux slots Plus de détails...
 
void dAffiche (QString ligne)
 affiche un nouveau lemme et ses traductions dans la fenêtre de vérification. Plus de détails...
 
bool dValide ()
 valide le choix de traduction pour le lemme en cours Plus de détails...
 

Attributs privés

QStatusBar * _statusB
 
QLabel * _blabla
 
QString _rscrDir
 Chemin complet pour le répertoire des ressources. Plus de détails...
 
QTextBrowser * _txtEdit
 
QTextBrowser * _lemEdit
 
QLineEdit * _lineEdit
 
QLineEdit * _lineEdit2
 
QPushButton * _lemmatiser
 
QPushButton * _lemmatiser2
 
QPushButton * _avant
 
QPushButton * _apres
 
QToolButton * _beta
 
QAction * _exact
 
QAction * exportAct
 
QAction * printAct
 
QAction * quitAct
 
QAction * balaiAct
 
QAction * actionNouveau
 
QAction * actionOuvrir
 
QAction * actionSauver
 
QAction * actionTxt2csv
 
QAction * actionTextiColor
 
QAction * actionApostr
 
QAction * actionBOM
 
QAction * actionA_propos
 
QAction * actionConsulter
 
QAction * actionBackward
 
QAction * actionForward
 
QAction * deZoomAct
 
QAction * zoomAct
 
QAction * LSJ
 
QAction * Pape
 
QAction * AbrBailly
 
QAction * Bailly
 
QAction * actLSJ
 
QAction * actPape
 
QAction * actAbrBailly
 
QAction * actBailly
 
QAction * actComInd
 
QAction * actAnalyses
 
QAction * actTrad
 
QAction * betaAct
 
QAction * consAct
 
QAction * yeux
 
QAction * lunettes
 
QAction * lemTxt
 
QAction * lemAlpha
 
QActionGroup * groupeLang
 
QAction * langAngl
 
QAction * langAlld
 
QAction * langFr
 
QAction * fenCons
 
QAction * fenLem
 
QAction * fenTxt
 
QAction * chxPolice
 
QAction * findAct
 
QAction * reFindAct
 
QAction * auxAct
 
QAction * toolsRestoreAct
 
QMenuBar * menuBar
 
QMenu * menuFichier
 
QMenu * menuEdition
 
QMenu * menuDicos
 
QMenu * menuFenetre
 
QMenu * menuExtra
 
QMenu * menuAide
 
QToolBar * mainToolBar
 
const QRegExp reLettres = QRegExp("[A-Za-z]")
 
Lemmat__lemmatiseur
 
EditLatin_texte
 
QWidget * _second
 
QWidget * _trois
 
QString _entete
 
QStringList _historique
 
int _histItem
 
QAction * effHistAct
 
QStringList _msg
 
bool _changements
 
QString rech
 
QString repertoire
 
QString _apostrophes
 
int _lang
 
QDialog * dVerif
 
QLabel * dLemme
 
QLabel * dBeta
 
QLabel * dLemAv
 
QLabel * dNum
 
QLabel * dLemAp
 
QLabel * dTrAv
 
QLabel * dTrAp
 
QLabel * dNb
 
QLineEdit * dTrEn
 
QLineEdit * dTrFr
 
QLineEdit * dTrDe
 
QTextEdit * dTrB
 
QLineEdit * dComment
 
QComboBox * dLemB
 
QString dNomFic
 
QTextStream dFlux
 
QAction * actVerif
 
int opCode
 
int indice
 
int nbLem
 
int numLem
 
QRadioButton * choixEulexis
 
QRadioButton * choixBailly
 
QRadioButton * choixRemis
 
QPushButton * nextButton
 
QPushButton * previousButton
 
QStringList lg_Old
 
QStringList lgOrig
 
QStringList lgMod
 
QStringList elements
 
QStringList lemBailly
 
QStringList trBailly
 
QString css_vert = "background-color: #A0FFA0; selection-background-color: #009000;"
 
QString css_orange = "background-color: #FFC040; selection-background-color: #B06000;"
 
QString css_rouge = "background-color: #FF5040; selection-background-color: #A00020;"
 
QString css_gris = "background-color: #808080; selection-background-color: #808080;"
 
QString css_blanc = "background-color: #FFFFFF; selection-background-color: #000080;"
 

Description détaillée

La classe MainWindow crée l'interface graphique d'Eulexis.

Beaucoup de variables ne sont pas commentées ici, car elles correspondent à des boutons ou des items de menu ou aux actions qui leur sont associés. Les noms essaient d'être explicites.

Fortement inspirée de Collatinus

Documentation des constructeurs et destructeur

MainWindow::MainWindow ( QWidget *  parent = 0)

Créateur de la classe MainWindow.

Paramètres
parent: le parent de cette classe

Cette classe MainWindow crée l'interface graphique GUI pour Eulexis.

MainWindow::~MainWindow ( )

destructeur de la classe MainWindow

A faire:
Actuellement vide.

Documentation des fonctions membres

void MainWindow::actualiser ( )
privateslot

actualise le contenu de la deuxième ligne de saisie et celui des boutons associés.

Il y a deux lignes de saisie dans Eulexis : une dans la fenêtre principale et une deuxième dans la fenêtre de lemmatisation. Leur contenu est synchronisé. Les boutons à droite de ces lignes de saisie donne ce contenu en caractères grecs et il est également actualisé.

Note
La validation de l'une des lignes de saisie modifie la fenêtre qui la contient (i.e. consultation des dictionnaires pour la première et lemmatisation pour la seconde). Un clic sur l'un des boutons modifie l'autre fenêtre (i.e. consultation des dictionnaires pour un clic sur le second bouton et lemmatisation pour un clic sur le premier).
void MainWindow::actualiser2 ( )
privateslot

actualise le contenu de la première ligne de saisie et celui des boutons associés.

Il y a deux lignes de saisie dans Eulexis : une dans la fenêtre principale et une deuxième dans la fenêtre de lemmatisation. Leur contenu est synchronisé. Les boutons à droite de ces lignes de saisie donne ce contenu en caractères grecs et il est également actualisé.

Note
La validation de l'une des lignes de saisie modifie la fenêtre qui la contient (i.e. consultation des dictionnaires pour la première et lemmatisation pour la seconde). Un clic sur l'un des boutons modifie l'autre fenêtre (i.e. consultation des dictionnaires pour un clic sur le second bouton et lemmatisation pour un clic sur le premier).
bool MainWindow::alerte ( bool  sauv = true)
private

Dialogue pour confirmer la fermeture.

Paramètres
sauv: un booléen qui détermine le bouton par défaut
Renvoie
un booléen pour dire si on continue ou pas.

Si on souhaite quitter le programme ou charger un nouveau texte sans avoir sauvé le travail précédent, on affiche une boîte de dialogue pour proposer de sauver le travail. Elle propose trois boutons "Annuler", "Sauver" et "Ne pas sauver".

  • Si on clique sur le bouton "Annuler", la fonction retourne false et l'appelant doit en tenir compte (et ne rien faire).
  • Si on clique sur "Sauver", la routine MainWindow::sauver() est appelée avant de retourner la valeur true, sans chercher à savoir si la sauvegarde a bien été faite.
  • Si on clique sur "Ne pas sauver", on retourne true sans autre forme de procès.

Si le paramètre sauv est true, le bouton par défaut est "Sauver". Sinon, c'est "Ne pas sauver" qui est le bouton par défaut.

void MainWindow::aPropos ( )
privateslot

Affiche une fenêtre de dialogue avec les remerciements.

void MainWindow::auxilium ( )
privateslot

ouvre l'index de l'aide utilisateur (dans le navigateur par défaut)

void MainWindow::avance ( )
privateslot

avance à l'article suivant des dictionnaires

void MainWindow::avCons ( )
privateslot

met au premier plan la fenêtre de consultation

void MainWindow::avLem ( )
privateslot

met au premier plan la fenêtre de lemmatisation (l'ouvre si nécessaire)

void MainWindow::avTxt ( )
privateslot

met au premier plan la fenêtre de texte (l'ouvre si nécessaire)

void MainWindow::backward ( )
privateslot

revient au dernier mot cherché dans les dictionnaires

QString MainWindow::bulle ( QString  mot)

pour afficher une bulle d'aide avec la lemmatisation du mot sous le curseur

Paramètres
mot: le mot sous le curseur
Renvoie
le contenu de la bulle d'aide à afficher
void MainWindow::chercher ( )
privateslot

cherche une chaine dans la fenêtre active

Cette routine ouvre une boîte de dialogue pour savoir quelle chaine chercher et appelle MainWindow::rechercher. En pratique, elle est appelée par l'item du menu Édition/Chercher ou par Ctrl-F.

void MainWindow::choixPolice ( )
privateslot

ouvre une boîte de dialogue pour le choix de la police et l'applique

void MainWindow::closeEvent ( QCloseEvent *  event)
privateslot

Vérifie que le travail est sauvé avant la fermeture de l'application.

S'il y a eu des changements depuis la dernière sauvegarde, j'ouvre une boîte de dialogue qui demande une confirmation. Voir MainWindow::alerte. Lorsque la fermeture est confirmée, je sauve les paramètres essentiels de l'application.

void MainWindow::connecter ( )
private

connecte les actions aux slots

void MainWindow::consulter ( QString  f = "",
bool  ajoute = true 
)
privateslot

pour consulter les dictionnaires

Paramètres
f: le lemme recherché
ajoute: un booléen, true par défaut, pour ajouter le mot cherché dans l'historique

Cette routine affiche, dans la fenêtre principale, les articles des dictionnaires sélectionnés qui correspondent au lemme demandé.

Quand on voyage dans l'historique, il ne faut pas y ajouter de nouveaux items donc ajoute sera false.

void MainWindow::createSecond ( )
private

Création d'un EditLatin pour afficher le texte.

void MainWindow::createTrois ( )
private

création d'une troisième fenêtre, pour la lemmatisation

void MainWindow::createW ( )
private

Prépare la fenêtre principale.

void MainWindow::dAffiche ( QString  ligne)
private

affiche un nouveau lemme et ses traductions dans la fenêtre de vérification.

Paramètres
ligne: la ligne du fichier contenant les informations à vérifier.
void MainWindow::dChgLem ( int  i)
privateslot

change la traduction du Bailly, quand on choisit un autre lemme dans ce dictionnaire

Paramètres
i: le numéro de l'item choisi dans la comboBox

Un des buts de la vérification des traductions est de déméler les homonymes. Initialement, les lemmes avaient une traduction anglaise tirée du LSJ. Pas toujours heureuse dans le cas des homonymes. Lorsque j'ai dépouillé le Bailly 2020, j'ai mis en regard avec les lemmes d'Eulexis tous les homonymes trouvés dans le Bailly qui pourraient correspondre. Ils sont dans une comboBox et l'utilisateur doit choisir quel lemme du Bailly correspond à celui proposé (la traduction anglaise aide à choisir).

void MainWindow::dNext ( )
privateslot

valide le choix de traduction et passe au lemme suivant

C'est ce qui se passe quand on clique sur le bouton par défaut : on valide le choix et on passe au lemme suivant. Quand on a atteint la fin du fichier, l'ensemble des informations est sauvé et la fenêtre de vérification est fermée.

void MainWindow::dPrev ( )
privateslot

revient au lemme considéré précédemment

Ce slot est appelé quand on clique sur le bouton "Previous". On revient alors au lemme qui précède et on peut corriger les traductions.

void MainWindow::dSave ( )
privateslot

sauve les choix déjà faits et propose de continuer ou d'arrêter.

Ce slot est appelé quand on a cliqué sur le bouton "Save". Il sauve l'ensemble des choix déjà faits, tout en conservant l'état précédent du fichier de sortie (en le renommant en .bak). Une fois que le fichier est sauvé, il ouvre une boîte de dialogue pour demander ce que l'on souhaite faire. Le choix se résume à continuer ou à arrêter.

Note
A priori, il n'est pas utile de sauver le travail en cours. La sauvegarde est automatique quand on arrive à la fin du fichier et les fichiers sont suffisamment courts pour qu'ils puissent être revus en une séance de travail. Toutefois, si on doit interrompre son travail, il vaut toujours mieux sauver ce qui a déjà été fait.
void MainWindow::dSetUp ( )
private

crée la fenêtre pour vérifier les traductions et connecte les boutons aux slots

void MainWindow::dUndo ( )
privateslot

annule les modifications faites pour le lemme en cours

Ce slot est appelé quand on clique sur le bouton "Cancel". Il ouvre une fenêtre de dialogue pour demander une confirmation. Si on est revenu en arrière sur un lemme pour lequel le choix a été validé, on peut revenir aux données initiales ou aux données validées la première fois (et annuler seulement les dernières modifs).

bool MainWindow::dValide ( )
private

valide le choix de traduction pour le lemme en cours

Renvoie
un booléen true si on veut passer au lemme suivant

On a cliqué sur le bouton de validation, après avoir choisi la nouvelle traduction du Bailly, la traduction actuelle d'Eulexis ou en remettant le choix à plus tard. Dans ce dernier cas, le programme demande une confirmation et retournera false si on annule ce non-choix (auquel cas, on reste sur le lemme en cours).

Cette routine regarde le choix fait (i.e. quel radio-bouton est validé), et mets dans le fichier de sortie l'information correspondante.

void MainWindow::effaceHist ( )
privateslot

efface l'historique

void MainWindow::effaceRes ( )
privateslot

efface le contenu de la fenêtre de lemmatisation

void MainWindow::exportPdf ( )
privateslot

exporte en pdf le contenu de la fenêtre de lemmatisation

Ouvre une fenêtre de dialogue pour choisir le nom du fichier à créer. Le contenu de la fenêtre de lemmatisation est imprimé dans le fichier sus-nommé.

void MainWindow::forward ( )
privateslot

avance dans l'historique de consultation

On ne peut avancer dans l'historique que si on est revenu en arrière auparavant.

void MainWindow::imprimer ( )
privateslot

Lance le dialogue d'impression pour la lemmatisation.

void MainWindow::lAlld ( )
privateslot

met l'allemand comme langue cible

void MainWindow::lAngl ( )
privateslot

met l'anglais comme langue cible

QString MainWindow::latin2greek ( QString  f)
private

convertit les caractères latins en caractères grecs

Paramètres
f: une chaine en caractères latins
Renvoie
la même chaine en caractères grecs

Version moins élaborée que la conversion de betacode en unicode puisqu'elle ne gère pas les signes diacritiques. Plus rapide ? Voir Lemmat::beta2unicode

void MainWindow::lemmatAlpha ( )
privateslot

lemmatisation du texte avec les mots dans l'ordre alphabétique

Le texte contenu dans la deuxième fenêtre est décomposé en mots qui sont rangés en ordre alphabétique sans tenir compte des signes diacritiques. Le contenu de la troisième fenêtre (fenêtre de lemmatisation) est effacé et remplacé par le résultat de la lemmatisation des mots du texte préalablement ordonnés.

Note
L'option TextiColor n'a pas d'effet ici : le texte de la deuxième fenêtre reste inchangé.
A faire:
reprendre dans Collatinus l'élimination des chiffres collés aux mots.
void MainWindow::lemmatiser ( QString  f = "")
slot

affiche la lemmatisation de la forme dans la troisième fenêtre

Paramètres
f: la forme à lemmatiser

Si la forme f est vide, on prend le contenu de la ligne de saisie de la fenêtre.

void MainWindow::lemmatTxt ( )
privateslot

lemmatisation du texte en respectant l'ordre des mots

Le texte contenu dans la deuxième fenêtre est décomposé en mots. Le contenu de la troisième fenêtre (fenêtre de lemmatisation) est effacé et remplacé par le résultat de la lemmatisation des mots du texte.

Si les deux options "formes exactes" et "TextiColor" sont activées, le texte colorisé remplace le texte d'origine dans la deuxième fenêtre.

Note
Moyennant un peu d'effort, on doit pouvoir lever la contrainte sur l'option "formes exactes" pour que le texte soit colorisé.
A faire:
reprendre dans Collatinus l'élimination des chiffres collés aux mots.
void MainWindow::lFr ( )
privateslot

met le français comme langue cible

int MainWindow::lireOptions ( )
private

groupe le choix des dictionnaires en un entier

Renvoie
un entier entre 0 et 15
Obsolète:
ne semble pas utilisée
void MainWindow::loadLemm ( )

charge les analyses et les traductions

Comme le chargement prend un peu de temps, je mets un message dans la barre de "status"

bool MainWindow::longs ( QStringList  sl)
private

évalue la longueur de chaque article d'un même dictionnaire.

Paramètres
sl: une liste de chaine contenant les articles
Renvoie
true si l'un des articles dépasse la longueur d'une page

Cette fonction est utile pour savoir s'il faut intercaler la liste de liens entre les différents articles de dictionnaire. Si tous les articles d'un dictionnaire donné sont courts, on peut les grouper sans mettre de ligne de liens entre deux articles. Si dans l'ensemble des articles que l'on veut afficher il y en a des longs, on va essayer de faire des groupes pour avoir une ligne de liens de temps en temps.

void MainWindow::majA ( )
privateslot

mise à jour des analyses

void MainWindow::majAB ( )
privateslot

mise à jour de l'abrégé du Bailly

Cette routine ouvre une boîte de dialogue pour trouver la copie de travail du dictionnaire et l'installer à la place de la version précédente.

Dans Eulexis, les dictionnaires sont simplement en HTML. N'importe qui peut donc les corriger à chaque fois qu'une erreur est trouvée. Quand on est satisfait des corrections apportées sur une copie de travail, on peut l'importer dans Eulexis. Cette routine recopie la copie de travail au bon endroit et appelle Lemmat::majAbrBailly qui va lire le dictionnaire et reconstruire l'index correspondant.

Attention
Ne jamais travailler directement sur le fichier utilisé par Eulexis !
Toujours conserver une copie du fichier d'origine (on sait qu'il est conforme aux attentes du programme).
void MainWindow::majB ( )
privateslot

mise à jour du Bailly

Cette routine ouvre une boîte de dialogue pour trouver la copie de travail du dictionnaire et l'installer à la place de la version précédente.

Dans Eulexis, les dictionnaires sont simplement en HTML. N'importe qui peut donc les corriger à chaque fois qu'une erreur est trouvée. Quand on est satisfait des corrections apportées sur une copie de travail, on peut l'importer dans Eulexis. Cette routine recopie la copie de travail au bon endroit et appelle Lemmat::majBailly qui va lire le dictionnaire et reconstruire l'index correspondant.

Attention
Ne jamais travailler directement sur le fichier utilisé par Eulexis !
Toujours conserver une copie du fichier d'origine (on sait qu'il est conforme aux attentes du programme).
void MainWindow::majC ( )
privateslot

mise à jour de l'index commun

Renvoie directement sur Lemmat::indexCommun

void MainWindow::majL ( )
privateslot

mise à jour du LSJ

Cette routine ouvre une boîte de dialogue pour trouver la copie de travail du dictionnaire et l'installer à la place de la version précédente.

Dans Eulexis, les dictionnaires sont simplement en HTML. N'importe qui peut donc les corriger à chaque fois qu'une erreur est trouvée. Quand on est satisfait des corrections apportées sur une copie de travail, on peut l'importer dans Eulexis. Cette routine recopie la copie de travail au bon endroit et appelle Lemmat::majLSJ qui va lire le dictionnaire et reconstruire l'index correspondant.

Attention
Ne jamais travailler directement sur le fichier utilisé par Eulexis !
Toujours conserver une copie du fichier d'origine (on sait qu'il est conforme aux attentes du programme).
void MainWindow::majP ( )
privateslot

mise à jour du Pape

Cette routine ouvre une boîte de dialogue pour trouver la copie de travail du dictionnaire et l'installer à la place de la version précédente.

Dans Eulexis, les dictionnaires sont simplement en HTML. N'importe qui peut donc les corriger à chaque fois qu'une erreur est trouvée. Quand on est satisfait des corrections apportées sur une copie de travail, on peut l'importer dans Eulexis. Cette routine recopie la copie de travail au bon endroit et appelle Lemmat::majPape qui va lire le dictionnaire et reconstruire l'index correspondant.

Attention
Ne jamais travailler directement sur le fichier utilisé par Eulexis !
Toujours conserver une copie du fichier d'origine (on sait qu'il est conforme aux attentes du programme).
void MainWindow::majT ( )
privateslot

mise à jour des traductions

void MainWindow::montrer ( )
privateslot

montrer/masquer la deuxième fenêtre (pour le texte)

void MainWindow::montrer3 ( )
privateslot

montrer/masquer la troisième fenêtre (pour la lemmatisation)

void MainWindow::nouveau ( )
privateslot

efface le texte dans la deuxième fenêtre

void MainWindow::ouvrir ( )
privateslot

ouvre un texte dans la deuxième fenêtre

bool MainWindow::plusPetit ( QString  g1,
QString  g2 
)
private

compare deux chaines en caractères grecs sans tenir compte des signes diacritiques.

Paramètres
g1: une chaine en caractères grecs
g2: une chaine en caractères grecs
Renvoie
true si g1 vient avant g2

La comparaison habituelle de deux chaines de caractères passe par l'ordre des codes numériques associés aux lettres. donc β (03B2) vient avant ά (1F71) or on voudrait ranger tous les α, qu'ils aient un esprit ou un accent ou pas, avant de passer à β.

void MainWindow::readSettings ( )
private

lecture des paramètres essentiels qui ont été sauvegardés lors de la dernière fermeture.

void MainWindow::rechercher ( )
privateslot

poursuit la recherche

La chaine à chercher est déjà connue. Cette routine fait la recherche dans la fenêtre active. En pratique, elle est appelée par l'item du menu Édition/Chercher encore ou par Ctrl-G. C'est aussi la deuxième étape de MainWindow::chercher.

void MainWindow::recule ( )
privateslot

recule à l'article précédent des dictionnaires

void MainWindow::sauver ( QString  nomFichier = "")
privateslot

sauve le travail en cours

Paramètres
nomFichier: le nom sous lequel sauver le fichier

Si le nom de fichier est vide, on ouvre une fenêtre de dialogue pour choisir le nom du fichier.

void MainWindow::suivreLien ( QUrl  url)
privateslot

suit le lien

Paramètres
url: l'adresse du lien

Dans la fenêtre de consultation des dictionnaires et dans la fenêtre de lemmatisation, j'ai mis des liens que je dois interpréter. Dans la fenêtre de lemmatisation, les liens sont sur les lemmes et si on clique dessus, ils conduisent à la consultation des dictionnaires pour le lemme cliqué.

Dans la fenêtre de consultation des dictionnaires, c'est plus compliqué car il y a plusieurs types de liens :

  • liens vers une ancre dans la page
  • renvois vers un autre mot (donc consultation des dictionnaires)
  • explicitation des références dans le LSJ
A faire:
Dans le LSJ et dans le Bailly, j'ai l'explicitation des références aux œuvres citées. Je ne l'ai pas pour les deux autres dictionnaires. Dans le LSJ, je cherche lors de l'affichage si je reconnais une citation auquel cas je mets un lien qui l'explicite. C'est un travail que je n'ai pas encore fait pour le Bailly. Cela dit, je pourrais mettre des repères dans le fichier HTML du Bailly, plutôt que de chercher a posteriori les références...
void MainWindow::toolsRestore ( )
privateslot

affiche à nouveau la barre d'outils

void MainWindow::txt2csv ( )
privateslot

ouvre un fichier txt et produit un fichier csv avec sa lemmatisaton.

Cette routine ouvre une fenêtre de dialogue pour choisir un fichier txt. Ce texte est lu et lemmatisé avec seulement le lemme, pas l'analyse. L'ensemble des lemmatisations est mis dans un fichier csv.

Note
Lorsque l'option "TextiColor" est activée, un fichier HTML est également créé avec le texte colorisé.
A faire:
David Carter m'a signalé un problème lorsque le fichier d'analyses donne la forme (avec longueurs) en plus du lemme. Il ne voudrait conserver que le lemme. Ici ou dans Lemmat::lem2csv
void MainWindow::valider ( )
privateslot

valider ?

Obsolète:
fonction vide et non utilisée
void MainWindow::verifT ( )
privateslot

lance la vérification des traductions

Ce slot est appelé par l'item de menu Extra/Vérifier les traductions. Si la fenêtre de vérification est déjà ouverte, il se contente de la mettre au premier plan. Sinon, il ouvre une fenêtre de dialogue pour choisir le fichier de traductions à vérifier. Si le fichier a déjà été (partiellement) revu (voir MainWindow::dSave), les données d'origine sont chargées aussi (si le fichier est trouvé) et le travail est repris là où il a été interrompu.

Note
On trouvera un mode d'emploi détaillé sur https://github.com/DigiClass/alpheios-french-dictionary/blob/master/docs/mode_d_emploi.md

Documentation des données membres

Lemmat* MainWindow::__lemmatiseur
private
QString MainWindow::_apostrophes
private
QPushButton* MainWindow::_apres
private
QPushButton* MainWindow::_avant
private
QToolButton* MainWindow::_beta
private
QLabel* MainWindow::_blabla
private
bool MainWindow::_changements
private
QString MainWindow::_entete
private
QAction* MainWindow::_exact
private
int MainWindow::_histItem
private
QStringList MainWindow::_historique
private
int MainWindow::_lang
private
QTextBrowser* MainWindow::_lemEdit
private
QPushButton* MainWindow::_lemmatiser
private
QPushButton* MainWindow::_lemmatiser2
private
QLineEdit* MainWindow::_lineEdit
private
QLineEdit* MainWindow::_lineEdit2
private
QStringList MainWindow::_msg
private
QRegExp MainWindow::_reApostr
QRegExp MainWindow::_reWordBoundary
QString MainWindow::_rscrDir
private

Chemin complet pour le répertoire des ressources.

QWidget* MainWindow::_second
private
QStatusBar* MainWindow::_statusB
private
EditLatin* MainWindow::_texte
private
QWidget* MainWindow::_trois
private
QTextBrowser* MainWindow::_txtEdit
private
QAction* MainWindow::AbrBailly
private
QAction* MainWindow::actAbrBailly
private
QAction* MainWindow::actAnalyses
private
QAction* MainWindow::actBailly
private
QAction* MainWindow::actComInd
private
QAction* MainWindow::actionA_propos
private
QAction* MainWindow::actionApostr
private
QAction* MainWindow::actionBackward
private
QAction* MainWindow::actionBOM
private
QAction* MainWindow::actionConsulter
private
QAction* MainWindow::actionForward
private
QAction* MainWindow::actionNouveau
private
QAction* MainWindow::actionOuvrir
private
QAction* MainWindow::actionSauver
private
QAction* MainWindow::actionTextiColor
private
QAction* MainWindow::actionTxt2csv
private
QAction* MainWindow::actLSJ
private
QAction* MainWindow::actPape
private
QAction* MainWindow::actTrad
private
QAction* MainWindow::actVerif
private
QAction* MainWindow::auxAct
private
QAction* MainWindow::Bailly
private
QAction* MainWindow::balaiAct
private
QAction* MainWindow::betaAct
private
QRadioButton* MainWindow::choixBailly
private
QRadioButton* MainWindow::choixEulexis
private
QRadioButton* MainWindow::choixRemis
private
QAction* MainWindow::chxPolice
private
QAction* MainWindow::consAct
private
QString MainWindow::css_blanc = "background-color: #FFFFFF; selection-background-color: #000080;"
private
QString MainWindow::css_gris = "background-color: #808080; selection-background-color: #808080;"
private
QString MainWindow::css_orange = "background-color: #FFC040; selection-background-color: #B06000;"
private
QString MainWindow::css_rouge = "background-color: #FF5040; selection-background-color: #A00020;"
private
QString MainWindow::css_vert = "background-color: #A0FFA0; selection-background-color: #009000;"
private
QLabel* MainWindow::dBeta
private
QLineEdit* MainWindow::dComment
private
QAction* MainWindow::deZoomAct
private
QTextStream MainWindow::dFlux
private
QLabel* MainWindow::dLemAp
private
QLabel* MainWindow::dLemAv
private
QComboBox* MainWindow::dLemB
private
QLabel* MainWindow::dLemme
private
QLabel* MainWindow::dNb
private
QString MainWindow::dNomFic
private
QLabel* MainWindow::dNum
private
QLabel* MainWindow::dTrAp
private
QLabel* MainWindow::dTrAv
private
QTextEdit* MainWindow::dTrB
private
QLineEdit* MainWindow::dTrDe
private
QLineEdit* MainWindow::dTrEn
private
QLineEdit* MainWindow::dTrFr
private
QDialog* MainWindow::dVerif
private
QAction* MainWindow::effHistAct
private
QStringList MainWindow::elements
private
QAction* MainWindow::exportAct
private
QAction* MainWindow::fenCons
private
QAction* MainWindow::fenLem
private
QAction* MainWindow::fenTxt
private
QAction* MainWindow::findAct
private
QActionGroup* MainWindow::groupeLang
private
int MainWindow::indice
private
QAction* MainWindow::langAlld
private
QAction* MainWindow::langAngl
private
QAction* MainWindow::langFr
private
QAction* MainWindow::lemAlpha
private
QStringList MainWindow::lemBailly
private
QAction* MainWindow::lemTxt
private
QStringList MainWindow::lg_Old
private
QStringList MainWindow::lgMod
private
QStringList MainWindow::lgOrig
private
QAction* MainWindow::LSJ
private
QAction* MainWindow::lunettes
private
QToolBar* MainWindow::mainToolBar
private
QMenu* MainWindow::menuAide
private
QMenuBar* MainWindow::menuBar
private
QMenu* MainWindow::menuDicos
private
QMenu* MainWindow::menuEdition
private
QMenu* MainWindow::menuExtra
private
QMenu* MainWindow::menuFenetre
private
QMenu* MainWindow::menuFichier
private
int MainWindow::nbLem
private
QPushButton* MainWindow::nextButton
private
int MainWindow::numLem
private
int MainWindow::opCode
private
QAction* MainWindow::Pape
private
QPushButton* MainWindow::previousButton
private
QAction* MainWindow::printAct
private
QAction* MainWindow::quitAct
private
QString MainWindow::rech
private
QAction* MainWindow::reFindAct
private
const QRegExp MainWindow::reLettres = QRegExp("[A-Za-z]")
private
QString MainWindow::repertoire
private
QAction* MainWindow::toolsRestoreAct
private
QStringList MainWindow::trBailly
private
QAction* MainWindow::yeux
private
QAction* MainWindow::zoomAct
private

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