[progliste] Re: 6Pad++ de juin
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Bonjour Quentin et les autres alpha-testeurs, Voici encore quelques remarques sur la version alpha 3 : 1- Jouvre 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 lexplorateur et jouvre un fichier dans 6pad++. Comme je suis en mode instance unique = 1, le fichier souvre 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++. Cest un détail, mais lorsque jouvre un fichier dans une appli qui possède des onglets, je ne mattends pas à ce quon me demande de sauvegarder ou pas les modifications parce quun autre fichier se ferme. Je vois bien que cest dû à un mécanisme de fermeture automatique dun fichier sans titre lorsque celui-ci est vide. Pour moi il serait préférable de restreindre la fermeture automatique dun fichier si celui-ci est vide et quil na jamais été modifié. Ca permet dailleurs 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, lorsquon remonte lhistorique 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. Jimagine que cest un bug. 3- On a les fonction messageBox, alert, confirm, warning et choice qui permettent davoir des petites interfaces sans devoir faire appel à des modules spécifiques (wxPython ). A cette liste serait-il possible dajouter inpu, une boîte de dialogue permettant à lutilisateur dentrer une chaîne de caractères. Bon après étude du sujet sur la MSDN, jimagine que tu vas me répondre non parce que y a pas de fonction directe pour ça dans lAPI Windows. Mais je tente mon coup quand-même ! Et si cest non, que proposerais-tu pour cela ? Est-ce facile dinté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 nai pas encore testé comme il faut la fonction find de lAPI 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 dun bloc dans un langage tels que les scripts Jaws ou le VBS, etc. Finalement, plus jy 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 à loffset 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
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é.