Je pense que ce serait absolument génial, si je pouvais faire quelque chose comme ça.
Names default to here(1);
dt = open("$SAMPLE_DATA\Big Class.jmp");
biv = dt << Bivariate();
Maintenant, biv est un "Scriptable[]", et ça va.Mais quand j'appuie sur OK, j'adorerais que biv devienne l'expression que vous obtiendriez si vous enregistriez le script dans la fenêtre de script.
De cette façon, je peux faire quelque chose comme
while(type(biv)!= "Expression",
if(biv == "User Canceled", stop());
wait(.3);
);
biv = Eval(biv);
Et il attendrait aussi longtemps que nécessaire pour que l'utilisateur saisisse ce dont il avait besoin.
J'ai mis une déclaration qui vérifierait si l'utilisateur annulait en supposant que l'annulation de l'utilisateur aurait également un effet.
Le problème évident avec ceci est que je ferais l'analyse deux fois.
C'est lié à ça élément communautaire , je n'aime vraiment pas réécrire l'interface utilisateur pour les plates-formes.
@vince_faller ,
Je suis d'accord que l'activation de l'interface de la plate-forme JMP serait cool.Même si j'aime l'interface de la plate-forme non modale, ce que vous décrivez est quelque chose comme
biv = dt << Bivariate( <<MODAL></MODAL>
Cela dit, JMP activant winlist = Get Window List () avec une option de type et Save ByGroup Script to Data Table( "name", <
Names default to here(1);
dt = open("$SAMPLE_DATA\Big Class.jmp");
biv = dt << Bivariate( );
opt = 0;
onCancel = Expr( opt = -1 );
onOK = Expr( opt = 1 );
doSomething = Expr(
winlist = (Get Window List(Type("Reports")) << Get Window Title());
If (nitems(winlist) >0,
win = Window(winlist[nitems(winlist)]);
// should have an error check for Bivariate, this assumes the last report is the report you want
biv = win[OutlineBox(1)] << get scriptable object;
biv << Save By Group Script to Data Table("user",<<PROMPT></PROMPT>