[progliste] Re: 6Pad++ de juin

2015-06-06 Par sujet Cyrille
OK. De toute manière je n'avais pas envisagé de cas très pratique ; c'était 
juste de la curiosité.
Donc on ne creuse pas plus loin.

Cyrille

-Message d'origine-
De : progliste-ow...@ml.free.fr [mailto:progliste-ow...@ml.free.fr] De la part 
de QuentinC
Envoyé : samedi 6 juin 2015 20:05
À : progliste@ml.free.fr
Objet : [progliste] Re: 6Pad++ de juin

De toute façon ce que tu proposes est techniquement impossible.
L'entrée standard est consommée et disparaît immédiatement après avoir 
été lue.
Progliste :
Pour se d�sinscrire de la liste : 
mailto:progliste-requ...@ml.free.fr?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/   

Je vous rappelle que les pi�ces jointe sont activ�s leur taille est limit� � 2 
MO 

Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je 
vous r�pondrez en priv�.




---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel 
antivirus Avast.
https://www.avast.com/antivirus
Progliste :
Pour se d�sinscrire de la liste : 
mailto:progliste-requ...@ml.free.fr?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/   

Je vous rappelle que les pi�ces jointe sont activ�s leur taille est limit� � 2 
MO 

Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je 
vous r�pondrez en priv�.




[progliste] Re: 6Pad++ de juin

2015-06-06 Par sujet QuentinC

De toute façon ce que tu proposes est techniquement impossible.
L'entrée standard est consommée et disparaît immédiatement après avoir 
été lue.

Progliste :
Pour se d�sinscrire de la liste : 
mailto:progliste-requ...@ml.free.fr?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/   

Je vous rappelle que les pièces jointe sont activés leur taille est limité à 2 MO 


Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je 
vous r�pondrez en priv�.




[progliste] Re: 6Pad++ de juin

2015-06-06 Par sujet Cyrille
Salut,

Lidée de rouvrir la page d'entrée / sortie standard pourrait servir dans les 
cas suivants :
1- J'ouvre 6pad++.exe avec une commande du type  commande_entree | 
6pad++.exe. Je regarde et éventuellement modifi puis ferme la page d'E/S 
standard dans 6pad++. Je voudrais la retrouver comme elle était originalement 
en entrée de 6pad++. Donc je fais Fichier - Ouvrir E/S 
standard.
2- J'ouvre 6pad++.exe avec une commande de type 6pad++.exe | commande_sortie. 
Je fais Fichier - Ouvrir E/S standard. Je tape mon texte. Lorsque je ferme 
6pad++, le texte en question est transmis en entrée de la commande de sortie.

Après, je n'ai pas de cas concret sur les commandes utilisées en entrée et en 
sortie. On verra si les testeurs de 6pad++ ont d'autres exemples à suggérer 
pour voir si ces cas d'utilisation conviennent.

Bonne soirée.

Cyrille
.




-Message d'origine-
De : progliste-ow...@ml.free.fr [mailto:progliste-ow...@ml.free.fr] De la part 
de QuentinC
Envoyé : samedi 6 juin 2015 00:52
À : progliste@ml.free.fr
Objet : [progliste] Re: 6Pad++ de juin

Salut,

On ne peut pas rouvrir l'entrée/sortie standard. OU alors j'ai pas 
compris ce que tu veux.
Progliste :
Pour se d�sinscrire de la liste : 
mailto:progliste-requ...@ml.free.fr?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/   

Je vous rappelle que les pi�ces jointe sont activ�s leur taille est limit� � 2 
MO 

Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je 
vous r�pondrez en priv�.




---
L'absence de virus dans ce courrier électronique a été vérifiée par le logiciel 
antivirus Avast.
https://www.avast.com/antivirus
Progliste :
Pour se d�sinscrire de la liste : 
mailto:progliste-requ...@ml.free.fr?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/   

Je vous rappelle que les pi�ces jointe sont activ�s leur taille est limit� � 2 
MO 

Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je 
vous r�pondrez en priv�.




[progliste] Re: 6Pad++ de juin

2015-06-05 Par sujet Cyrille
Hello JF

Merci pour cet exemple.
En fait, il s'agit de toute opération manuelle au milieu d'un traitement 
automatique.

Du coup, je pensais que la sortie standard peut aussi servir à tester un script 
sans devoir enregistrer à chaque fois dans un fichier ce qu'on voudrait mettre 
en entrée de ce script.

Du coup, je me demandais si ça ne pouvait pas être intéressant de pouvoir 
ouvrir ou rouvrir le document d'entrées / sorties standar dans 6pad++ avec une 
commande menu. Exemple, j'ouvre cette Page d'entrée / sortie, j'écris quelque 
chose dedans et je l'ai en sortie standard de 6pad++.
Bon, je n'ai pas de cas d'utilisation très précis, donc peut-être que ça ne 
sert à rien et que c'est du coup inutile de faire un développement là-dessus.

Bonne soirée.

Cyrille




-Message d'origine-
De : progliste-ow...@ml.free.fr [mailto:progliste-ow...@ml.free.fr] De la part 
de Jean-François Colas
Envoyé : vendredi 5 juin 2015 00:11
À : progliste@ml.free.fr
Objet : [progliste] Re: 6Pad++ de juin

Hello Cyrille,

Un exemple pour la sortie standard, il n'est pas forcément très probant 
pour toi mais il m'aurait servi il y a quelques années. Il s'agit du tri 
des mots qu'il faut conserver en intégral dans un fichier qu'on veut 
transcrire en braille abrégé. Scénario: un script qui extrait les mots 
commençant par une majuscule dans le fichier. Pipé avec 6Pad++, dans 
lequel je m'emploie à éliminer ceux que je ne veux pas protéger contre 
l'abrègement. Et dès la sortie de 6Pad++, un autre script se charge de 
modifier le texte en faisant une action définie afin de marquer les mots 
restants comme à protéger contre l'abrègement.

Dans ce scénario, tout ne peut pas être géré par script parce que notre 
bon abrégé a pas mal de recoins plutôt subjectifs quand on commence à 
vouloir décider de ce qui peut s'abréger ou pas...

Donc l'idée est de ratisser large, puis de faire le tri... humainement.

Je pense que je pourrai trouver d'autres usages à partir de listages 
divers de noms de fichiers, et en tout cas, je ne vais pas oublier que 
c'est disponible à présent, et je pense que je vais voir surgir d'autres 
applications, j'en ferai part à l'occasion.

J.-F.


Le 04/06/2015 23:10, Cyrille a écrit :
 Bonjour Quentin,

 Voici le bug numéro 1 du jour.
 - J'essaie d'ouvrir un fichier comme d'habitude avec 6pad++ depuis 
 l'explorateur (j'ai mis 6pad++ dans le menu contextuel Envoyer vers).
 - 6pad++ s'ouvre ainsi que la console Python. Par contre, impossible de 
 tabuler pour aller lire le problème dans la sortie python ou pour cliquer sur 
 les boutons.
 - Avec le curseur Jaws, je lis l'erreur qui est une erreur dans mon 6pad++.py.
 - Puis, toujours en curseur Jaws, je clique sur le bouton Fermer.
 - Jaws me dit alors que j'arrive dans la fenêtre principale de 6pad++ alpha- 
 Je repasse en curseur PC mais impossible d'interagir avec 6pad++ (ex: Alt+F 
 pour aller dans le menu fichier).
 - Là, mon restant visuel me signale qu'il y a une boîte de dialogue devant 
 6pad++ qui n'est pas activée alors que la fenêtre principale de 6pad++ l'est.
 - Avec Alt+Tab, je tombe sur cette boîte de dialogue qui me dit Accès 
 refusé.
 Le fichier était en fait un fichier sur lequel je n'avais pas le droit de 
 lecture. Et l'erreur de mon 6pad++.py une erreur du fait que le fichier ne 
 s'est pas ouvert (donc currPage = None)
 Si tu veux faire le test, tu peux essayer sur le fichier 
 C:\Users\mon_login\AppData\Local\Microsoft\Windows\UsrClass.dat. Ce n'est pas 
 le même message d'erreur mais le principe est le même.

 C'est à moi de corriger l'erreur de mon script 6pad++.py pour le rendre 
 robuste.
 Par contre, il faudrait d'abord que l'utilisateur ait validé les éventuels 
 messages d'erreur avant d'ouvrir la console. Ou alors focaliser la boîte de 
 dialogue d'erreur de sorte à ce qu'elle apparaisse au dessus de la console et 
 qu'elle prenne le focus (boîte modale ?).

 Plus généralement, ça me fait poser la question de l'ordre des actions faites 
 par 6pad++ à son ouverture : ouverture du fichier passé en paramètre, 
 ouverture de l'entrée standard, chargement des extensions, chargement du 
 fichier 6pad++.py, etc. Une petite liste ordonnée dans la doc de 6pad++ 
 serait la bienvenue (une fois que cet ordre sera confirmé).

 Enfin maintenant que je repense aux entrée et sortie standard, il ne me 
 semble pas que tu m'aies répondu sur un exemple de cas d'utilisation de la 
 sortie standard. Tu avais parlé de ligne de commande de type : commande1 | 
 6pad++ | commande2. Mais quel serait l'exemple pour commande1 et commande2 ?

 Merci.
 Bonne soirée.

 Cyrille



 -Message d'origine-
 De : progliste-ow...@ml.free.fr [mailto:progliste-ow...@ml.free.fr] De la 
 part de QuentinC
 Envoyé : jeudi 4 juin 2015 09:48
 À : progliste@ml.free.fr
 Objet : [progliste] Re: 6Pad++ de juin

 Réponses groupées pour JF et Cyril.

 1. On a un find, on a un replace mais de nature différente: il
 pourrait y avoir besoin d'un replace qui

[progliste] Re: 6Pad++ de juin

2015-06-05 Par sujet QuentinC

Salut,

On ne peut pas rouvrir l'entrée/sortie standard. OU alors j'ai pas 
compris ce que tu veux.

Progliste :
Pour se d�sinscrire de la liste : 
mailto:progliste-requ...@ml.free.fr?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/   

Je vous rappelle que les pièces jointe sont activés leur taille est limité à 2 MO 


Pour acc�der aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en priv�, je 
vous r�pondrez en priv�.




[progliste] Re: 6Pad++ de juin

2015-06-04 Par sujet Cyrille
Bonjour Quentin,

Voici le bug numéro 1 du jour.
- J'essaie d'ouvrir un fichier comme d'habitude avec 6pad++ depuis 
l'explorateur (j'ai mis 6pad++ dans le menu contextuel Envoyer vers).
- 6pad++ s'ouvre ainsi que la console Python. Par contre, impossible de tabuler 
pour aller lire le problème dans la sortie python ou pour cliquer sur les 
boutons.
- Avec le curseur Jaws, je lis l'erreur qui est une erreur dans mon 6pad++.py.
- Puis, toujours en curseur Jaws, je clique sur le bouton Fermer.
- Jaws me dit alors que j'arrive dans la fenêtre principale de 6pad++ alpha- Je 
repasse en curseur PC mais impossible d'interagir avec 6pad++ (ex: Alt+F pour 
aller dans le menu fichier).
- Là, mon restant visuel me signale qu'il y a une boîte de dialogue devant 
6pad++ qui n'est pas activée alors que la fenêtre principale de 6pad++ l'est.
- Avec Alt+Tab, je tombe sur cette boîte de dialogue qui me dit Accès refusé.
Le fichier était en fait un fichier sur lequel je n'avais pas le droit de 
lecture. Et l'erreur de mon 6pad++.py une erreur du fait que le fichier ne 
s'est pas ouvert (donc currPage = None)
Si tu veux faire le test, tu peux essayer sur le fichier 
C:\Users\mon_login\AppData\Local\Microsoft\Windows\UsrClass.dat. Ce n'est pas 
le même message d'erreur mais le principe est le même.

C'est à moi de corriger l'erreur de mon script 6pad++.py pour le rendre robuste.
Par contre, il faudrait d'abord que l'utilisateur ait validé les éventuels 
messages d'erreur avant d'ouvrir la console. Ou alors focaliser la boîte de 
dialogue d'erreur de sorte à ce qu'elle apparaisse au dessus de la console et 
qu'elle prenne le focus (boîte modale ?).

Plus généralement, ça me fait poser la question de l'ordre des actions faites 
par 6pad++ à son ouverture : ouverture du fichier passé en paramètre, ouverture 
de l'entrée standard, chargement des extensions, chargement du fichier 
6pad++.py, etc. Une petite liste ordonnée dans la doc de 6pad++ serait la 
bienvenue (une fois que cet ordre sera confirmé).

Enfin maintenant que je repense aux entrée et sortie standard, il ne me semble 
pas que tu m'aies répondu sur un exemple de cas d'utilisation de la sortie 
standard. Tu avais parlé de ligne de commande de type : commande1 | 6pad++ | 
commande2. Mais quel serait l'exemple pour commande1 et commande2 ?

Merci.
Bonne soirée.

Cyrille



-Message d'origine-
De : progliste-ow...@ml.free.fr [mailto:progliste-ow...@ml.free.fr] De la part 
de QuentinC
Envoyé : jeudi 4 juin 2015 09:48
À : progliste@ml.free.fr
Objet : [progliste] Re: 6Pad++ de juin

Réponses groupées pour JF et Cyril.

  1. On a un find, on a un replace mais de nature différente: il 
pourrait y avoir besoin d'un replace qui accepte les expressions 
régulières... A ce propos tiens, j'ai cru voir que tu étais passé des 
PCRE à un Boost quelque chose, celui qui m'avait posé quelques soucis: y 
a-t-il des différences de convention entre les deux?

IL y a quelques différences mais globalement ça reste à peu près pareil 
pour les opérations courantes.
Boost::regex ne supporte pas les conditions et les masques récursifs, 
mais ça n'a pas beaucoup d'incidence.

Pour les opérations avancées sur le texte, je te propose d'utiliser les 
fonctions natives de la classe str, et le module re.

  2. Je n'ai pas encore essayé choice; à ce stade, si j'ai bien suivi, 
je crois qu'on ne dispose pas de moyen de saisir une chaîne arbitraire, 
genre prompt...
  Ca pourrait être utile. Si on pouvait préciser une valeur par défaut, 
ça serait le top.

J'ajouterai prompt alors.

3. Collage intelligent: est-ce que le cas de figure suivant arrive en 
contradiction avec le principe: [...]

IL faut encore tester tout ça. Ma combine de collage intelligent est 
encore très expérimentale.

  4. A quoi sert la touche Ctrl+Del? Est-elle assignable par 
addAccelerator? J'ai essayé, mais apparemment ça n'a pas exécuté la 
fonction que j'avais attachée, je n'ai pas poussé le test plus loin.

Rien n'est associé à Ctrl+Del. Par contre Ctrl+Maj+Del oui, c'est la 
fameuse fonction crash express.

  1-  J’ouvre 6pad++. Je fais des modifs dans le document sans 
titre puis les annule avec Ctrl+Z. Je me retrouve donc avec un document 
vierge.
  Ensuite, je vais dans l’explorateur et j’ouvre un fichier dans 
6pad++. Comme je suis en mode instance unique = 1, le fichier s’ouvre 
dans le même 6pad++.
Mais une fenêtre apparaît également pour me demander si je veux sauvegarder
les modifications dans le fichier sans titre qui était déjà ouvert dans 
6pad++.
  C’est un détail, mais lorsque j’ouvre un fichier dans une appli qui 
possède des onglets, je ne m’attends pas à ce qu’on me demande de 
sauvegarder ou pas les modifications parce qu’un autre fichier se ferme. 
Je vois bien que c’est dû à un mécanisme de fermeture automatique d’un 
fichier sans titre lorsque celui-ci est vide. Pour moi il serait 
préférable de restreindre la fermeture automatique d’un fichier si 
celui-ci est vide et qu’il n’a jamais été

[progliste] Re: 6Pad++ de juin

2015-06-04 Par sujet Cyrille
Salut à tous

Oui, WxPython avec NVDA c'est facile, vu que NVDA l'utilise déjà.
Donc il suffit d'importer le module ou package, pas besoin de se poser des 
questions d'installation.
Avec 6pad++, je ne vois pas bien comment et si on peut ou non installer tel ou 
tel package ou module...

Cyrille



-Message d'origine-
De : progliste-ow...@ml.free.fr [mailto:progliste-ow...@ml.free.fr] De la part 
de yannick
Envoyé : jeudi 4 juin 2015 18:21
À : progliste@ml.free.fr
Objet : [progliste] Re: 6Pad++ de juin

slt Yannick, intégrer du wx python avec NVDA c'est possible nativement !
pour l'instant, ce que j'utilise principalement est la création de menu 
contextuel ...
si tu utilises thunderbird tu peux aller dans la liste des messages et 
faire alt + point virgule ..

Le 04/06/2015 10:27, Yannick Youalé a écrit :
 Coucou !

 Début de citation

  Est-ce facile d’intégrer du WxPython aux scripts de 6pad++ par 
 exemple ?

 Aucune idée !

 Fin de citation

 Et pourtant ce serait très intéressant à savoir.

 A priori si le scripting admet des import c'est possible.

 Mais cela dépendrait aussi de ce qui est embarqué comme modules python 
 dans la solution 6pad++ je crois.

 Je sais que mon homonyme avait pour ambition de faire appel à des 
 interfaces wx par les scripts python pour NVDA. Il ne nous a jamais 
 dit s'il avait réussi d'ailleurs.

 Yannick Daniel Youalé
 La programmation est une religion. Aimez-la, ou quittez-la.
 Mon site: www.visuweb.net




 - Original Message - From: QuentinC quent...@cfardel.net
 To: progliste@ml.free.fr
 Sent: Thursday, June 04, 2015 8:47 AM
 Subject: [progliste] Re: 6Pad++ de juin


 Réponses groupées pour JF et Cyril.

  1. On a un find, on a un replace mais de nature différente: il
 pourrait y avoir besoin d'un replace qui accepte les expressions 
 régulières... A ce propos tiens, j'ai cru voir que tu étais passé des 
 PCRE à un Boost quelque chose, celui qui m'avait posé quelques 
 soucis: y a-t-il des différences de convention entre les deux?

 IL y a quelques différences mais globalement ça reste à peu près 
 pareil pour les opérations courantes.
 Boost::regex ne supporte pas les conditions et les masques récursifs, 
 mais ça n'a pas beaucoup d'incidence.

 Pour les opérations avancées sur le texte, je te propose d'utiliser 
 les fonctions natives de la classe str, et le module re.

  2. Je n'ai pas encore essayé choice; à ce stade, si j'ai bien suivi,
 je crois qu'on ne dispose pas de moyen de saisir une chaîne 
 arbitraire, genre prompt...
  Ca pourrait être utile. Si on pouvait préciser une valeur par défaut,
 ça serait le top.

 J'ajouterai prompt alors.

 3. Collage intelligent: est-ce que le cas de figure suivant arrive en 
 contradiction avec le principe: [...]

 IL faut encore tester tout ça. Ma combine de collage intelligent est 
 encore très expérimentale.

  4. A quoi sert la touche Ctrl+Del? Est-elle assignable par
 addAccelerator? J'ai essayé, mais apparemment ça n'a pas exécuté la 
 fonction que j'avais attachée, je n'ai pas poussé le test plus loin.

 Rien n'est associé à Ctrl+Del. Par contre Ctrl+Maj+Del oui, c'est la 
 fameuse fonction crash express.

  1-  J’ouvre 6pad++. Je fais des modifs dans le document sans
 titre puis les annule avec Ctrl+Z. Je me retrouve donc avec un 
 document vierge.
  Ensuite, je vais dans l’explorateur et j’ouvre un fichier dans
 6pad++. Comme je suis en mode instance unique = 1, le fichier s’ouvre 
 dans le même 6pad++.
 Mais une fenêtre apparaît également pour me demander si je veux 
 sauvegarder
 les modifications dans le fichier sans titre qui était déjà ouvert 
 dans 6pad++.
  C’est un détail, mais lorsque j’ouvre un fichier dans une appli qui
 possède des onglets, je ne m’attends pas à ce qu’on me demande de 
 sauvegarder ou pas les modifications parce qu’un autre fichier se 
 ferme. Je vois bien que c’est dû à un mécanisme de fermeture 
 automatique d’un fichier sans titre lorsque celui-ci est vide. Pour 
 moi il serait préférable de restreindre la fermeture automatique d’un 
 fichier si celui-ci est vide et qu’il n’a jamais été modifié. Ca 
 permet d’ailleurs de ne pas fermer sans confirmation un fichier dont 
 on aurait supprimé tout le contenu par erreur (Ctrl+A puis Suppr).

 Effectivement, c'est bien un petit bug. IL faut effectivement que 
 j'ajoute une vérification de modification avant de fermer un onglet 
 vide.

  2-  Dans la console python, lorsqu’on remonte l’historique des
 commandes précédantes avec flèche haut, le curseur se positionne 
 juste avant le dernier caractère au lieu de se positionner à la fin 
 de la ligne. J’imagine que c’est un bug.

 En effet... bien joué.

  3-  On a les fonction messageBox, alert, confirm, warning et
 choice qui permettent d’avoir des petites interfaces sans devoir 
 faire appel à des modules spécifiques (wxPython…). A cette liste 
 serait-il possible d’ajouter inpu, une boîte de dialogue permettant à 
 l’utilisateur d’entrer une chaîne de

[progliste] Re: 6Pad++ de juin

2015-06-04 Par sujet Cyrille
Re-bonjour,

Et voilà le bug numéro 2 du jour.
Le bug de 6pad legacy du texte qui disparaît à l’enregistrement semble aussi 
arriver sur 6pad++ mais à la commande enregistrer sous !

Voici comment reproduire :
· Ouvre un fichier
· Fais Fichier - Enregistrer sous et valide avec un nouveau nom.
· Là le texte a disparu. C’est notamment visible en curseur Jaws.
· De retour en curseur PC, si on sélectionne une ligne, le texte de 
celle-ci réapparaît.

Les problèmes de disparition de texte sont cependant à prendre avec des 
pincettes chez moi vu que j’ai aussi Zoomtext qui fait parfois ce type de bugs.
Mais la procédure pour reproduire et l’exploration au curseur Jaws me semble 
confirmer un problème dans 6pad++. Cependant, ça serait mieux de confirmer le 
problème (et éventuellement d’autres symptômes) avec une paire d’yeux 
pleinement fonctionnelle…

Bonne soirée.

Cyrille

-Message d'origine-
De : progliste-ow...@ml.free.fr [mailto:progliste-ow...@ml.free.fr] De la part 
de Cyrille
Envoyé : jeudi 4 juin 2015 23:10
À : progliste@ml.free.fr
Objet : [progliste] Re: 6Pad++ de juin

Bonjour Quentin,

Voici le bug numéro 1 du jour.
- J'essaie d'ouvrir un fichier comme d'habitude avec 6pad++ depuis 
l'explorateur (j'ai mis 6pad++ dans le menu contextuel Envoyer vers).
- 6pad++ s'ouvre ainsi que la console Python. Par contre, impossible de tabuler 
pour aller lire le problème dans la sortie python ou pour cliquer sur les 
boutons.
- Avec le curseur Jaws, je lis l'erreur qui est une erreur dans mon 6pad++.py.
- Puis, toujours en curseur Jaws, je clique sur le bouton Fermer.
- Jaws me dit alors que j'arrive dans la fenêtre principale de 6pad++ alpha- Je 
repasse en curseur PC mais impossible d'interagir avec 6pad++ (ex: Alt+F pour 
aller dans le menu fichier).
- Là, mon restant visuel me signale qu'il y a une boîte de dialogue devant 
6pad++ qui n'est pas activée alors que la fenêtre principale de 6pad++ l'est.
- Avec Alt+Tab, je tombe sur cette boîte de dialogue qui me dit Accès refusé.
Le fichier était en fait un fichier sur lequel je n'avais pas le droit de 
lecture. Et l'erreur de mon 6pad++.py une erreur du fait que le fichier ne 
s'est pas ouvert (donc currPage = None)
Si tu veux faire le test, tu peux essayer sur le fichier 
C:\Users\mon_login\AppData\Local\Microsoft\Windows\UsrClass.dat. Ce n'est pas 
le même message d'erreur mais le principe est le même.

C'est à moi de corriger l'erreur de mon script 6pad++.py pour le rendre robuste.
Par contre, il faudrait d'abord que l'utilisateur ait validé les éventuels 
messages d'erreur avant d'ouvrir la console. Ou alors focaliser la boîte de 
dialogue d'erreur de sorte à ce qu'elle apparaisse au dessus de la console et 
qu'elle prenne le focus (boîte modale ?).

Plus généralement, ça me fait poser la question de l'ordre des actions faites 
par 6pad++ à son ouverture : ouverture du fichier passé en paramètre, ouverture 
de l'entrée standard, chargement des extensions, chargement du fichier 
6pad++.py, etc. Une petite liste ordonnée dans la doc de 6pad++ serait la 
bienvenue (une fois que cet ordre sera confirmé).

Enfin maintenant que je repense aux entrée et sortie standard, il ne me semble 
pas que tu m'aies répondu sur un exemple de cas d'utilisation de la sortie 
standard. Tu avais parlé de ligne de commande de type : commande1 | 6pad++ | 
commande2. Mais quel serait l'exemple pour commande1 et commande2 ?

Merci.
Bonne soirée.

Cyrille



-Message d'origine-
De : progliste-ow...@ml.free.fr [mailto:progliste-ow...@ml.free.fr] De la part 
de QuentinC
Envoyé : jeudi 4 juin 2015 09:48
À : progliste@ml.free.fr
Objet : [progliste] Re: 6Pad++ de juin

Réponses groupées pour JF et Cyril.

  1. On a un find, on a un replace mais de nature différente: il 
pourrait y avoir besoin d'un replace qui accepte les expressions 
régulières... A ce propos tiens, j'ai cru voir que tu étais passé des 
PCRE à un Boost quelque chose, celui qui m'avait posé quelques soucis: y 
a-t-il des différences de convention entre les deux?

IL y a quelques différences mais globalement ça reste à peu près pareil 
pour les opérations courantes.
Boost::regex ne supporte pas les conditions et les masques récursifs, 
mais ça n'a pas beaucoup d'incidence.

Pour les opérations avancées sur le texte, je te propose d'utiliser les 
fonctions natives de la classe str, et le module re.

  2. Je n'ai pas encore essayé choice; à ce stade, si j'ai bien suivi, 
je crois qu'on ne dispose pas de moyen de saisir une chaîne arbitraire, 
genre prompt...
  Ca pourrait être utile. Si on pouvait préciser une valeur par défaut, 
ça serait le top.

J'ajouterai prompt alors.

3. Collage intelligent: est-ce que le cas de figure suivant arrive en 
contradiction avec le principe: [...]

IL faut encore tester tout ça. Ma combine de collage intelligent est 
encore très expérimentale.

  4. A quoi sert la touche Ctrl+Del? Est-elle assignable par 
addAccelerator? J'ai essayé, mais

[progliste] Re: 6Pad++ de juin

2015-06-04 Par sujet Jean-François Colas

Hello Cyrille,

Un exemple pour la sortie standard, il n'est pas forcément très probant 
pour toi mais il m'aurait servi il y a quelques années. Il s'agit du tri 
des mots qu'il faut conserver en intégral dans un fichier qu'on veut 
transcrire en braille abrégé. Scénario: un script qui extrait les mots 
commençant par une majuscule dans le fichier. Pipé avec 6Pad++, dans 
lequel je m'emploie à éliminer ceux que je ne veux pas protéger contre 
l'abrègement. Et dès la sortie de 6Pad++, un autre script se charge de 
modifier le texte en faisant une action définie afin de marquer les mots 
restants comme à protéger contre l'abrègement.


Dans ce scénario, tout ne peut pas être géré par script parce que notre 
bon abrégé a pas mal de recoins plutôt subjectifs quand on commence à 
vouloir décider de ce qui peut s'abréger ou pas...


Donc l'idée est de ratisser large, puis de faire le tri... humainement.

Je pense que je pourrai trouver d'autres usages à partir de listages 
divers de noms de fichiers, et en tout cas, je ne vais pas oublier que 
c'est disponible à présent, et je pense que je vais voir surgir d'autres 
applications, j'en ferai part à l'occasion.


J.-F.


Le 04/06/2015 23:10, Cyrille a écrit :

Bonjour Quentin,

Voici le bug numéro 1 du jour.
- J'essaie d'ouvrir un fichier comme d'habitude avec 6pad++ depuis 
l'explorateur (j'ai mis 6pad++ dans le menu contextuel Envoyer vers).
- 6pad++ s'ouvre ainsi que la console Python. Par contre, impossible de tabuler 
pour aller lire le problème dans la sortie python ou pour cliquer sur les 
boutons.
- Avec le curseur Jaws, je lis l'erreur qui est une erreur dans mon 6pad++.py.
- Puis, toujours en curseur Jaws, je clique sur le bouton Fermer.
- Jaws me dit alors que j'arrive dans la fenêtre principale de 6pad++ alpha- Je 
repasse en curseur PC mais impossible d'interagir avec 6pad++ (ex: Alt+F pour 
aller dans le menu fichier).
- Là, mon restant visuel me signale qu'il y a une boîte de dialogue devant 
6pad++ qui n'est pas activée alors que la fenêtre principale de 6pad++ l'est.
- Avec Alt+Tab, je tombe sur cette boîte de dialogue qui me dit Accès refusé.
Le fichier était en fait un fichier sur lequel je n'avais pas le droit de 
lecture. Et l'erreur de mon 6pad++.py une erreur du fait que le fichier ne 
s'est pas ouvert (donc currPage = None)
Si tu veux faire le test, tu peux essayer sur le fichier 
C:\Users\mon_login\AppData\Local\Microsoft\Windows\UsrClass.dat. Ce n'est pas 
le même message d'erreur mais le principe est le même.

C'est à moi de corriger l'erreur de mon script 6pad++.py pour le rendre robuste.
Par contre, il faudrait d'abord que l'utilisateur ait validé les éventuels 
messages d'erreur avant d'ouvrir la console. Ou alors focaliser la boîte de 
dialogue d'erreur de sorte à ce qu'elle apparaisse au dessus de la console et 
qu'elle prenne le focus (boîte modale ?).

Plus généralement, ça me fait poser la question de l'ordre des actions faites 
par 6pad++ à son ouverture : ouverture du fichier passé en paramètre, ouverture 
de l'entrée standard, chargement des extensions, chargement du fichier 
6pad++.py, etc. Une petite liste ordonnée dans la doc de 6pad++ serait la 
bienvenue (une fois que cet ordre sera confirmé).

Enfin maintenant que je repense aux entrée et sortie standard, il ne me semble 
pas que tu m'aies répondu sur un exemple de cas d'utilisation de la sortie 
standard. Tu avais parlé de ligne de commande de type : commande1 | 6pad++ | 
commande2. Mais quel serait l'exemple pour commande1 et commande2 ?

Merci.
Bonne soirée.

Cyrille



-Message d'origine-
De : progliste-ow...@ml.free.fr [mailto:progliste-ow...@ml.free.fr] De la part 
de QuentinC
Envoyé : jeudi 4 juin 2015 09:48
À : progliste@ml.free.fr
Objet : [progliste] Re: 6Pad++ de juin

Réponses groupées pour JF et Cyril.

1. On a un find, on a un replace mais de nature différente: il
pourrait y avoir besoin d'un replace qui accepte les expressions
régulières... A ce propos tiens, j'ai cru voir que tu étais passé des
PCRE à un Boost quelque chose, celui qui m'avait posé quelques soucis: y
a-t-il des différences de convention entre les deux?

IL y a quelques différences mais globalement ça reste à peu près pareil
pour les opérations courantes.
Boost::regex ne supporte pas les conditions et les masques récursifs,
mais ça n'a pas beaucoup d'incidence.

Pour les opérations avancées sur le texte, je te propose d'utiliser les
fonctions natives de la classe str, et le module re.

2. Je n'ai pas encore essayé choice; à ce stade, si j'ai bien suivi,
je crois qu'on ne dispose pas de moyen de saisir une chaîne arbitraire,
genre prompt...
Ca pourrait être utile. Si on pouvait préciser une valeur par défaut,
ça serait le top.

J'ajouterai prompt alors.

3. Collage intelligent: est-ce que le cas de figure suivant arrive en
contradiction avec le principe: [...]

IL faut encore

[progliste] Re: 6Pad++ de juin

2015-06-04 Par sujet Cyrille
Bonsoir,

Allez dernier mail pour ce soir.
Quentin, juste pour dire que j'utiliserai effectivement les méthodes de string 
et le module re de Python plutôt que de te demander encore des modifs sur find !

Bonne soirée.

Cyrille



-Message d'origine-
De : progliste-ow...@ml.free.fr [mailto:progliste-ow...@ml.free.fr] De la part 
de QuentinC
Envoyé : jeudi 4 juin 2015 09:48
À : progliste@ml.free.fr
Objet : [progliste] Re: 6Pad++ de juin

Réponses groupées pour JF et Cyril.

  1. On a un find, on a un replace mais de nature différente: il 
pourrait y avoir besoin d'un replace qui accepte les expressions 
régulières... A ce propos tiens, j'ai cru voir que tu étais passé des 
PCRE à un Boost quelque chose, celui qui m'avait posé quelques soucis: y 
a-t-il des différences de convention entre les deux?

IL y a quelques différences mais globalement ça reste à peu près pareil 
pour les opérations courantes.
Boost::regex ne supporte pas les conditions et les masques récursifs, 
mais ça n'a pas beaucoup d'incidence.

Pour les opérations avancées sur le texte, je te propose d'utiliser les 
fonctions natives de la classe str, et le module re.

  2. Je n'ai pas encore essayé choice; à ce stade, si j'ai bien suivi, 
je crois qu'on ne dispose pas de moyen de saisir une chaîne arbitraire, 
genre prompt...
  Ca pourrait être utile. Si on pouvait préciser une valeur par défaut, 
ça serait le top.

J'ajouterai prompt alors.

3. Collage intelligent: est-ce que le cas de figure suivant arrive en 
contradiction avec le principe: [...]

IL faut encore tester tout ça. Ma combine de collage intelligent est 
encore très expérimentale.

  4. A quoi sert la touche Ctrl+Del? Est-elle assignable par 
addAccelerator? J'ai essayé, mais apparemment ça n'a pas exécuté la 
fonction que j'avais attachée, je n'ai pas poussé le test plus loin.

Rien n'est associé à Ctrl+Del. Par contre Ctrl+Maj+Del oui, c'est la 
fameuse fonction crash express.

  1-  J’ouvre 6pad++. Je fais des modifs dans le document sans 
titre puis les annule avec Ctrl+Z. Je me retrouve donc avec un document 
vierge.
  Ensuite, je vais dans l’explorateur et j’ouvre un fichier dans 
6pad++. Comme je suis en mode instance unique = 1, le fichier s’ouvre 
dans le même 6pad++.
Mais une fenêtre apparaît également pour me demander si je veux sauvegarder
les modifications dans le fichier sans titre qui était déjà ouvert dans 
6pad++.
  C’est un détail, mais lorsque j’ouvre un fichier dans une appli qui 
possède des onglets, je ne m’attends pas à ce qu’on me demande de 
sauvegarder ou pas les modifications parce qu’un autre fichier se ferme. 
Je vois bien que c’est dû à un mécanisme de fermeture automatique d’un 
fichier sans titre lorsque celui-ci est vide. Pour moi il serait 
préférable de restreindre la fermeture automatique d’un fichier si 
celui-ci est vide et qu’il n’a jamais été modifié. Ca permet d’ailleurs 
de ne pas fermer sans confirmation un fichier dont on aurait supprimé 
tout le contenu par erreur (Ctrl+A puis Suppr).

Effectivement, c'est bien un petit bug. IL faut effectivement que 
j'ajoute une vérification de modification avant de fermer un onglet vide.

  2-  Dans la console python, lorsqu’on remonte l’historique des 
commandes précédantes avec flèche haut, le curseur se positionne juste 
avant le dernier caractère au lieu de se positionner à la fin de la 
ligne. J’imagine que c’est un bug.

En effet... bien joué.

  3-  On a les fonction messageBox, alert, confirm, warning et 
choice qui permettent d’avoir des petites interfaces sans devoir faire 
appel à des modules spécifiques (wxPython…). A cette liste serait-il 
possible d’ajouter inpu, une boîte de dialogue permettant à 
l’utilisateur d’entrer une chaîne de caractères. Bon après étude du 
sujet sur la MSDN, j’imagine que tu vas me répondre non parce que y a 
pas de fonction directe pour ça dans l’API Windows. Mais je tente mon 
coup quand-même ! Et si c’est non, que proposerais-tu pour cela ?

Si, je vais ajouter prompt.

  Est-ce facile d’intégrer du WxPython aux scripts de 6pad++ par exemple ?

Aucune idée !


  4-  Je n’ai pas encore testé comme il faut la fonction find de 
l’API 6pad++. Mais je pose déjà la question, cette fonction sélectionne 
t-elle le texte trouvé comme la fonction du menu ? Si oui, je pense que 
ça risque d’être gênant pour faire des script qui utilisent cette 
fonction pour aller à la déclaration de fonction suivante/précédante, à 
la fin d’un bloc dans un langage tels que les scripts Jaws ou le VBS, 
etc. Finalement, plus j’y pense, plus je me dis que cette fonction find, 
éventuellement à renommer, devrait renvoyer un offset et peut-être aussi 
la longueur du texte trouvé.
Après, cela permet à chacun de positionner le curseur à l’offset 
retourné, voir de sélectionner le texte trouvé.


Effectivement, find se comporte comme les options correspondantes des menus.
Par contre, plutôt que de la modifier, je pense que si tu cherches plus, 
tu devrais te

[progliste] Re: 6Pad++ de juin

2015-06-04 Par sujet yannick

slt Yannick, intégrer du wx python avec NVDA c'est possible nativement !
pour l'instant, ce que j'utilise principalement est la création de menu 
contextuel ...
si tu utilises thunderbird tu peux aller dans la liste des messages et 
faire alt + point virgule ..


Le 04/06/2015 10:27, Yannick Youalé a écrit :

Coucou !

Début de citation

 Est-ce facile d’intégrer du WxPython aux scripts de 6pad++ par 
exemple ?


Aucune idée !

Fin de citation

Et pourtant ce serait très intéressant à savoir.

A priori si le scripting admet des import c'est possible.

Mais cela dépendrait aussi de ce qui est embarqué comme modules python 
dans la solution 6pad++ je crois.


Je sais que mon homonyme avait pour ambition de faire appel à des 
interfaces wx par les scripts python pour NVDA. Il ne nous a jamais 
dit s'il avait réussi d'ailleurs.


Yannick Daniel Youalé
La programmation est une religion. Aimez-la, ou quittez-la.
Mon site: www.visuweb.net




- Original Message - From: QuentinC quent...@cfardel.net
To: progliste@ml.free.fr
Sent: Thursday, June 04, 2015 8:47 AM
Subject: [progliste] Re: 6Pad++ de juin



Réponses groupées pour JF et Cyril.

 1. On a un find, on a un replace mais de nature différente: il
pourrait y avoir besoin d'un replace qui accepte les expressions 
régulières... A ce propos tiens, j'ai cru voir que tu étais passé des 
PCRE à un Boost quelque chose, celui qui m'avait posé quelques 
soucis: y a-t-il des différences de convention entre les deux?


IL y a quelques différences mais globalement ça reste à peu près 
pareil pour les opérations courantes.
Boost::regex ne supporte pas les conditions et les masques récursifs, 
mais ça n'a pas beaucoup d'incidence.


Pour les opérations avancées sur le texte, je te propose d'utiliser 
les fonctions natives de la classe str, et le module re.


 2. Je n'ai pas encore essayé choice; à ce stade, si j'ai bien suivi,
je crois qu'on ne dispose pas de moyen de saisir une chaîne 
arbitraire, genre prompt...

 Ca pourrait être utile. Si on pouvait préciser une valeur par défaut,
ça serait le top.

J'ajouterai prompt alors.

3. Collage intelligent: est-ce que le cas de figure suivant arrive en 
contradiction avec le principe: [...]


IL faut encore tester tout ça. Ma combine de collage intelligent est 
encore très expérimentale.


 4. A quoi sert la touche Ctrl+Del? Est-elle assignable par
addAccelerator? J'ai essayé, mais apparemment ça n'a pas exécuté la 
fonction que j'avais attachée, je n'ai pas poussé le test plus loin.


Rien n'est associé à Ctrl+Del. Par contre Ctrl+Maj+Del oui, c'est la 
fameuse fonction crash express.


 1-  J’ouvre 6pad++. Je fais des modifs dans le document sans
titre puis les annule avec Ctrl+Z. Je me retrouve donc avec un 
document vierge.

 Ensuite, je vais dans l’explorateur et j’ouvre un fichier dans
6pad++. Comme je suis en mode instance unique = 1, le fichier s’ouvre 
dans le même 6pad++.
Mais une fenêtre apparaît également pour me demander si je veux 
sauvegarder
les modifications dans le fichier sans titre qui était déjà ouvert 
dans 6pad++.

 C’est un détail, mais lorsque j’ouvre un fichier dans une appli qui
possède des onglets, je ne m’attends pas à ce qu’on me demande de 
sauvegarder ou pas les modifications parce qu’un autre fichier se 
ferme. Je vois bien que c’est dû à un mécanisme de fermeture 
automatique d’un fichier sans titre lorsque celui-ci est vide. Pour 
moi il serait préférable de restreindre la fermeture automatique d’un 
fichier si celui-ci est vide et qu’il n’a jamais été modifié. Ca 
permet d’ailleurs de ne pas fermer sans confirmation un fichier dont 
on aurait supprimé tout le contenu par erreur (Ctrl+A puis Suppr).


Effectivement, c'est bien un petit bug. IL faut effectivement que 
j'ajoute une vérification de modification avant de fermer un onglet 
vide.


 2-  Dans la console python, lorsqu’on remonte l’historique des
commandes précédantes avec flèche haut, le curseur se positionne 
juste avant le dernier caractère au lieu de se positionner à la fin 
de la ligne. J’imagine que c’est un bug.


En effet... bien joué.

 3-  On a les fonction messageBox, alert, confirm, warning et
choice qui permettent d’avoir des petites interfaces sans devoir 
faire appel à des modules spécifiques (wxPython…). A cette liste 
serait-il possible d’ajouter inpu, une boîte de dialogue permettant à 
l’utilisateur d’entrer une chaîne de caractères. Bon après étude du 
sujet sur la MSDN, j’imagine que tu vas me répondre non parce que y a 
pas de fonction directe pour ça dans l’API Windows. Mais je tente mon 
coup quand-même ! Et si c’est non, que proposerais-tu pour cela ?


Si, je vais ajouter prompt.

 Est-ce facile d’intégrer du WxPython aux scripts de 6pad++ par 
exemple ?


Aucune idée !


 4-  Je n’ai pas encore testé comme il faut la fonction find

[progliste] Re: 6Pad++ de juin

2015-06-04 Par sujet QuentinC

Réponses groupées pour JF et Cyril.

 1. On a un find, on a un replace mais de nature différente: il 
pourrait y avoir besoin d'un replace qui accepte les expressions 
régulières... A ce propos tiens, j'ai cru voir que tu étais passé des 
PCRE à un Boost quelque chose, celui qui m'avait posé quelques soucis: y 
a-t-il des différences de convention entre les deux?


IL y a quelques différences mais globalement ça reste à peu près pareil 
pour les opérations courantes.
Boost::regex ne supporte pas les conditions et les masques récursifs, 
mais ça n'a pas beaucoup d'incidence.


Pour les opérations avancées sur le texte, je te propose d'utiliser les 
fonctions natives de la classe str, et le module re.


 2. Je n'ai pas encore essayé choice; à ce stade, si j'ai bien suivi, 
je crois qu'on ne dispose pas de moyen de saisir une chaîne arbitraire, 
genre prompt...
 Ca pourrait être utile. Si on pouvait préciser une valeur par défaut, 
ça serait le top.


J'ajouterai prompt alors.

3. Collage intelligent: est-ce que le cas de figure suivant arrive en 
contradiction avec le principe: [...]


IL faut encore tester tout ça. Ma combine de collage intelligent est 
encore très expérimentale.


 4. A quoi sert la touche Ctrl+Del? Est-elle assignable par 
addAccelerator? J'ai essayé, mais apparemment ça n'a pas exécuté la 
fonction que j'avais attachée, je n'ai pas poussé le test plus loin.


Rien n'est associé à Ctrl+Del. Par contre Ctrl+Maj+Del oui, c'est la 
fameuse fonction crash express.


 1-  J’ouvre 6pad++. Je fais des modifs dans le document sans 
titre puis les annule avec Ctrl+Z. Je me retrouve donc avec un document 
vierge.
 Ensuite, je vais dans l’explorateur et j’ouvre un fichier dans 
6pad++. Comme je suis en mode instance unique = 1, le fichier s’ouvre 
dans le même 6pad++.

Mais une fenêtre apparaît également pour me demander si je veux sauvegarder
les modifications dans le fichier sans titre qui était déjà ouvert dans 
6pad++.
 C’est un détail, mais lorsque j’ouvre un fichier dans une appli qui 
possède des onglets, je ne m’attends pas à ce qu’on me demande de 
sauvegarder ou pas les modifications parce qu’un autre fichier se ferme. 
Je vois bien que c’est dû à un mécanisme de fermeture automatique d’un 
fichier sans titre lorsque celui-ci est vide. Pour moi il serait 
préférable de restreindre la fermeture automatique d’un fichier si 
celui-ci est vide et qu’il n’a jamais été modifié. Ca permet d’ailleurs 
de ne pas fermer sans confirmation un fichier dont on aurait supprimé 
tout le contenu par erreur (Ctrl+A puis Suppr).


Effectivement, c'est bien un petit bug. IL faut effectivement que 
j'ajoute une vérification de modification avant de fermer un onglet vide.


 2-  Dans la console python, lorsqu’on remonte l’historique des 
commandes précédantes avec flèche haut, le curseur se positionne juste 
avant le dernier caractère au lieu de se positionner à la fin de la 
ligne. J’imagine que c’est un bug.


En effet... bien joué.

 3-  On a les fonction messageBox, alert, confirm, warning et 
choice qui permettent d’avoir des petites interfaces sans devoir faire 
appel à des modules spécifiques (wxPython…). A cette liste serait-il 
possible d’ajouter inpu, une boîte de dialogue permettant à 
l’utilisateur d’entrer une chaîne de caractères. Bon après étude du 
sujet sur la MSDN, j’imagine que tu vas me répondre non parce que y a 
pas de fonction directe pour ça dans l’API Windows. Mais je tente mon 
coup quand-même ! Et si c’est non, que proposerais-tu pour cela ?


Si, je vais ajouter prompt.

 Est-ce facile d’intégrer du WxPython aux scripts de 6pad++ par exemple ?

Aucune idée !


 4-  Je n’ai pas encore testé comme il faut la fonction find de 
l’API 6pad++. Mais je pose déjà la question, cette fonction sélectionne 
t-elle le texte trouvé comme la fonction du menu ? Si oui, je pense que 
ça risque d’être gênant pour faire des script qui utilisent cette 
fonction pour aller à la déclaration de fonction suivante/précédante, à 
la fin d’un bloc dans un langage tels que les scripts Jaws ou le VBS, 
etc. Finalement, plus j’y pense, plus je me dis que cette fonction find, 
éventuellement à renommer, devrait renvoyer un offset et peut-être aussi 
la longueur du texte trouvé.
Après, cela permet à chacun de positionner le curseur à l’offset 
retourné, voir de sélectionner le texte trouvé.



Effectivement, find se comporte comme les options correspondantes des menus.
Par contre, plutôt que de la modifier, je pense que si tu cherches plus, 
tu devrais te tourner vers les méthodes de str et le module re. Tu 
prends le texte et tu peux faire des 
ajouts/modifications/suppressions/remplacements à peu près comme tu veux.



Par exemple ceci fonctionne:
window.curPage[7:12] = J'ai remplacé du texte
Progliste :
Pour se d�sinscrire 

[progliste] Re: 6Pad++ de juin

2015-06-04 Par sujet Yannick Youalé

Coucou !

Début de citation

 Est-ce facile d’intégrer du WxPython aux scripts de 6pad++ par exemple ?

Aucune idée !

Fin de citation

Et pourtant ce serait très intéressant à savoir.

A priori si le scripting admet des import c'est possible.

Mais cela dépendrait aussi de ce qui est embarqué comme modules python dans 
la solution 6pad++ je crois.


Je sais que mon homonyme avait pour ambition de faire appel à des interfaces 
wx par les scripts python pour NVDA. Il ne nous a jamais dit s'il avait 
réussi d'ailleurs.


Yannick Daniel Youalé
La programmation est une religion. Aimez-la, ou quittez-la.
Mon site: www.visuweb.net




- Original Message - 
From: QuentinC quent...@cfardel.net

To: progliste@ml.free.fr
Sent: Thursday, June 04, 2015 8:47 AM
Subject: [progliste] Re: 6Pad++ de juin



Réponses groupées pour JF et Cyril.

 1. On a un find, on a un replace mais de nature différente: il
pourrait y avoir besoin d'un replace qui accepte les expressions 
régulières... A ce propos tiens, j'ai cru voir que tu étais passé des PCRE 
à un Boost quelque chose, celui qui m'avait posé quelques soucis: y a-t-il 
des différences de convention entre les deux?


IL y a quelques différences mais globalement ça reste à peu près pareil 
pour les opérations courantes.
Boost::regex ne supporte pas les conditions et les masques récursifs, mais 
ça n'a pas beaucoup d'incidence.


Pour les opérations avancées sur le texte, je te propose d'utiliser les 
fonctions natives de la classe str, et le module re.


 2. Je n'ai pas encore essayé choice; à ce stade, si j'ai bien suivi,
je crois qu'on ne dispose pas de moyen de saisir une chaîne arbitraire, 
genre prompt...

 Ca pourrait être utile. Si on pouvait préciser une valeur par défaut,
ça serait le top.

J'ajouterai prompt alors.

3. Collage intelligent: est-ce que le cas de figure suivant arrive en 
contradiction avec le principe: [...]


IL faut encore tester tout ça. Ma combine de collage intelligent est 
encore très expérimentale.


 4. A quoi sert la touche Ctrl+Del? Est-elle assignable par
addAccelerator? J'ai essayé, mais apparemment ça n'a pas exécuté la 
fonction que j'avais attachée, je n'ai pas poussé le test plus loin.


Rien n'est associé à Ctrl+Del. Par contre Ctrl+Maj+Del oui, c'est la 
fameuse fonction crash express.


 1-  J’ouvre 6pad++. Je fais des modifs dans le document sans
titre puis les annule avec Ctrl+Z. Je me retrouve donc avec un document 
vierge.

 Ensuite, je vais dans l’explorateur et j’ouvre un fichier dans
6pad++. Comme je suis en mode instance unique = 1, le fichier s’ouvre dans 
le même 6pad++.
Mais une fenêtre apparaît également pour me demander si je veux 
sauvegarder
les modifications dans le fichier sans titre qui était déjà ouvert dans 
6pad++.

 C’est un détail, mais lorsque j’ouvre un fichier dans une appli qui
possède des onglets, je ne m’attends pas à ce qu’on me demande de 
sauvegarder ou pas les modifications parce qu’un autre fichier se ferme. 
Je vois bien que c’est dû à un mécanisme de fermeture automatique d’un 
fichier sans titre lorsque celui-ci est vide. Pour moi il serait 
préférable de restreindre la fermeture automatique d’un fichier si 
celui-ci est vide et qu’il n’a jamais été modifié. Ca permet d’ailleurs de 
ne pas fermer sans confirmation un fichier dont on aurait supprimé tout le 
contenu par erreur (Ctrl+A puis Suppr).


Effectivement, c'est bien un petit bug. IL faut effectivement que j'ajoute 
une vérification de modification avant de fermer un onglet vide.


 2-  Dans la console python, lorsqu’on remonte l’historique des
commandes précédantes avec flèche haut, le curseur se positionne juste 
avant le dernier caractère au lieu de se positionner à la fin de la ligne. 
J’imagine que c’est un bug.


En effet... bien joué.

 3-  On a les fonction messageBox, alert, confirm, warning et
choice qui permettent d’avoir des petites interfaces sans devoir faire 
appel à des modules spécifiques (wxPython…). A cette liste serait-il 
possible d’ajouter inpu, une boîte de dialogue permettant à l’utilisateur 
d’entrer une chaîne de caractères. Bon après étude du sujet sur la MSDN, j’imagine 
que tu vas me répondre non parce que y a pas de fonction directe pour ça 
dans l’API Windows. Mais je tente mon coup quand-même ! Et si c’est non, 
que proposerais-tu pour cela ?


Si, je vais ajouter prompt.

 Est-ce facile d’intégrer du WxPython aux scripts de 6pad++ par exemple ?

Aucune idée !


 4-  Je n’ai pas encore testé comme il faut la fonction find de
l’API 6pad++. Mais je pose déjà la question, cette fonction sélectionne 
t-elle le texte trouvé comme la fonction du menu ? Si oui, je pense que ça 
risque d’être gênant pour faire des script qui utilisent cette fonction 
pour aller à la déclaration de fonction suivante/précédante, à la fin d’un

[progliste] Re: 6Pad++ de juin

2015-06-03 Par sujet Jean-François Colas

Hello Yannick,

Ouit, t'as loupé un truc, mais je laisserai Quentin te raconter ce qu'il 
en est.


Par contre j'annule mon point 4, j'avais employé Del, ça marchait pas, 
mais avec Delete ça marche. Ctrl+Delete est donc bien assignable.


J.-F.
Le 03/06/2015 19:28, yannick a écrit :

slt JF, pour ton point 3, cela me semble logique non ?
un copié collé consiste à ajouter et non pas remplacer , j'ai peu être 
loupé un truc !


Le 03/06/2015 14:16, Jean-François Colas a écrit :

Hello folks,

Je suis en train de convertir doucement mes scripts NoteTab en Python 
pour 6Pad++. Je pensais qu'il me manquerait encore pas mal d'outils 
niveau scripting, en fait on est déjà bien servis. Je dois voir ce 
que je sais faire, certains de mes scripts s'appuient par exemple sur 
une fonction d'assez haut niveau qui collecte toutes les occurrences 
d'une expression dans tout un document... J'en suis pas encore là. 
Pour l'instant, juste quelques nouvelles remarques.



1. On a un find, on a un replace mais de nature différente: il 
pourrait y avoir besoin d'un replace qui accepte les expressions 
régulières... A ce propos tiens, j'ai cru voir que tu étais passé des 
PCRE à un Boost quelque chose, celui qui m'avait posé quelques 
soucis: y a-t-il des différences de convention entre les deux?


2. Je n'ai pas encore essayé choice; à ce stade, si j'ai bien suivi, 
je crois qu'on ne dispose pas de moyen de saisir une chaîne 
arbitraire, genre prompt... Ca pourrait être utile. Si on pouvait 
préciser une valeur par défaut, ça serait le top.


3. Collage intelligent: est-ce que le cas de figure suivant arrive en 
contradiction avec le principe:


Je veux interchanger la place de deux lignes, de même niveau 
d'indentation.
Je suis sur le premier car non blanc de la ligne à couper. Je fais 
Maj+flb, Ctrl+x. La première ligne disparaît, je suis sur le premer 
caractère non blanc de la 2ème ligne, normal.


Je descends d'une ligne, je n'ai pas bougé de colonne. Je fais 
Ctrl+v: la ligne collée et bien, mais la suivante se retrouve 
décalée. Petite anomalie ou petit truc qui m'échappe?


4. A quoi sert la touche Ctrl+Del? Est-elle assignable par 
addAccelerator? J'ai essayé, mais apparemment ça n'a pas exécuté la 
fonction que j'avais attachée, je n'ai pas poussé le test plus loin.


J.-F.

Progliste :
Pour se désinscrire de la liste : 
mailto:progliste-requ...@ml.free.fr?subject=unsubscribe


Pour voir les archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/

Je vous rappelle que les pièces jointe sont activés leur taille est 
limité à 2 MO

Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en 
privé, je vous répondrez en privé.







Progliste :
Pour se désinscrire de la liste : 
mailto:progliste-requ...@ml.free.fr?subject=unsubscribe


Pour voir les archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/

Je vous rappelle que les pièces jointe sont activés leur taille est 
limité à 2 MO

Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en 
privé, je vous répondrez en privé.





Progliste :
Pour se désinscrire de la liste : 
mailto:progliste-requ...@ml.free.fr?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/   

Je vous rappelle que les pièces jointe sont activés leur taille est limité à 2 MO 


Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, je 
vous répondrez en privé.




[progliste] Re: 6Pad++ de juin

2015-06-03 Par sujet Cyrille
Bonjour Quentin et les autres alpha-testeurs,

Voici encore quelques remarques sur la version alpha 3 :

1-  J’ouvre 6pad++. Je fais des modifs dans le document sans titre puis
les annule avec Ctrl+Z. Je me retrouve donc avec un document vierge.
Ensuite, je vais dans l’explorateur et j’ouvre un fichier dans 6pad++. Comme
je suis en mode instance unique = 1, le fichier s’ouvre dans le même 6pad++.
Mais une fenêtre apparaît également pour me demander si je veux sauvegarder
les modifications dans le fichier sans titre qui était déjà ouvert dans
6pad++.
C’est un détail, mais lorsque j’ouvre un fichier dans une appli qui possède
des onglets, je ne m’attends pas à ce qu’on me demande de sauvegarder ou pas
les modifications parce qu’un autre fichier se ferme.
Je vois bien que c’est dû à un mécanisme de fermeture automatique d’un
fichier sans titre lorsque celui-ci est vide. Pour moi il serait préférable
de restreindre la fermeture automatique d’un fichier si celui-ci est vide et
qu’il n’a jamais été modifié. Ca permet d’ailleurs de ne pas fermer sans
confirmation un fichier dont on aurait supprimé tout le contenu par erreur
(Ctrl+A puis Suppr).

2-  Dans la console python, lorsqu’on remonte l’historique des commandes
précédantes avec flèche haut, le curseur se positionne juste avant le
dernier caractère au lieu de se positionner à la fin de la ligne. J’imagine
que c’est un bug.

3-  On a les fonction messageBox, alert, confirm, warning et choice qui
permettent d’avoir des petites interfaces sans devoir faire appel à des
modules spécifiques (wxPython…). A cette liste serait-il possible d’ajouter
inpu, une boîte de dialogue permettant à l’utilisateur d’entrer une chaîne
de caractères.
Bon après étude du sujet sur la MSDN, j’imagine que tu vas me répondre non
parce que y a pas de fonction directe pour ça dans l’API Windows. Mais je
tente mon coup quand-même ! Et si c’est non, que proposerais-tu pour cela ?
Est-ce facile d’intégrer du WxPython aux scripts de 6pad++ par exemple ?
Tiens, en lisant les mails précédants, je me rend compte que je ne suis pas
le seul à poser la question...

4-  Je n’ai pas encore testé comme il faut la fonction find de l’API
6pad++. Mais je pose déjà la question, cette fonction sélectionne-t-elle le
texte trouvé comme la fonction du menu ? Si oui, je pense que ça risque
d’être gênant pour faire des script qui utilisent cette fonction pour aller
à la déclaration de fonction suivante/précédante, à la fin d’un bloc dans un
langage tels que les scripts Jaws ou le VBS, etc. Finalement, plus j’y
pense, plus je me dis que cette fonction find, éventuellement à renommer,
devrait renvoyer un offset et peut-être aussi la longueur du texte trouvé.
Après, cela permet à chacun de positionner le curseur à l’offset retourné,
voir de sélectionner le texte trouvé.

Bonne soirée à tous.

Cyrille


-Message d'origine-
De : progliste-ow...@ml.free.fr [mailto:progliste-ow...@ml.free.fr] De la
part de Jean-François Colas
Envoyé : mercredi 3 juin 2015 21:29
À : progliste@ml.free.fr
Objet : [progliste] Re: 6Pad++ de juin

Hello Yannick,

Ouit, t'as loupé un truc, mais je laisserai Quentin te raconter ce qu'il 
en est.

Par contre j'annule mon point 4, j'avais employé Del, ça marchait pas, 
mais avec Delete ça marche. Ctrl+Delete est donc bien assignable.

J.-F.
Le 03/06/2015 19:28, yannick a écrit :
 slt JF, pour ton point 3, cela me semble logique non ?
 un copié collé consiste à ajouter et non pas remplacer , j'ai peu être 
 loupé un truc !

 Le 03/06/2015 14:16, Jean-François Colas a écrit :
 Hello folks,

 Je suis en train de convertir doucement mes scripts NoteTab en Python 
 pour 6Pad++. Je pensais qu'il me manquerait encore pas mal d'outils 
 niveau scripting, en fait on est déjà bien servis. Je dois voir ce 
 que je sais faire, certains de mes scripts s'appuient par exemple sur 
 une fonction d'assez haut niveau qui collecte toutes les occurrences 
 d'une expression dans tout un document... J'en suis pas encore là. 
 Pour l'instant, juste quelques nouvelles remarques.


 1. On a un find, on a un replace mais de nature différente: il 
 pourrait y avoir besoin d'un replace qui accepte les expressions 
 régulières... A ce propos tiens, j'ai cru voir que tu étais passé des 
 PCRE à un Boost quelque chose, celui qui m'avait posé quelques 
 soucis: y a-t-il des différences de convention entre les deux?

 2. Je n'ai pas encore essayé choice; à ce stade, si j'ai bien suivi, 
 je crois qu'on ne dispose pas de moyen de saisir une chaîne 
 arbitraire, genre prompt... Ca pourrait être utile. Si on pouvait 
 préciser une valeur par défaut, ça serait le top.

 3. Collage intelligent: est-ce que le cas de figure suivant arrive en 
 contradiction avec le principe:

 Je veux interchanger la place de deux lignes, de même niveau 
 d'indentation.
 Je suis sur le premier car non blanc de la ligne à couper. Je fais 
 Maj+flb, Ctrl+x. La première ligne disparaît, je suis sur le premer 
 caractère non

[progliste] Re: 6Pad++ de juin

2015-06-03 Par sujet yannick

slt JF, pour ton point 3, cela me semble logique non ?
un copié collé consiste à ajouter et non pas remplacer , j'ai peu être 
loupé un truc !


Le 03/06/2015 14:16, Jean-François Colas a écrit :

Hello folks,

Je suis en train de convertir doucement mes scripts NoteTab en Python 
pour 6Pad++. Je pensais qu'il me manquerait encore pas mal d'outils 
niveau scripting, en fait on est déjà bien servis. Je dois voir ce que 
je sais faire, certains de mes scripts s'appuient par exemple sur une 
fonction d'assez haut niveau qui collecte toutes les occurrences d'une 
expression dans tout un document... J'en suis pas encore là. Pour 
l'instant, juste quelques nouvelles remarques.



1. On a un find, on a un replace mais de nature différente: il 
pourrait y avoir besoin d'un replace qui accepte les expressions 
régulières... A ce propos tiens, j'ai cru voir que tu étais passé des 
PCRE à un Boost quelque chose, celui qui m'avait posé quelques soucis: 
y a-t-il des différences de convention entre les deux?


2. Je n'ai pas encore essayé choice; à ce stade, si j'ai bien suivi, 
je crois qu'on ne dispose pas de moyen de saisir une chaîne 
arbitraire, genre prompt... Ca pourrait être utile. Si on pouvait 
préciser une valeur par défaut, ça serait le top.


3. Collage intelligent: est-ce que le cas de figure suivant arrive en 
contradiction avec le principe:


Je veux interchanger la place de deux lignes, de même niveau 
d'indentation.
Je suis sur le premier car non blanc de la ligne à couper. Je fais 
Maj+flb, Ctrl+x. La première ligne disparaît, je suis sur le premer 
caractère non blanc de la 2ème ligne, normal.


Je descends d'une ligne, je n'ai pas bougé de colonne. Je fais Ctrl+v: 
la ligne collée et bien, mais la suivante se retrouve décalée. Petite 
anomalie ou petit truc qui m'échappe?


4. A quoi sert la touche Ctrl+Del? Est-elle assignable par 
addAccelerator? J'ai essayé, mais apparemment ça n'a pas exécuté la 
fonction que j'avais attachée, je n'ai pas poussé le test plus loin.


J.-F.

Progliste :
Pour se désinscrire de la liste : 
mailto:progliste-requ...@ml.free.fr?subject=unsubscribe


Pour voir les archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/

Je vous rappelle que les pièces jointe sont activés leur taille est 
limité à 2 MO

Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en 
privé, je vous répondrez en privé.







Progliste :
Pour se désinscrire de la liste : 
mailto:progliste-requ...@ml.free.fr?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/   

Je vous rappelle que les pièces jointe sont activés leur taille est limité à 2 MO 


Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, je 
vous répondrez en privé.