Skip to content

Commit 26f74a9

Browse files
committed
PCA, Score Bar Chart: adjust selection, fix list-out-of bound, layout
Signed-off-by: Lorenz Gerber <lorenz.gerber@lablicate.com>
1 parent 7911c32 commit 26f74a9

File tree

1 file changed

+9
-3
lines changed
  • chemclipse/plugins/org.eclipse.chemclipse.xxd.process.supplier.pca.ui/src/org/eclipse/chemclipse/xxd/process/supplier/pca/ui/swt

1 file changed

+9
-3
lines changed

chemclipse/plugins/org.eclipse.chemclipse.xxd.process.supplier.pca.ui/src/org/eclipse/chemclipse/xxd/process/supplier/pca/ui/swt/ExtendedScorePlotBarChart.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)