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 :
[XML]
<?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>
[/XML]
Ce fichier affiche une fenêtre ans laquelle on peut sélectionner la manière dont des nœuds 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 :
- Dans une fenêtre de saisie, j'introduis (voire je supprime selon mes besoins), n'importe où dans la liste, une liste de valeurs décimales correspndant à des longueurs que je veux utiliser dans le dessin.
- 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.
27/07/2011 : Modifié le message pour simplifier le problème et compléter le code XML donné en exemple.
Message édité par Papy_Octet le 14-08-2011 à 18:14:44
---------------
Cogito Ergo Sum.