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.*

// 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\""

Code de la macro A appelante : "AMacro.groovy"

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"])

Recette

  • créer dans la vue Macro les macros A et B avec le code ci-dessus
  • double-cliquer sur l'icone de A –> la console affiche :
    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"
public/appel_macro_par_macro.1467820914.txt.gz · Dernière modification: 2016/07/06 18:01 par slh@ens-lyon.fr