Buon pomeriggio,
si prega di avvisare
Questo è un caso in due fasi. Il primo passo è presentare all'utente le caselle di controllo in tre cluster.
Gli elementi della casella di controllo sono Test1-4. L'utente può selezionare 1 o tutte le caselle di controllo e quando fa clic
il pulsante Passaggio successivo, la casella Struttura "Qualcosa di importante" dovrebbe chiudersi e una casella di colonna di stringa con
i test selezionati dovrebbero apparire in una casella Struttura aggiunta, "valori di input", che si trova nella fase 2 espr.
L'elenco degli elementi selezionati non verrà valutato nel passaggio 2
Grazie in anticipo!
Names Default To Here( 1 );
/*This is a two step case. First step is to present user with check boxes in three clusters.
The check box items are Test1-4. The user may select 1 or all check boxes and when they click
the Next Step Button, the "Something Important" Outline box should close and a string col box with
the selected tests should appear in an appended Outline box, "input values", which is in the step2 expr.
The list of selected items will not evaluate in the step2?*/
Test1 = "First";
Test2 = "Second";
Test3 = "Third";
Test4 = "Four";
step2 = Expr(
ob1 = Outline Box( "Input Values", String Col Box( "Tests", Eval List( tests ) ), )
);
nw = New Window( "Example",
vlb0 = V List Box(
ob0 = Outline Box( "Something Important",
H List Box(
Panel Box( "Cluster1", cb0 = Check Box( Eval List( {Test1, Test2} ) ) ),
Panel Box( "Cluster2", cb1 = Check Box( Eval List( {Test3} ) ), ),
Panel Box( "Cluster4", cb2 = Check Box( Eval List( {Test4} ) ), ),
), // end Hlb
bbx = Border Box(
H List Box(
bb0 = Button Box( "Select All",
cb0 << Set All( 1 );
cb1 << Set All( 1 );
cb2 << Set All( 1 );
),
bb1 = Button Box( "Next Step",
c1 = cb0 << Get Selected();
c2 = cb1 << Get Selected();
c3 = cb2 << Get Selected();
tests = {};
If( Sum( N Items( c1 ), N Items( c2 ), N Items( c3 ) ) == 0,
ob0 << Close( 0 ),
vlb0 << Append( Eval( step2 ) ) & ob0 << Close( 1 ) &
For( i = 1, i <= N Items( c1 ), i++,
Insert Into( tests, c1[i] )
) & For( j = 1, j <= N Items( c2 ), j++,
Insert Into( tests, c2[j] )
) & For( k = 1, k <= N Items( c3 ), k++,
Insert Into( tests, c3[k] )
)
);,
),
bb = Button Box( "Cancel", nw << Close Window ),
), // end hlb
),
),
), // end vlb0
);
bbx << Left( 285 );Grazie @ron_horne per evidenziare il problema con l'ordinazione di azioni dalla Button Box. Il messaggio di Append doveva arrivare alla fine.