Ce widget, nommé TextDico, dérive de
la classe TextArea;
Il possède 2 constructeurs, permettant
ou non de lui associer un dictionnaire.
Dans le cas ou on ne choisit pas tout de suite de
spécifier un dictionnaire, on pourra par la suite en désigner
un, par la méthode setDicoName.
TextDico possède d'autres méthodes
spécifiques:
initAnalyse : permet d' amorcer la vérification du texte. Il faut lui passer un paramètre de type entier, représentant la position à partir de laquelle doit débuter la vérification du texte.
motFauxSuivant : renvoie, à partir de la position courante, le prochain mot dont l'orthographe est fausse.
suggestions : retourne, pour un mot donné, la liste des suggestions proposées pour la correction.
corrigerMot : le mot passé en paramètre remplace l'actuel mot faux dans le widget. Que ce mot incorrect soit en minuscules ou en majuscules, le remplacement conserve sa forme. De même, la correction sera écrite avec son initiale en majuscule s'il en est de même pour le mot qu'il doit remplacer.
initAnalyse crée une variable de classe Dictionnaire
Son constructeur commence par analyser le dictionnaire
spécifié par la variable passée en paramètre.
Il lit dans le fichier binaire le nombre de mots présents dans la
table.
Il va ensuite placer chacun de ces mots dans une table de hashage.
Sa méthode suggestion
contient plusieurs algorithmes pour bâtir, à partir d'un mot,
plusieurs variantes. Cette méthode est utile pour déterminer
si l'utilisateur a omis de taper une ou plusieurs lettres d'un mot. Il
s'agit ensuite de vérifier, pour chaque mot resultant de ces alorithmes,
s'il se trouve dans la table des mots.
La liste des mots corrects résultant de cette
recherche est ensuite retournée.
Les suggestions de correction sont présentés à
l'utilisateur par la classe FrameSuggestions,
qui définit une frame dotée d'une liste descendante et
de 4 boutons.
La classe contient une méthode setMots,
appelée par TextDico avec comme paramètre la liste
des suggestions de correction, et le mot incorrect à remplacer.
La méthode remplit la liste déroulante avec chacune de
ces suggestions, et sélectionne par défaut le premier mot
de la liste. Le mot ainsi sélectionné se retrouve dans un
objet TextField, librement éditable.
Les 4 boutons sont:
ok : signifie à TextDico
qu'il faut remplacer le mot faux par le mot sélectionné dans
la liste. TextDico récupère ce mot par la méthode
getMot.
Passer : signifie que l'utilisateur
ne désire pas corriger le mot courant, et souhaite passer au prochain
mot.
Ajouter : l'utilisateur souhaite
que le mot faux courant soit à l'avenir considéré
comme juste.
Ce mot doit donc être placé dans un fichier spécial.
(fonction non implémentée).
Annuler : l'utilisateur souhaite
arrêter là la correction orthographique.
Nous avons conçu, pour exemple d'utilisation, la classe Jspell:
Elle présente dans une frame le widget TextDico, ainsi
que 3 boutons.
Elle est définie comme écouteur de FrameSuggestions,
et peut donc en fonction des choix de l'utilisateur dans FrameSuggestions
enchainer sur l'action idoine: passer au mot suivant, en corrigeant le
mot ou sans le changer, ajouter le mot dans un fichier spécial (non
implémenté), stopper la phase de correction.
Ses boutons sont:
Vérifier : amorce la vérification
(méthode initAnalyse) puis apelle FrameSuggestions avec les différentes
suggestions pour le premier mot faux.
Toute la phase de correction se déroule alors sans appuyer sur
un bouton de la frame Jspell, mais uniquement sur ceux de FrameSuggestions.
Dictionnaire : appuyer sur ce bouton
provoque l'affichage d'une boite de dialogue, demandant à l'utilisateur
d'entrer ou de chercher un fichier de mots (ex: français, anglais...).
Fermer : clos l' application.
ScreenShots: