[script nvda] Extension Conjugaison (implémentation de l'aide contextuelle)
- From: yannick <philaos31@xxxxxxx>
- To: scriptnvda@xxxxxxxxxxxxx
- Date: Wed, 8 Jun 2022 22:37:50 +0200
Salut les amis,
Je vais essayer d'expliquer comment j'ai implémenté le monkey patch de
la fonction "gui.contextHelp.showHelp".
Dans le module "__init__.py" de l'extension, à la ligne 31, j'ai
sauvegardé la valeur par défaut de cette fonction.
Je l'ai introduite dans une condition, pour bien assuré la
rétrocompatibilité avec les versions de NVDA antérieures à 2021.1, qui
n'utilisent pas "gui.contextHelp" :
if hasattr (gui, 'contextHelp'): saveShowHelp = gui.contextHelp.showHelp
J'ai donc prévu d'utiliser l'aide contextuelle dans les 2 situations
suivantes :
* Lorsque l'utilisateur ouvre le dialogue de conjugaison en réalisant
le raccourci-clavier "Contrôle + F5" ou en passant par les menus;
* Lorsque l'utilisateur accède à la catégorie "Conjugaison" dans le
panneau des paramètres.
Pour la seconde situation, l'implémentation était plus simple, il
fallait juste ajouter l'attribut "helpId = 'conjugaisonSettings'" dans
la sous-classe héritant de "gui.settingsDialogs.SettingPanel".
L'attribut "helpId" est déjà implémenté dans la classe mère dans
"nvda-2021.1" et plus.
Cependant, il fallait prévoir le retour à la valeur initiale de la
fonction "gui.contextHelp.showHelp" dans les autres situations !
Parmi ces situations :
* Si l'utilisateur valide sur "OK" ou "Annuler" après avoir saisi un
verbe dans la boîte de dialogue de choix de verbe à conjuguer;
(L'implémentation est dans la fonction "callback" de la méthode
"onConjugationDialog ").
* Si l'utilisateur change de catégorie dans le panneau des paramètres.
(L'implémentation est présente dans la fonction "event_gainFocus").
Bien entendu, j'aurais préféré ne pas recourir au "monkey patch", bien
que je sais très bien que c'est une pratique autorisée.
Voili voilou, je vous souhaite une agréable fin de semaine.
Cordialement,
Abdel.
_._,_._,_
------------------------------------------------------------------------
Groups.io Links:
You receive all messages sent to this group.
View/Reply Online (#320) <
https://groups.io/g/script-NVDA/message/320> |
Reply To Group
<
mailto:script-NVDA@xxxxxxxxx?subject=Re:%20%3D%3FUTF-8%3FB%3FW3NjcmlwdC1OVkRBXSBFeHRlbnNpb24gQ29uanVnYWlzb24gKGltcGzDqW1lbnRhdGlvbiBkZSBsJ2FpZGUgY29udGV4dHVlbGxlKQ%3D%3D%3F%3D>
| Reply To Sender
<
mailto:abdelkrim.bensaid@xxxxxxx?subject=Private:%20Re:%20%3D%3FUTF-8%3FB%3FW3NjcmlwdC1OVkRBXSBFeHRlbnNpb24gQ29uanVnYWlzb24gKGltcGzDqW1lbnRhdGlvbiBkZSBsJ2FpZGUgY29udGV4dHVlbGxlKQ%3D%3D%3F%3D>
| Mute This Topic <
https://groups.io/mt/85503991/5120334> | New Topic
<
https://groups.io/g/script-NVDA/post>
Your Subscription <
https://groups.io/g/script-NVDA/editsub/5120334> |
Contact Group Owner <
mailto:script-NVDA+owner@xxxxxxxxx> | Unsubscribe
<
https://groups.io/g/script-NVDA/leave/9576903/5120334/583712717/xyzzy>
[philaos31@xxxxxxx]
_._,_._,_
Other related posts:
- » [script nvda] Extension Conjugaison (implémentation de l'aide contextuelle) - yannick