Skip to content

Commit 2bd8e45

Browse files
authored
WM updates (#711)
* Updated gradle * Fixed issues #706 and #709 * Tweaked WM display * Handle missing WM
1 parent c4d8d83 commit 2bd8e45

File tree

3 files changed

+25
-11
lines changed

3 files changed

+25
-11
lines changed

squidApp/src/main/java/org/cirdles/squid/gui/dateInterpretations/plots/plotControllers/PlotsController.java

+9-4
Original file line numberDiff line numberDiff line change
@@ -738,14 +738,19 @@ public void refreshPlot() {
738738
plotToolBar.getItems().addAll(plot.toolbarControlsFactory());
739739

740740
} catch (Exception e) {
741+
plot = null;
742+
removePlotWhenNull();
741743
}
742744
} else {
743-
plotAndConfigAnchorPane.getChildren().clear();
744-
plotToolBar.getItems().clear();
745-
746-
plotVBox.getChildren().remove(plotToolBar);
745+
removePlotWhenNull();
747746
}
747+
}
748748

749+
private void removePlotWhenNull()
750+
{
751+
plotAndConfigAnchorPane.getChildren().clear();
752+
plotToolBar.getItems().clear();
753+
plotVBox.getChildren().remove(plotToolBar);
749754
}
750755

751756
@Override

squidApp/src/main/java/org/cirdles/squid/gui/dateInterpretations/plots/plotControllers/RefMatWeightedMeanToolBoxNode.java

+13-5
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,7 @@ private void displaySample(String newValue) throws SquidException {
176176

177177
// each fraction stores this info, so get from first one
178178
String selectedAge = shrimpFractions.get(0).getSelectedAgeExpressionName();
179+
((Task) squidProject.getTask()).evaluateUnknownsWithChangedParameters(shrimpFractions);
179180
SpotSummaryDetails spotSummaryDetailsWM
180181
= ((Task) squidProject.getTask()).evaluateSelectedAgeWeightedMeanForUnknownGroup(newValue, shrimpFractions);
181182
spotSummaryDetailsWM.setManualRejectionEnabled(true);
@@ -458,7 +459,7 @@ public void changed(ObservableValue<? extends SquidReportColumnInterface> observ
458459
String selectedExpression = newValue.getExpressionName();
459460
sampleNode.getSpotSummaryDetailsWM().setSelectedExpressionName(
460461
selectedExpression);
461-
refreshSampleCheckboxSelectionStatus(sampleNode.getSpotSummaryDetailsWM());
462+
462463
sortFractionCheckboxesByValue(sampleNode.getSpotSummaryDetailsWM());
463464
plotsController.refreshPlot();
464465
}
@@ -740,10 +741,17 @@ private void sortFractionCheckboxesByValue(SpotSummaryDetails spotSummaryDetails
740741
});
741742
}
742743

743-
private void refreshSampleCheckboxSelectionStatus(SpotSummaryDetails spotSummaryDetails){
744-
for (int i = 0; i < sampleItem.getChildren().size(); i++) {
745-
((CheckBoxTreeItem<SampleTreeNodeInterface>)sampleItem.getChildren().get(i)).setSelected(!spotSummaryDetails
746-
.getRejectedIndices()[i]);
744+
private void refreshSampleCheckboxSelectionStatus(SpotSummaryDetails spotSummaryDetails) {
745+
if (PlotsController.plot != null) {
746+
try {
747+
for (TreeItem<SampleTreeNodeInterface> spotCheckBox : PlotsController.spotsTreeViewCheckBox.getRoot().getChildren()) {
748+
int indexOfSpot = ((WeightedMeanSpotNode) spotCheckBox.getValue()).getIndexOfSpot();
749+
((CheckBoxTreeItem<SampleTreeNodeInterface>) spotCheckBox).setSelected(
750+
!sampleNode.getSpotSummaryDetailsWM().getRejectedIndices()[indexOfSpot]);
751+
}
752+
} catch (Exception e) {
753+
//e.printStackTrace();
754+
}
747755
}
748756
}
749757
}

squidApp/src/main/java/org/cirdles/squid/gui/dateInterpretations/plots/plotControllers/SamplesWeightedMeanToolBoxNode.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -333,6 +333,7 @@ public void changed(ObservableValue<? extends SquidReportCategoryInterface> obse
333333
@Override
334334
public void changed(ObservableValue<? extends SquidReportColumnInterface> observable, SquidReportColumnInterface oldValue, SquidReportColumnInterface newValue) {
335335
if (newValue != null) {
336+
PlotsController.spotsTreeViewCheckBox.setRoot(sampleItem);
336337
String selectedExpression = newValue.getExpressionName();
337338
if (categoryComboBox.getSelectionModel().getSelectedItem().getDisplayName().compareToIgnoreCase("AGES") == 0) {
338339

@@ -363,6 +364,8 @@ public void changed(ObservableValue<? extends SquidReportColumnInterface> observ
363364
probabilitySlider.valueProperty().setValue(spotSummaryDetailsWM.getMinProbabilityWM());
364365
}
365366
} catch (SquidException squidException) {
367+
PlotsController.plot = null;
368+
PlotsController.spotsTreeViewCheckBox.setRoot(null);
366369
}
367370

368371
} else {
@@ -392,15 +395,13 @@ public void changed(ObservableValue<? extends SquidReportColumnInterface> observ
392395
PlotsController.plot = myPlot;
393396
sampleNode.setSamplePlotWM(myPlot);
394397

395-
// updateSampleFromSlider(probabilitySlider.getValue());
396398
// if value is unchanged, then we need to force update
397399
if (Double.compare(probabilitySlider.getValue(), spotSummaryDetailsWM.getMinProbabilityWM()) == 0) {
398400
updateSampleFromSlider(probabilitySlider.getValue());
399401
} else {
400402
// this also forces an update
401403
probabilitySlider.valueProperty().setValue(spotSummaryDetailsWM.getMinProbabilityWM());
402404
}
403-
404405
}
405406

406407
// sort by selected sort expression

0 commit comments

Comments
 (0)