Application de la commande de diffusion à un ensemble de boîtes de contourSalut - J'ai un script JSL qui envoie un certain nombre de Outline Box au journal à partir d'une boucle for (c'est-à-dire que chaque cycle de la boucle crée une nouvelle Outline Box, dont j'envoie une copie au journal dès sa création). ). Existe-t-il un moyen d'ouvrir ou de fermer l'ensemble résultant de boîtes de plan dans le journal à l'unisson en utilisant la combinaison de touches de diffusion (c'est-à-dire en maintenant la touche enfoncée tout en ouvrant ou en fermant une seule d'entre elles) ?
J'ai écrit un certain nombre d'applications dans lesquelles je souhaite pouvoir faire cela. Dans certains d'entre eux, il semble que j'ai incorporé cette fonctionnalité par inadvertance, alors que dans d'autres, je ne l'ai pas fait - mais je n'arrive pas à comprendre où réside la différence dans la façon dont je les ai scriptés. Dans tous les cas, les zones de plan contiennent un résumé des données au format identique dans lequel la seule différence réside dans les chiffres réels résumés.
Merci beaucoup pour toutes suggestions.
Re : Application de la commande de diffusion à un ensemble de boîtes de contourMerci beaucoup pour les deux suggestions. J'utiliserai l'une des solutions de contournement suggérées, qui feront toutes deux tout aussi bien l'affaire.Comme toujours, il est utile de savoir qu'il n'y a pas une astuce anodine que je viens de rater 
Re : Application de la commande de diffusion à un ensemble de boîtes de contourMalheureusement, il ne vous est pas possible de modifier les valeurs helpKey, car JMP s'en sert.
Cependant, vous pouvez créer un bouton qui développe/réduit toutes les OutlineBox au lieu d'utiliser la touche de contrôle, en vous appuyant sur les titres et les helpKeys d'OutlineBox. Voir mon exemple ci-dessous pour plus de détails
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Owl Diet.jmp" );
yList = dt << get column names( string );
Remove From( yList, N Items( yList ) );
nw = New Window( "Example",
Button Box( "Collapse All",
<<SET function=""></SET>
ExpandedExpandedÉtendu
CollapsedCollapsedS'est effondré
Re : Application de la commande de diffusion à un ensemble de boîtes de contourCela doit être dû à la HelpKey commune partagée par toutes les sorties du générateur de graphiques. La meilleure référence que j'ai trouvée sur HelpKeys était ici , peut être @Justin_Chilton peut-il nous éclairer sur la question de savoir si la HelpKey peut être définie lors de l'envoi de quelque chose à un journal, ou modifiée pour un élément du journal ? Si cela n'est pas possible, une solution de contournement consisterait à insérer un élément de texte entre chaque sortie :

Si vous déplacez la sortie du générateur de graphiques sous une zone de plan, vous pouvez voir la clé d'aide en utilisant « afficher l'arborescence » :

Re : Application de la commande de diffusion à un ensemble de boîtes de contourBonjour - merci pour cela, et j'ai vérifié qu'en effet si les boîtes de contour ont toutes le même titre, je peux alors les ouvrir et les fermer simultanément avec une commande d'ouverture/fermeture diffusée. Malheureusement, j'ai en fait besoin qu'ils aient des titres différents, car une fois qu'ils sont tous fermés, je ne peux pas facilement dire lequel(s) je veux spécifiquement ouvrir.
J'ai trouvé un exemple d'un de mes scripts fonctionnant comme je le souhaite - mais il concerne une situation dans laquelle j'envoie plusieurs copies de la sortie de Graph Builder au journal à partir d'une boucle for. À chaque exécution de la boucle, je modifie les variables tracées par Graph Builder, puis j'envoie une copie au journal avant d'exécuter la suivante. La partie pertinente du script fonctionne comme ceci :
dt = Open( "$SAMPLE_DATA/Owl Diet.JMP" );
yList = dt << get column names(string);
remove from(yList, nItems(yList));
show(yList);
// Create the chart as I want it to look for the first item on the list, and send a copy of it to the journal;
gb = Graph Builder(
Show Control Panel( 0 ),
Size( 600, 250 ),
Show Legend( 0 ),
Variables( X( :species ), Y( as column(column(dt, yList[1])) ) ),
Elements( Box Plot( X, Y, Legend( 6 ) ) ),
SendToReport(
Dispatch(
{},
"Graph Builder",
OutlineBox,
{Set Title( "Analysis of " || title case(yList[1]) )}
),
Dispatch( {}, "graph title", TextEditBox, {Set Text( "" )} ),
Dispatch( {}, "400", LegendBox, {Set Title( "" )} )
)
);
report(gb) << journal();
// Then run all the others in sequence by each time replacing the current Y variable with the next one, and adding them to the journal as we go;
for(i=2, i<=nItems(yList), i++,
gbb = report(gb);
gbb << Dispatch( {}, "Graph Builder", OutlineBox, {Set Title( "Analysis of " || title case(yList[i]) )} );
gbb[GraphBuilderBox(1)] << remove variable(2);
gbb[GraphBuilderBox(1)] << add variable({as column(column(dt, yList[i])), role("Y")});
gbb << journal()
);
// Finally, close the original chart window;
gb << close window;
La commande de diffusion fonctionne dans ce cas, probablement parce que tous les graphiques sont en fait appelés "Graph Builder" bien qu'ils aient tous reçu des étiquettes différentes - et c'est cet effet que je souhaite reproduire lorsque j'envoie des boîtes de plan au journal qui n'étaient pas créé à l’aide du Graph Builder.
Toutes les suggestions sont les bienvenues, même si je demande peut-être l'impossible.
Merci beaucoup.
Re : Application de la commande de diffusion à un ensemble de boîtes de contourD'après mon expérience, si vous faites correspondre les titres des zones de contour, ils s'ouvrent ou se ferment tous avec la touche de contrôle (sous Windows).Un clic droit sur l'une d'entre elles et le survol de « Fermer tout comme ceci » font apparaître une info-bulle indiquant que des touches d'aide identiques ont le même effet, mais je n'ai pas trouvé de références à l'utilisation de touches d'aide dans les journaux ou JSL.
