Écrire une extension OpenOffice.org avec Python

C'est possible mais ce n'est pas du tout évident de trouver de la documentation utile, souvent parce qu'elle concernera Basic ou Java, ou qu'elle présentera une série de classes, interfaces et cie sans expliquer comment tout devrait s'imbriquer. Pour référence quand même, et parce que ces documents s'améliorent avec le temps, il y a entre autres la page Extensions development in Python et le Developer's Guide.

Du coup ces quelques pages d'explications qui, en gardant un même thème, une extension "Hello World" bidon, espèrent mettre sur la voie les personnes débarquant dans cet univers impitoyable...

À propos de voie, il y a deux directions possibles, partir sur les fonctionnalités, et étendre l'extension, genre écrire en gras plutôt qu'avec le style courant ou regarder la langue du paragraphe en cours pour insérer le texte dans une langue ou l'autre; ou alors partir sur ce qui touche plutôt à l'interface, ajouter une barre d'outil, une boite de dialogue, des trucs comme ça.

Et après ça il reste encore quelques histoires.

  • Introduction, où est présentée la structure générale d'une extension;
  • Direction fonctionnalités
    • Ajouter du style, où le bête Hello World resplendit de mille feux, ou presque;
    • ¿Habla My Lingua?, où il est question de regarder où on est avant de s'exprimer;
    • Mais encore ?, où on voit des trucs plus avancés, et comment pas trop se prendre la tête.
  • Direction interface
    • Ça insère ?, où il apparait logique qu'une commande insérant du texte se retrouve dans le menu Insérer;
    • Taper plus fort, où quelques coups de marteau créent une barre d'outils;
    • Tu disais ?, où on s'interrompt pour interroger l'utilisateur via une boite de dialogue;
    • Taper plus fort (bis repetita), où il faut faire gaffe aux doigts pour ajouter autre chose que des simples boutons à une barre d'outils.
  • Direction Palavas-les-Flots
    • New! Shiny!, où l'extension se met à jour toute seule;
    • Coin?, où on termine par s'afficher à chaque fois.

Le code présent dans ces pages est également présent dans le dépôt bzr suivant, il suffit d'exécuter la commande bzr get http://www.0d.be/bzr/ooo-extension-in-python/ pour récupérer le tout.

Franchement super ce petit tutoriel.

Un tout tout grand merci.

Juste une petite remarque rapide, serait-il possible de générer un document (style pdf) avec l'ensemble de ce tutoriel, histoire de pouvoir le consulter hors ligne.

D'avance merci

Comment by JeanPhi on 30 décembre 2009 1:59

Bonjour,

J’ai mis en page votre tutoriel pour programmer OOo avec Python.

M’autorisez-vous à le diffuser sur le forum d’OpenOffice.org? Voulez-vous y apposer une licence?

Comment by Olivier on 3 août 2010 11:15

Oula, j'avais zappé cette dernière question, bien sûr pour la publication, et pour la licence disons cc by sa pour le texte, et bsd pour les morceaux de code.

Comment by Frédéric Péters on 29 janvier 2011 22:32

Merci. C’est ici: http://user.services.openoffice.org/fr/forum/viewtopic.php?f=8&t=820&p=147294#p147294

Comment by Olivier on 30 janvier 2011 1:40

Tahkns for the insight. It brings light into the dark!

Comment by Vyolet on 4 mai 2011 14:21

Comments on this page are no longer allowed.