Tendrá que borrar b antes de agregarlo (o reconstruirlo).
Por ejemplo, podría configurarlo como vacío antes de agregar:
Button Box( "BE", b << set items({}); b << append( runScriptFilter( "BE" ) ) ),runScriptFilter = Function( {filterWord},
{},
If( filterWord == "FE",
selected = {"1", "2", "3"}
);
If( filterWord == "SSAFI",
selected = {"4", "5", "6"}
);
If( filterWord == "BE",
selected = {"7", "8", "9"}
);
Return( selected );
);
//title and gui
lub1 = Lineup Box( N Col( 3 ), spacing( 5 ),
Spacer Box( size( 0, 0 ) ),
Spacer Box( size( 0, 0 ) ),
Spacer Box( size( 0, 0 ) ),
//button and text
Button Box( "BE", b << append( runScriptFilter( "BE" ) ) ),
Button Box( "SSAFI", b << append( runScriptFilter( "SSAFI" ) ) ),
Button Box( "FE", b << append( runScriptFilter( "FE" ) ) ),
//H Center Box( text = Text Box( "Select column that will compared with indicators" ) ),
b = List Box(),
b << Set height( 400 );
b << Set Width( 400 );
);
pb1 = Panel Box( "GM EOL", lub1 );
myWindow = New Window( "GM EOL", Show Menu( 0 ), show toolbars( 0 ), Border Box( Top( 20 ), Bottom( 20 ), Left( 20 ), Right( 20 ) ), pb1 );
Tengo un script que simplifiqué un poco.
el agregado funciona muy bien, pero quiero que antes de agregar una lista, borre el estado actual
hacer clic en todos los botones me da esto:

pero en realidad quiero que me dé solo 3 números y no 9 (el último botón en el que hice clic)