Applicazione del comando di trasmissione a una serie di riquadri di contornoSalve, ho uno script JSL che invia un numero di Outline Boxes al diario dall'interno di un ciclo for (ovvero ogni ciclo del ciclo crea un nuovo Outline Box, di cui invio una copia al diario non appena viene creato ). C'è un modo per far sì che il set risultante di riquadri di contorno all'interno del diario si apra o si chiuda all'unisono utilizzando la combinazione di tasti di trasmissione (ovvero tenendo premuto il tasto mentre si apre o si chiude solo uno di essi)?
Ho scritto una serie di applicazioni in cui voglio essere in grado di farlo. In alcuni di essi mi sembra di aver comunque incorporato inavvertitamente questa funzionalità, mentre in altri no, ma non riesco a capire dove risieda la differenza nel modo in cui li ho scritti. In tutti i casi, i riquadri di struttura contengono un riepilogo dei dati con formato identico in cui l'unica differenza risiede nei numeri effettivi riepilogati.
Molte grazie per eventuali suggerimenti.
Ri: Applicazione del comando di trasmissione a una serie di riquadri di contornoMolte grazie per entrambi i suggerimenti: utilizzerò una delle soluzioni alternative suggerite, entrambe funzioneranno altrettanto bene.Come sempre, è utile sapere che non c'è un trucco banale che mi sia sfuggito 
Ri: Applicazione del comando di trasmissione a una serie di riquadri di contornoSfortunatamente, non è possibile modificare i valori helpKey poiché JMP fa affidamento su di essi.
Tuttavia, potresti creare un pulsante che espande/comprime tutti gli OutlineBox invece di utilizzare il tasto di controllo, facendo affidamento sui titoli OutlineBox e sugli helpKeys. Vedi il mio esempio qui sotto per i dettagli
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>
ExpandedExpandedallargato
CollapsedCollapsedCrollato
Ri: Applicazione del comando di trasmissione a una serie di riquadri di contornoCiò deve essere dovuto alla HelpKey comune condivisa da tutti gli output del generatore di grafici. Il miglior riferimento che ho trovato su HelpKeys è stato Qui , Forse @Justin_Chilton può far luce sulla possibilità di impostare HelpKey quando si invia qualcosa a un diario o di modificarlo per un elemento nel diario? Se ciò non è possibile, una soluzione alternativa sarebbe quella di inserire un elemento di testo tra ciascun output:

Se sposti l'output del generatore di grafici sotto una casella di contorno puoi vedere l'HelpKey utilizzando 'mostra struttura ad albero':

Ri: Applicazione del comando di trasmissione a una serie di riquadri di contornoCiao, grazie per questo, e ho verificato che in effetti se le caselle del contorno hanno tutte lo stesso titolo, posso aprirle e chiuderle simultaneamente con un comando di apertura/chiusura trasmesso. Sfortunatamente in realtà ho bisogno che abbiano titoli diversi, poiché una volta che sono tutti chiusi, non riesco facilmente a capire quale(i) voglio specificamente aprire.
Ho trovato un esempio di uno dei miei script che funziona nel modo desiderato, ma si riferisce a una situazione in cui invio più copie dell'output del Costruttore di grafici al journal dall'interno di un ciclo for. Ad ogni esecuzione del ciclo, cambio le variabili che il Costruttore di grafici sta tracciando e quindi invio una copia al diario prima di eseguire quello successivo. La parte rilevante dello script funziona in questo modo:
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;
Il comando di trasmissione funziona in questo caso, presumibilmente perché tutti i grafici sono in realtà chiamati "Graph Builder" nonostante a tutti siano state assegnate etichette diverse - ed è questo effetto che voglio riprodurre quando invio riquadri di contorno al diario che non lo erano creato utilizzando il Costruttore di grafici.
Qualsiasi suggerimento è benvenuto, anche se potrei chiedere l'impossibile.
Grazie molto.
Ri: Applicazione del comando di trasmissione a una serie di riquadri di contornoDalla mia esperienza, se fai corrispondere i titoli delle caselle del contorno, si aprono o si chiudono tutti con il tasto Control (su Windows).Facendo clic con il pulsante destro del mouse su uno e passando con il mouse su "Chiudi tutto in questo modo" viene visualizzato un suggerimento che indica che chiavi di aiuto identiche hanno lo stesso effetto ma non ho trovato riferimenti all'uso delle chiavi di aiuto nei diari o in JSL.
