@@ -235,7 +235,7 @@ private void updateAddButton() {
235
235
String den = denLabel .getText ();
236
236
boolean valid = (num .compareTo (den ) != 0 )
237
237
&& !taskEditor .getRatioNames ().contains (num + "/" + den )
238
- && !REQUIRED_RATIO_NAMES .contains (num + "/" + den )
238
+ && !taskEditor . getTaskType (). getRequiredRatioNames () .contains (num + "/" + den )
239
239
&& num .length () > 0 && den .length () > 0 ;
240
240
addBtn .setDisable (!valid );
241
241
}
@@ -246,7 +246,7 @@ private void populateRatios() {
246
246
int count = 1 ;
247
247
248
248
if (amGeochronMode ) {
249
- for (String ratioName : REQUIRED_RATIO_NAMES ) {
249
+ for (String ratioName : taskEditor . getTaskType (). getRequiredRatioNames () ) {
250
250
VBox ratio = makeRatioVBox (ratioName );
251
251
ratio .setStyle (ratio .getStyle () + "-fx-border-color: black;-fx-background-color: pink;" );
252
252
ratio .setTranslateX (count ++);
@@ -458,8 +458,8 @@ private void initTaskDesign() throws SquidException {
458
458
459
459
if (newValue == 0 ) {
460
460
taskEditor .setIndexOfBackgroundSpecies (-1 );
461
- } else if (newValue > taskEditor .getNominalMasses ().size () + REQUIRED_NOMINAL_MASSES .size ()) {
462
- taskEditor .setIndexOfBackgroundSpecies (taskEditor .getNominalMasses ().size () + REQUIRED_NOMINAL_MASSES .size () - 1 );
461
+ } else if (newValue > taskEditor .getNominalMasses ().size () + taskEditor . getTaskType (). getRequiredNominalMasses () .size ()) {
462
+ taskEditor .setIndexOfBackgroundSpecies (taskEditor .getNominalMasses ().size () + taskEditor . getTaskType (). getRequiredNominalMasses () .size () - 1 );
463
463
} else {
464
464
taskEditor .setIndexOfBackgroundSpecies (newValue - 1 );
465
465
}
@@ -495,7 +495,7 @@ private void populateMasses() {
495
495
defaultMassesListTextFlow .setMaxHeight (30 );
496
496
List <String > allMasses = new ArrayList <>();
497
497
if (amGeochronMode ) {
498
- allMasses .addAll (REQUIRED_NOMINAL_MASSES );
498
+ allMasses .addAll (taskEditor . getTaskType (). getRequiredNominalMasses () );
499
499
}
500
500
allMasses .addAll (taskEditor .getNominalMasses ());
501
501
@@ -506,7 +506,7 @@ private void populateMasses() {
506
506
StackPane massText ;
507
507
if (count == taskEditor .getIndexOfBackgroundSpecies () + 1 ) {
508
508
massText = makeMassStackPane (mass , "Aquamarine" );
509
- } else if (REQUIRED_NOMINAL_MASSES .contains (mass )) {
509
+ } else if (taskEditor . getTaskType (). getRequiredNominalMasses () .contains (mass )) {
510
510
massText = makeMassStackPane (mass , "pink" );
511
511
} else {
512
512
massText = makeMassStackPane (mass , "white" );
@@ -726,11 +726,13 @@ private ContextMenu createChooseRatiosContextMenu() {
726
726
denLabel .setText ("" );
727
727
addBtn .setDisable (true );
728
728
List <String > masses = new ArrayList <>();
729
- masses .addAll (REQUIRED_NOMINAL_MASSES );
729
+ masses .addAll (taskEditor . getTaskType (). getRequiredNominalMasses () );
730
730
masses .addAll (taskEditor .getNominalMasses ());
731
731
// DEFAULT_BACKGROUND_MASS_LABEL);
732
732
masses .sort (new IntuitiveStringComparator <>());
733
- masses .remove (taskEditor .getIndexOfBackgroundSpecies ());
733
+ if (taskEditor .getIndexOfBackgroundSpecies () >= 0 ) {
734
+ masses .remove (taskEditor .getIndexOfBackgroundSpecies ());
735
+ }
734
736
addNumeratorVBox .getChildren ().clear ();
735
737
addDenominatorVBox .getChildren ().clear ();
736
738
for (String mass : masses ) {
@@ -824,7 +826,7 @@ private void updateCurrentTaskWithThisTaskAction() throws SquidException {
824
826
// check the mass count
825
827
boolean valid = (squidProject .getTask ().getSquidSpeciesModelList ().size ()
826
828
== (taskEditor .getNominalMasses ().size ()
827
- + (amGeochronMode ? REQUIRED_NOMINAL_MASSES .size () : 0 )));
829
+ + (amGeochronMode ? taskEditor . getTaskType (). getRequiredNominalMasses () .size () : 0 )));
828
830
if (valid ) {
829
831
// detect if masses or ratios have changed before reconstruction
830
832
boolean noChange = ((Task ) squidProject .getTask ()).taskDesignDiffersFromTask (taskEditor );
@@ -846,7 +848,7 @@ private void updateCurrentTaskWithThisTaskAction() throws SquidException {
846
848
} else {
847
849
SquidMessageDialog .showInfoDialog ("The data file has " + squidProject .getTask ().getSquidSpeciesModelList ().size ()
848
850
+ " masses, but the Task Editor specifies "
849
- + ((amGeochronMode ? REQUIRED_NOMINAL_MASSES .size () : 0 ) + taskEditor .getNominalMasses ().size ())
851
+ + ((amGeochronMode ? taskEditor . getTaskType (). getRequiredNominalMasses () .size () : 0 ) + taskEditor .getNominalMasses ().size ())
850
852
+ "." ,
851
853
primaryStageWindow );
852
854
}
0 commit comments