[Résolu][Python] Grapheur pour Writer

Discussions sur les projets et applications développés en liaison avec une suite bureautique libre.

Modérateur : Vilains modOOs

Répondre
joel275
InconditiOOnnel
InconditiOOnnel
Messages : 839
Inscription : 10 janv. 2009 09:05

[Résolu][Python] Grapheur pour Writer

Message par joel275 »

Bonjour,

je propose ici
Grapheur -v5.odt
(31.84 Kio) Téléchargé 246 fois
un petit grapheur écrit en python sous licence GNU à l'usage des professeurs de mathématiques et de leurs élèves.
Ayant appris récemment python en lisant internet et le forum, je serais très heureux de toutes les remarques et suggestions.
merci également de me signaler les bugs que j'aurais laissé trainer ici ou là.

A plus.
 Ajout : fichier modifié le 7/2 
 Ajout : fichier modifié le 15/2/2018 
Dernière modification par joel275 le 16 févr. 2018 08:18, modifié 6 fois.
A jour de LibreOffice et de Ubuntu
Avatar de l’utilisateur
Hubert Lambert
SuppOOrter
SuppOOrter
Messages : 1214
Inscription : 06 avr. 2016 09:26

Re: [Writer][Python] Grapheur

Message par Hubert Lambert »

Bonjour Joël,

Beau travail ! Je jetterai volontiers un oeil plus en profondeur, dès que possible.
Avec OpenOffice, le programme renvoie une erreur de type unicode. Pour éviter le problème, tu peux simplement ajouter la ligne

Code : Tout sélectionner

from __future__ import unicode_literals
comme toute première instruction.
Cordialement.
 Ajout : La macro affectée au bouton Aide n'est pas incorporée :wink: 
 Ajout : Ce fil pourrait peut-être inspirer une autre façon d'aborder la question, en utilisant un objet diagramme (un diagramme n'étant rien d'autre qu'un groupement d'objets sur une "drawpage"). 
AOOo 4.1.7 sur Win10
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
| « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
joel275
InconditiOOnnel
InconditiOOnnel
Messages : 839
Inscription : 10 janv. 2009 09:05

Re: [Python] Grapheur pour Writer

Message par joel275 »

Bonjour Hubert,

tout d'abord, j'ai corrigé le fichier mis en ligne dans mon premier message en rajoutant, entr'autres, la ligne magique qui permet (apparemment) à du python 3 de tourner sur le python 2 de AOo ainsi que les routines que j'avais oubliées de joindre. :oops:
J'ai également consulté le fil que tu m'a indiqué , mais:
j'aime beaucoup le fond avec des points, plutôt que le quadrillage. :D
je souhaite pouvoir positionner des points, des vecteurs et des tangentes sur le graphique et pouvoir facilement grouper le tout.
Comme en plus, j'avais déjà fait le travail en basic, je souhaitais juste voir si c'était plus rapide et plus clair en python.

En tout cas merci d'avoir regardé mon travail de débutant: comme il ne semble pas provoquer l'enthousiasme général, je vais sans doute garder ce schéma.

A plus.
A jour de LibreOffice et de Ubuntu
Scrat
HédOOniste
HédOOniste
Messages : 2051
Inscription : 06 juin 2014 12:39

Re: [Python] Grapheur pour Writer

Message par Scrat »

Bonjour.

Petit essai du grapheur modifié avec LibO 5.4.4... et je me fais jeter ! :lol:

Ci-joint la bordée d'injures :mrgreen: :
com.sun.star.lang.WrappedTargetRuntimeException: (Error during invoking function Grapheur in module vnd.sun.star.tdoc:/1/Scripts/python/Grapheur.py (<class 'ooo_script_framework.com.sun.star.lang.WrappedTargetRuntimeException'>:
File "C:\Program Files\LibreOffice 5\program\pythonscript.py", line 875, in invoke
ret = self.func( *args )
File "vnd.sun.star.tdoc:/1/Scripts/python/Grapheur.py", line 209, in Grapheur
File "vnd.sun.star.tdoc:/1/Scripts/python/Grapheur.py", line 50, in loadDialog
))
A+
Ne contribue plus au forum
joel275
InconditiOOnnel
InconditiOOnnel
Messages : 839
Inscription : 10 janv. 2009 09:05

Re: [Python] Grapheur pour Writer

Message par joel275 »

Bonjour Scrat,

et désolé pour cette bordée d'injures....
je ne suis pas au top du maniement des fichiers malgré les très bons conseils donnés ici (https://forum.openoffice.org/fr/forum/v ... 37&t=53131) et la boîte de dialogue de démarrage était recherchée dans l'application au lieu du document. Erreur réparée, et le fichier remis dans le premier message n'insulte plus le client. :oops:
Mais, je débute en python et j'ai besoin de vos retours pour progresser.

A plus.
A jour de LibreOffice et de Ubuntu
Scrat
HédOOniste
HédOOniste
Messages : 2051
Inscription : 06 juin 2014 12:39

Re: [Python] Grapheur pour Writer

Message par Scrat »

Bonjour.
joel275 a écrit :Erreur réparée, et le fichier remis dans le premier message n'insulte plus le client.
Euh... je me fais toujours insulter. :oops:

Apparemment, c'est toujours le même fichier en ligne dans le premier message:
Dernière édition par joel275 le 05 Fév 2018 18:46, édité 3 fois.
Oubli de validation en éditant le message ?

A+
Ne contribue plus au forum
joel275
InconditiOOnnel
InconditiOOnnel
Messages : 839
Inscription : 10 janv. 2009 09:05

Re: [Python] Grapheur pour Writer

Message par joel275 »

Re,

je ne comprends pas: si je télécharge le fichier mis en ligne et que je le lance avec ma version de LOo, ça fonctionne. Si je le lance avec AOo, j'ai le même message d'erreur que toi.
Je vais y réfléchir, mais je crains que ça ne dépasse mes compétences....

A plus.
A jour de LibreOffice et de Ubuntu
Avatar de l’utilisateur
Hubert Lambert
SuppOOrter
SuppOOrter
Messages : 1214
Inscription : 06 avr. 2016 09:26

Re: [Python] Grapheur pour Writer

Message par Hubert Lambert »

Il faut commenter la ligne 209 et décommenter la ligne 210 :

Code : Tout sélectionner

    # MaBoite = loadDialog("JDMath","DlgGrapheur","application")
    MaBoite = loadDialog("Standard","DlgGrapheur","document")
:wink:
AOOo 4.1.7 sur Win10
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
| « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
Scrat
HédOOniste
HédOOniste
Messages : 2051
Inscription : 06 juin 2014 12:39

Re: [Python] Grapheur pour Writer

Message par Scrat »

Bon, j'ai réussi à le faire marcher en faisant la modification suggérée par Hubert, ce qui veut dire que tu as toujours le version du 5 février dans ton premier message.

Je n'ai pas pu modifier le script directement dans le document en choisissant Outils->Macros->Gérer les macros->Python: le bouton Éditer est en grisé, je n'ai accès qu'au bouton Exécuter. Je ne suis pas familier avec les macros et je ne comprends pas pourquoi je ne peux pas les éditer. Pour m'en sortir, j'ai dézippé le document et j'ai édité le script Python avec Notepad++.

Bref, le document modifié fonctionne, mais j'ai quelques soucis avec la syntaxe pour entrer les formules. Certaines fonctionnent, d'autre pas. L'aide serait la bienvenue, mais le bouton d'aide est inactif.

A+
Ne contribue plus au forum
joel275
InconditiOOnnel
InconditiOOnnel
Messages : 839
Inscription : 10 janv. 2009 09:05

Re: [Python] Grapheur pour Writer

Message par joel275 »

Bonjour,

re-modification du fichier. J'espère que cette fois-ci tout va bien. J'ai également ajouté un léger mode d'emploi directement dans le document.
Je réfléchis également à une vérification de base des fonctions entrées pour limiter les problèmes.

En tout cas, merci pour les retours patients de Scrat et les crrections de Hubert.

A plus.
A jour de LibreOffice et de Ubuntu
Scrat
HédOOniste
HédOOniste
Messages : 2051
Inscription : 06 juin 2014 12:39

Re: [Python] Grapheur pour Writer

Message par Scrat »

Cette fois, avec la mise à jour, je ne me fais plus jeter ! :D

Je n'ai pas encore testé en détail, mais ce que j'ai vu me parait intéressant.

Je te suggère quand même de modifier le premier exemple que tu donnes dans le texte pour les courbes cartésiennes car tu mélange l'écriture classique des formules avec la syntaxe Python, ce qui peut prêter à confusion. Ainsi, à la place de
3x**2*cos(x)
tu devrais mettre l'expression exacte qui correspond à la syntaxe Python:
3*x**2*cos(x)

Quant au bouton Aide, il ne donne toujours rien. Est-ce normal ?

A+
Ne contribue plus au forum
joel275
InconditiOOnnel
InconditiOOnnel
Messages : 839
Inscription : 10 janv. 2009 09:05

Re: [Python] Grapheur pour Writer

Message par joel275 »

Bonjour,

plutôt que de modifier l'exemple faux que j'ai donné, je vais ajouter une routine de traduction pour que cette écriture soit acceptée ainsi que d'autres couramment utilisées en mathématiques: ce n'est pas compliqué en python, elle est déjà prête.
Tant que j'y suis, je vais modifier l'ensemble pour que chaque graphique soit accessible par l'utilisateur pour modifier ses attributs de couleurs, épaisseurs, nom etc... en dégroupant le dessin final. C'est un peu plus compliqué, il me faudra quelques jours.
A la place du bouton d'aide, je vais étoffer les infos bulles du dialogue.
Quand tout ça sera fini, je mettrais le résultat en ligne.

A plus.
A jour de LibreOffice et de Ubuntu
joel275
InconditiOOnnel
InconditiOOnnel
Messages : 839
Inscription : 10 janv. 2009 09:05

Re: [Python] Grapheur pour Writer

Message par joel275 »

Bonsoir,

je mets un deuxième message à la suite pour que le nouveau fichier ne passe pas inaperçu........

Voilà donc la nouvelle version:
Grapheur -v4.odt
(26.09 Kio) Téléchargé 225 fois
j'espère qu'il y aura moins de problème que pour la version précédente. J'attends quelques temps avant de la mettre dans le premier message histoire de la tester encore un peu...

A plus.
A jour de LibreOffice et de Ubuntu
Répondre