@@ -188,7 +188,7 @@ public void initialize(URL url, ResourceBundle rb) {
188
188
setUpParametersModelsComboBoxes ();
189
189
190
190
try {
191
- setUpPrawnFile ();
191
+ setUpDataFile ();
192
192
} catch (SquidException squidException ) {
193
193
}
194
194
@@ -230,7 +230,7 @@ public void changed(ObservableValue<? extends String> observable, String oldValu
230
230
sampleNameComboBox .getSelectionModel ().selectFirst ();
231
231
}
232
232
233
- private void setUpPrawnFile () throws SquidException {
233
+ private void setUpDataFile () throws SquidException {
234
234
235
235
shrimpRuns = FXCollections .observableArrayList (squidProject .getPrawnFileRuns ());
236
236
@@ -312,7 +312,7 @@ private ContextMenu createAllSpotsViewContextMenu()
312
312
squidProject .removeRunsFromPrawnFile (selectedRuns );
313
313
314
314
try {
315
- setUpPrawnFile ();
315
+ setUpDataFile ();
316
316
} catch (SquidException squidException ) {
317
317
318
318
}
@@ -409,7 +409,7 @@ public void handle(MouseEvent mouseEvent) {
409
409
restoreAllSpotMenuItem .setOnAction ((evt ) -> {
410
410
squidProject .restoreAllRunsToPrawnFile ();
411
411
try {
412
- setUpPrawnFile ();
412
+ setUpDataFile ();
413
413
} catch (SquidException squidException ) {
414
414
//TODO: need message here
415
415
}
@@ -423,7 +423,7 @@ public void handle(MouseEvent mouseEvent) {
423
423
restoreSpotMenuItem .setOnAction ((evt ) -> {
424
424
squidProject .restoreRunToPrawnFile (run );
425
425
try {
426
- setUpPrawnFile ();
426
+ setUpDataFile ();
427
427
} catch (SquidException squidException ) {
428
428
//TODO: need message here
429
429
}
@@ -522,49 +522,52 @@ public ParametersModel fromString(String userId) {
522
522
523
523
refMatModelComboBox .valueProperty ()
524
524
.addListener ((ObservableValue <? extends ParametersModel > observable , ParametersModel oldValue , ParametersModel newValue ) -> {
525
- if (newValue != null ) {
525
+ if ((oldValue != null ) && (newValue != null ) && (newValue .compareTo (oldValue ) != 0 )) {
526
+ squidProject .setReferenceMaterialModel (newValue );
527
+ squidProject .getTask ().setChanged (true );
528
+ squidProject .getTask ().refreshParametersFromModels (false , false , true );
529
+
530
+ alertForZeroNaturalUranium ();
531
+ }
532
+
533
+ ParametersModel curValue = (newValue != null ) ? newValue : oldValue ;
526
534
527
- String [] audit = ((ReferenceMaterialModel ) newValue ).auditAndTempUpdateRefMatModel ().split ("Audit:" );
528
- String [] flags = audit [0 ].split (";" );
535
+ String [] audit = ((ReferenceMaterialModel ) curValue ).auditAndTempUpdateRefMatModel ().split ("Audit:" );
536
+ String [] flags = audit [0 ].split (";" );
529
537
530
- if (flags [0 ].contains ("F" )) {
538
+ if (flags [0 ].contains ("F" )) {
539
+ SquidMessageDialog .showInfoDialog (
540
+ "This reference material model is missing meaningful age data. \n "
541
+ + "Please choose another model.\n \n " ,
542
+ primaryStageWindow );
543
+ } else {
544
+ if (audit [0 ].contains ("1" )) {
531
545
SquidMessageDialog .showInfoDialog (
532
- "This reference material model is missing meaningful age data. \n "
533
- + "Please choose another model.\n \n " ,
546
+ "This reference material model is missing key age(s), so Squid3 is \n "
547
+ + "temporarily substituting values (shown in red) and refreshing as follows:\n \n "
548
+ + audit [1 ],
534
549
primaryStageWindow );
535
- } else {
536
- if (audit [0 ].contains ("1" )) {
537
- SquidMessageDialog .showInfoDialog (
538
- "This reference material model is missing key age(s), so Squid3 is \n "
539
- + "temporarily substituting values (shown in red) and refreshing as follows:\n \n "
540
- + audit [1 ],
541
- primaryStageWindow );
542
- }
543
550
}
551
+ }
544
552
545
- BigDecimal age206_238rModel = ((ReferenceMaterialModel ) newValue ).getDateByName (age206_238r .getName ()).getValue ();
546
- BigDecimal age207_206rModel = ((ReferenceMaterialModel ) newValue ).getDateByName (age207_206r .getName ()).getValue ();
547
- BigDecimal age208_232rModel = ((ReferenceMaterialModel ) newValue ).getDateByName (age208_232r .getName ()).getValue ();
548
-
549
- pbb206U238AgeLabel .setText (age206_238rModel .movePointLeft (6 ).setScale (3 , RoundingMode .HALF_UP ).toString ());
550
- pbb206U238AgeLabel .setStyle ((flags [0 ].equals ("1" ) ? savedAgeLabelStyleWithRed : savedAgeLabelStyle ));
553
+ BigDecimal age206_238rModel = ((ReferenceMaterialModel ) curValue ).getDateByName (age206_238r .getName ()).getValue ();
554
+ BigDecimal age207_206rModel = ((ReferenceMaterialModel ) curValue ).getDateByName (age207_206r .getName ()).getValue ();
555
+ BigDecimal age208_232rModel = ((ReferenceMaterialModel ) curValue ).getDateByName (age208_232r .getName ()).getValue ();
551
556
552
- pb207Pb206AgeLabel .setText (age207_206rModel .movePointLeft (6 ).setScale (3 , RoundingMode .HALF_UP ).toString ());
553
- pb207Pb206AgeLabel .setStyle ((flags [1 ].equals ("1" ) ? savedAgeLabelStyleWithRed : savedAgeLabelStyle ));
557
+ pbb206U238AgeLabel .setText (age206_238rModel .movePointLeft (6 ).setScale (3 , RoundingMode .HALF_UP ).toString ());
558
+ pbb206U238AgeLabel .setStyle ((flags [0 ].equals ("1" ) ? savedAgeLabelStyleWithRed : savedAgeLabelStyle ));
554
559
555
- pb208Th232AgeLabel .setText (age208_232rModel .movePointLeft (6 ).setScale (3 , RoundingMode .HALF_UP ).toString ());
556
- pb208Th232AgeLabel .setStyle ((flags [2 ].equals ("1" ) ? savedAgeLabelStyleWithRed : savedAgeLabelStyle ));
560
+ pb207Pb206AgeLabel .setText (age207_206rModel .movePointLeft (6 ).setScale (3 , RoundingMode .HALF_UP ).toString ());
561
+ pb207Pb206AgeLabel .setStyle ((flags [1 ].equals ("1" ) ? savedAgeLabelStyleWithRed : savedAgeLabelStyle ));
557
562
558
- u238u235NatAbunLabel .setText (
559
- ((ReferenceMaterialModel ) newValue ).getDatumByName (r238_235s .getName ())
560
- .getValue ().setScale (3 , RoundingMode .HALF_UP ).toString ());
563
+ pb208Th232AgeLabel .setText (age208_232rModel .movePointLeft (6 ).setScale (3 , RoundingMode .HALF_UP ).toString ());
564
+ pb208Th232AgeLabel .setStyle ((flags [2 ].equals ("1" ) ? savedAgeLabelStyleWithRed : savedAgeLabelStyle ));
561
565
562
- alertForZeroNaturalUranium ();
566
+ u238u235NatAbunLabel .setText (
567
+ ((ReferenceMaterialModel ) curValue ).getDatumByName (r238_235s .getName ())
568
+ .getValue ().setScale (3 , RoundingMode .HALF_UP ).toString ());
563
569
564
- squidProject .setReferenceMaterialModel (newValue );
565
- squidProject .getTask ().setChanged (true );
566
- squidProject .getTask ().refreshParametersFromModels (false , false , true );
567
- }
570
+
568
571
});
569
572
570
573
// ConcentrationReferenceMaterials
@@ -589,18 +592,19 @@ public ParametersModel fromString(String userId) {
589
592
590
593
concRefMatModelComboBox .valueProperty ()
591
594
.addListener ((ObservableValue <? extends ParametersModel > observable , ParametersModel oldValue , ParametersModel newValue ) -> {
592
- if (newValue != null ) {
593
- uPpmLabel .setText (
594
- ((ReferenceMaterialModel ) newValue ).getConcentrationByName ("concU" )
595
- .getValue ().setScale (3 , RoundingMode .HALF_UP ).toString ());
596
- thPpmLabel .setText (
597
- ((ReferenceMaterialModel ) newValue ).getConcentrationByName ("concTh" )
598
- .getValue ().setScale (3 , RoundingMode .HALF_UP ).toString ());
599
-
595
+ if ((oldValue != null ) && (newValue != null ) && (newValue .compareTo (oldValue ) != 0 )) {
600
596
squidProject .setConcentrationReferenceMaterialModel (newValue );
601
597
squidProject .getTask ().setChanged (true );
602
598
squidProject .getTask ().refreshParametersFromModels (false , false , true );
603
599
}
600
+
601
+ ParametersModel curValue = (newValue != null ) ? newValue : oldValue ;
602
+ uPpmLabel .setText (
603
+ ((ReferenceMaterialModel ) curValue ).getConcentrationByName ("concU" )
604
+ .getValue ().setScale (3 , RoundingMode .HALF_UP ).toString ());
605
+ thPpmLabel .setText (
606
+ ((ReferenceMaterialModel ) curValue ).getConcentrationByName ("concTh" )
607
+ .getValue ().setScale (3 , RoundingMode .HALF_UP ).toString ());
604
608
});
605
609
}
606
610
0 commit comments