@@ -126,6 +126,7 @@ private void createToolbarMain(Composite parent) {
126126 Composite composite = new Composite (parent , SWT .NONE );
127127 GridData gridData = new GridData (GridData .FILL_HORIZONTAL );
128128 gridData .horizontalAlignment = SWT .END ;
129+ gridData .widthHint = 300 ;
129130 composite .setLayoutData (gridData );
130131 composite .setLayout (new GridLayout (2 , false ));
131132
@@ -303,6 +304,7 @@ public void handleEvent(BaseChart baseChart, Event event) {
303304 IResultsMVA results = evaluationPCA .getResults ();
304305 List <IResultMVA > resultList = results .getPcaResultList ();
305306 List <SampleScore > sampleScores = new ArrayList <>();
307+
306308 for (IResultMVA result : resultList ) {
307309 ISample sample = result .getSample ();
308310 double [] scoreMatrix = result .getScoreVector ();
@@ -314,16 +316,20 @@ public void handleEvent(BaseChart baseChart, Event event) {
314316 }
315317 }
316318 sampleScores .sort (Comparator .comparingDouble (SampleScore ::getScore ).reversed ());
319+ if (pXStart < 0 ) {
320+ pXStart = 0 ;
321+ } else if (pXStop < 0 ) {
322+ pXStop = 0 ;
323+ } else if (pXStop > sampleScores .size () - 1 ) {
324+ pXStop = sampleScores .size () - 1 ;
325+ }
317326 List <ISample > samplesHighlighted = evaluationPCA .getHighlightedSamples ();
318327 for (int i = pXStart ; i <= pXStop ; i ++) {
319328 String currentSampleName = sampleScores .get (i ).getSampleName ();
320329 int index = IntStream .range (0 , samplesHighlighted .size ()).filter (x -> samplesHighlighted .get (x ).getSampleName ().equals (currentSampleName )).findFirst ().orElse (-1 );
321330 if (index == -1 ) {
322331 samplesHighlighted .add (samples .getSamples ().stream ().filter (x -> x .getSampleName ().equals (currentSampleName )).findFirst ().get ());
323- } else {
324- samplesHighlighted .remove (index );
325332 }
326-
327333 }
328334
329335 if (!samplesHighlighted .isEmpty ()) {
0 commit comments