Outils pour utilisateurs

Outils du site


public:appel_macro_par_macro

Ceci est une ancienne révision du document !


Tutoriel d'appel d'une macro par une autre macro

Soit deux macros A et B codées dans les scripts “AMacro.groovy” et “BMacro.groovy”.

Code de la macro B appelée : “BMacro.groovy”

package org.txm.macro

import org.kohsuke.args4j.*
import groovy.transform.Field
import org.txm.rcpapplication.swt.widget.parameters.*

@Field @Option(name="string", usage="an example string", widget="String", required=false, def="hello world!")
def string
@Field @Option(name="string2", usage="an example string", widget="String", required=false, def="hello world!")
def string2

if (!ParametersDialog.open(this)) return;

println "string vaut $string"
println "string2 vaut $string2"

Code de la macro A appelante : “AMacro.groovy”

package org.txm.macro

// A appelle B avec la ligne suivante 
gse.run BMacro ["args":["string":"appel depuis A"]]
// Ce code ouvrira la boite de dialogue des paramètres de B, mais sans le champ "string"

// ou bien
gse.run BMacro ["args":["string":"appel depuis A", "string2":"2e appel depuis A"]]

Ce code n'ouvrira pas la boite des paramètres de B ==== Améliorations possibles ==== A peut appeler B avec : <code> gse.runMacro B [“args”:[“string”:“bonjour depuis A”]] </code> ou alors si “gse.run” ne trouve pas “B.groovy” essaye avec “BMacro.groovy” ou alors ne pas utiliser “Macro.groovy” pour détecter une macro d'un script, et alors <code> gse.run B [“args”:[“string”:“bonjour depuis A”]] </code> suffit

public/appel_macro_par_macro.1467299276.txt.gz · Dernière modification: 2016/06/30 17:07 par slh@ens-lyon.fr