Liste de liens :
Liste de liens :
Soit deux macros A et B codées dans les scripts “AMacro.groovy” et “BMacro.groovy”.
package org.txm.macro import org.kohsuke.args4j.* import groovy.transform.Field import org.txm.rcpapplication.swt.widget.parameters.* // déclaration de paramètres @Field @Option(name="string", usage="an example string", widget="String", required=true, def="default string from B") def string @Field @Option(name="string2", usage="an example string", widget="String", required=false, def="default string2 from B") def string2 // ouverture de la boite de dialogue de saisie des paramètres if (!ParametersDialog.open(this)) return // corps de la macro println "B: string vaut \"$string\"" println "B: string2 vaut \"$string2\""
package org.txm.macro println "A: appel de B" // Ce code n'ouvrira pas la boite des paramètres de B, car tous les paramètres sont renseignés gse.runMacro(BMacro, ["string":"string initialisée depuis A", "string2":"string2 initialisée depuis A"]) println "A: appel de B" // ou bien // Ce code ouvrira la boite des paramètres de B, car 'string' est obligatoire et pas renseigné. gse.runMacro(BMacro, ["string2":"string2 initialisée depuis A"]) // Même code pour mieux controler l'ouverture des paramètres et récupérer l'environnement d'appel gse.run(BMacro, ["args": ["string2":"string2 initialisée depuis A"], "selection":selection, "gse":gse])
Exécution de AMacro.groovy A: appel de B B: string vaut "string initialisée depuis A" B: string2 vaut "string2 initialisée depuis A" A: appel de B B: string vaut "default string from B" B: string2 vaut "string2 initialisée depuis A"