Outils pour utilisateurs

Outils du site


public:appel_macro_par_macro

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
public:appel_macro_par_macro [2016/07/04 15:13]
matthieu.decorde@ens-lyon.fr
public:appel_macro_par_macro [2016/07/06 18:04]
slh@ens-lyon.fr
Ligne 12: Ligne 12:
 import org.txm.rcpapplication.swt.widget.parameters.* import org.txm.rcpapplication.swt.widget.parameters.*
  
-@Field @Option(name="​string",​ usage="​an example string",​ widget="​String",​ required=true,​ def="hello world!")+// déclaration de paramètres 
 +@Field @Option(name="​string",​ usage="​an example string",​ widget="​String",​ required=true,​ def="default string from B")
 def string def string
-@Field @Option(name="​string2",​ usage="​an example string",​ widget="​String",​ required=false,​ def="hello world!")+@Field @Option(name="​string2",​ usage="​an example string",​ widget="​String",​ required=false,​ def="default string2 from B")
 def string2 def string2
  
-if (!ParametersDialog.open(this)) return;+// ouverture de la boite de dialogue de saisie des paramètres 
 +if (!ParametersDialog.open(this)) return
  
-println "​string vaut $string"​ +// corps de la macro 
-println "​string2 vaut $string2"​+println "B: string vaut \"$string\"
 +println "B: string2 vaut \"$string2\""
 </​code>​ </​code>​
  
Ligne 28: Ligne 31:
 package org.txm.macro package org.txm.macro
  
-// appelle B avec la ligne suivante  +println "A: appel de B"
-gse.runMacro BMacro ["​string"​:"appel depuis A"] +
-// Ce code n'​ouvrira pas la boite de dialogue des paramètres ​de B, car '​string2'​ n'est pas obligatoire (sa valeur par défaut ou enregistrée est utilisée)+
  
-// ou bien 
-gse.runMacro BMacro ["​string":"​appel depuis A", "​string2":"​2e appel depuis A"] 
 // Ce code n'​ouvrira pas la boite des paramètres de B, car tous les paramètres sont renseignés // 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 // ou bien
-gse.runMacro BMacro ["​string2":"​2e appel depuis A"] 
 // Ce code ouvrira la boite des paramètres de B, car '​string'​ est obligatoire et pas renseigné. // 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"])
 </​code>​ </​code>​
  
 +===== 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 boite de dialogue de B ne s'​ouvre que lors du deuxième appel de B
 +    * la console affiche :<​code>​
 +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"
 +</​code>​
  
public/appel_macro_par_macro.txt · Dernière modification: 2016/07/06 18:04 par slh@ens-lyon.fr