Bonjour,
Dans l'application de dessin vectoriel Inkscape, il existe des extensions composées de 2 fichiers : le premier, un fichier XML (.inx) qui affiche une fenêtre qui permet de paramétrer l'outil puis le fichier de l'extension proprement dite (.py).
Ce code Python récupère ensuite les valeurs contenues dans la fenêtre XML du fichier .inx et triture le contenu du dessin (l'élément sélectionné) dans la fenêtre de dessin de Inkscape.

Je voudrais transformer une de ces extensions pour qu'elle réponde à mes besoins.
Voici le fichier XML .inx que je voudrais modifier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
<?xml version="1.0" encoding="UTF-8"?>
<inkscape-extension xmlns="http://www.inkscape.org/namespace/inkscape/extension">
    <_name>Add Nodes</_name>
    <id>org.ekips.filter.addnodes</id>
    <dependency type="executable" location="extensions">addnodes.py</dependency>
    <dependency type="executable" location="extensions">inkex.py</dependency>
    <param name="method" type="optiongroup" _gui-text="Division method">
        <_option value="bymax">By max. segment length</_option>
        <_option value="bynum">By number of segments</_option>
    </param>
    <param name="max" type="float" min="0.1" max="10000.0" _gui-text="Maximum segment length (px)">10.0</param>
    <param name="segments" type="int" min="1" max="1000" _gui-text="Number of segments">2</param>
    <effect needs-live-preview="false">
        <object-type>path</object-type>
        <effects-menu>
            <submenu _name="Modify Path"/>
        </effects-menu>
    </effect>
    <script>
        <command reldir="extensions" interpreter="python">addnodes.py</command>
    </script>
</inkscape-extension>
Ce fichier affiche une fenêtre ans laquelle on peut sélectionner la manière dont des noeuds seront ajoutés sur un élément sélectionné dans la fenêtre de dessin.
On a le choix entre une distance constante entre chaque noeuds (sauf pour la dernière distance qui contiendra une valeur < que la valeur de la distance choisie), soit un nombre de noeuds à répartir le long du tracé sélectionné (c'est la longueur totale du tracé qui est divisée en fonction du nombre de noeuds voulus par l'utilisateur).

Je voudrais ajouter plusieurs options à cet outil mais si l'ajout de zones de saisie et de titres ne pose pas de gros problèmes, je bute sur d'autres actions que je voudrais réaliser en temps réel avant de valider les valeurs puis de lancer l'extension proprement dite .py :

- J'ai une fenêtre de saisie où je peux introduire (et éventuellement supprimer), n'importe où dans la liste, une liste de valeurs numériques décimales,
- Je veux afficher, dans une champ numérique qui accepte des valeurs décimales, la somme des valeurs contenues dans la liste et ce, de manière immédiate, en temps réel.

Est-ce possible ?
Comment réaliser un tel exploit ?

Merci d'avance.