@@ -2102,7 +2102,6 @@ private String peekDetailsPerSummary(SpotSummaryDetails spotSummary) {
2102
2102
boolean isAge = ((ExpressionTree ) spotSummary .getExpressionTree ()).getName ().toUpperCase (Locale .ENGLISH ).contains ("AGE" );
2103
2103
boolean isLambda = ((ExpressionTree ) spotSummary .getExpressionTree ()).getName ().toUpperCase (Locale .ENGLISH ).contains ("LAMBDA2" );
2104
2104
boolean isConcen = ((ExpressionTree ) spotSummary .getExpressionTree ()).getName ().toUpperCase (Locale .ENGLISH ).contains ("CONCEN" );
2105
- boolean isWM = ((ExpressionTree ) spotSummary .getExpressionTree ()).getName ().toUpperCase (Locale .ENGLISH ).contains ("WM" );
2106
2105
2107
2106
String [][] labels ;
2108
2107
try {
@@ -2226,9 +2225,12 @@ private String peekDetailsPerSpot(List<ShrimpFractionExpressionInterface> spots,
2226
2225
2227
2226
// context-sensitivity - we use Ma in Squid for display
2228
2227
boolean isAge = expTree .getName ().toUpperCase (Locale .ENGLISH ).contains ("AGE" );
2229
- String [][] resultLabelsFirst = clone2dArray (((ExpressionTree ) expTree ).getOperation ().getLabelsForOutputValues ());
2230
- isAge = isAge || resultLabelsFirst [0 ][0 ].toUpperCase (Locale .ENGLISH ).contains ("AGE" );
2231
-
2228
+ String [][] resultLabelsFirst = new String [0 ][];
2229
+ if (((ExpressionTree ) expTree ).getOperation () != null ) {
2230
+ resultLabelsFirst = clone2dArray (((ExpressionTree ) expTree ).getOperation ().getLabelsForOutputValues ());
2231
+ isAge = isAge || resultLabelsFirst [0 ][0 ].toUpperCase (Locale .ENGLISH ).contains ("AGE" );
2232
+ }
2233
+
2232
2234
String contextAgeFieldName = (isAge ? "Age(Ma)" : "Value" );
2233
2235
String contextAge1SigmaAbsName = (isAge ? "1\u03C3 Abs(Ma)" : "1\u03C3 Abs" );
2234
2236
// or it may be concentration ppm
@@ -2323,6 +2325,7 @@ private String peekDetailsPerSpot(List<ShrimpFractionExpressionInterface> spots,
2323
2325
formatter .format ("% 20.14" + (String ) ((i == 2 ) ? "f " : "E " ), squid3RoundedToSize (results [0 ][i ], sigDigits ));
2324
2326
}
2325
2327
sb .append (formatter .toString ());
2328
+ formatter .close ();
2326
2329
}
2327
2330
2328
2331
sb .append ("\n " );
@@ -2359,6 +2362,7 @@ private String peekDetailsPerSpot(List<ShrimpFractionExpressionInterface> spots,
2359
2362
Formatter formatter = new Formatter ();
2360
2363
formatter .format ("% 20.14E % 20.14E % 20.14f " , results [0 ][0 ], results [0 ][1 ], calcPercentUnct (results [0 ]));
2361
2364
sb .append (formatter .toString ());
2365
+ formatter .close ();
2362
2366
}
2363
2367
2364
2368
sb .append ("\n " );
@@ -2401,6 +2405,7 @@ private String peekDetailsPerSpot(List<ShrimpFractionExpressionInterface> spots,
2401
2405
}
2402
2406
sb .append (formatter .toString ());
2403
2407
}
2408
+ formatter .close ();
2404
2409
}
2405
2410
2406
2411
sb .append ("\n " );
@@ -2427,6 +2432,7 @@ private String peekDetailsPerSpot(List<ShrimpFractionExpressionInterface> spots,
2427
2432
2428
2433
formatter .format ("%1$-20s " , squid3RoundedToSize (results [0 ][0 ], sigDigits ));
2429
2434
sb .append (formatter .toString ());
2435
+ formatter .close ();
2430
2436
}
2431
2437
2432
2438
sb .append ("\n " );
@@ -2449,6 +2455,7 @@ private String peekDetailsPerSpot(List<ShrimpFractionExpressionInterface> spots,
2449
2455
Formatter formatter = new Formatter ();
2450
2456
formatter .format ("%1$-" + 20 + "s" , squid3RoundedToSize (results [0 ][0 ], sigDigits ));
2451
2457
sb .append (formatter .toString ());
2458
+ formatter .close ();
2452
2459
}
2453
2460
2454
2461
} catch (Exception e ) {
@@ -2525,23 +2532,23 @@ private ContextMenu createExpressionTextNodeContextMenu(ExpressionTextNode etn)
2525
2532
|| task .getRatioNames ().contains (text )) {
2526
2533
MenuItem menuItem1 = new MenuItem ("1 \u03C3 (%)" );
2527
2534
menuItem1 .setOnAction ((evt ) -> {
2528
- ExpressionTextNode etn2 = new ExpressionTextNode ("[%\" " + text + "\" ]" );// etn.getText().trim().replaceAll("\\[(±?)(%?)\"", "[%\""));
2535
+ ExpressionTextNode etn2 = new ExpressionTextNode ("[%\" " + text + "\" ]" );
2529
2536
etn2 .setOrdinalIndex (etn .getOrdinalIndex ());
2530
2537
expressionTextFlow .getChildren ().remove (etn );
2531
2538
expressionTextFlow .getChildren ().add (etn2 );
2532
2539
updateExpressionTextFlowChildren ();
2533
2540
});
2534
2541
MenuItem menuItem2 = new MenuItem ("1 \u03C3 abs (±)" );
2535
2542
menuItem2 .setOnAction ((evt ) -> {
2536
- ExpressionTextNode etn2 = new ExpressionTextNode ("[±\" " + text + "\" ]" );// etn.getText().trim().replaceAll("\\[(±?)(%?)\"", "[±\""));
2543
+ ExpressionTextNode etn2 = new ExpressionTextNode ("[±\" " + text + "\" ]" );
2537
2544
etn2 .setOrdinalIndex (etn .getOrdinalIndex ());
2538
2545
expressionTextFlow .getChildren ().remove (etn );
2539
2546
expressionTextFlow .getChildren ().add (etn2 );
2540
2547
updateExpressionTextFlowChildren ();
2541
2548
});
2542
2549
MenuItem menuItem3 = new MenuItem ("Use value" );
2543
2550
menuItem3 .setOnAction ((evt ) -> {
2544
- ExpressionTextNode etn2 = new ExpressionTextNode ("[\" " + text + "\" ]" );// etn.getText().trim().replaceAll("\\[(±?)(%?)\"", "[\""));
2551
+ ExpressionTextNode etn2 = new ExpressionTextNode ("[\" " + text + "\" ]" );
2545
2552
etn2 .setOrdinalIndex (etn .getOrdinalIndex ());
2546
2553
expressionTextFlow .getChildren ().remove (etn );
2547
2554
expressionTextFlow .getChildren ().add (etn2 );
@@ -2620,7 +2627,6 @@ private ContextMenu createExpressionTextNodeContextMenu(ExpressionTextNode etn)
2620
2627
});
2621
2628
menuItem = new MenuItem ("<< Edit value then click here to save" , editText );
2622
2629
menuItem .setOnAction ((evt ) -> {
2623
- //etn.setText(editText.getText());
2624
2630
// this allows for redo of content editing
2625
2631
NumberTextNode etn2 = new NumberTextNode (editText .getText ());
2626
2632
etn2 .setOrdinalIndex (etn .getOrdinalIndex ());
@@ -3651,15 +3657,13 @@ private void setCellModeView(ListCell<Expression> cell) {
3651
3657
MenuItem remove = new MenuItem ("Remove expression(s)" );
3652
3658
remove .setOnAction ((t ) -> {
3653
3659
int index = cell .getIndex ();
3654
- // ListView parent = cell.getListView();
3660
+
3655
3661
ObservableList selectedItemsToRemove = parent .getSelectionModel ().getSelectedItems ();
3656
3662
for (int i = 0 ; i < selectedItemsToRemove .size (); i ++) {
3657
3663
removedExpressions .add ((Expression ) selectedItemsToRemove .get (i ));
3658
3664
task .removeExpression ((Expression ) selectedItemsToRemove .get (i ), true );
3659
3665
}
3660
3666
3661
- // removedExpressions.add(cell.getItem());
3662
- // task.removeExpression(cell.getItem(), true);
3663
3667
selectedExpression .set (null );
3664
3668
populateExpressionListViews ();
3665
3669
@@ -3678,56 +3682,55 @@ private void setCellModeView(ListCell<Expression> cell) {
3678
3682
});
3679
3683
cm .getItems ().add (remove );
3680
3684
3681
- }
3682
-
3683
- MenuItem restore = new MenuItem ("Restore removed expressions" );
3684
- restore .setOnAction ((t ) -> {
3685
- for (Expression removedExp : removedExpressions ) {
3686
- boolean nameExist ;
3687
- do {
3688
- nameExist = false ;
3689
- for (Expression e : namedExpressions ) {
3690
- if (e .getName ().equalsIgnoreCase (removedExp .getName ())) {
3691
- removedExp .setName (removedExp .getName () + " [restored]" );
3692
- nameExist = true ;
3685
+ MenuItem restore = new MenuItem ("Restore removed expressions" );
3686
+ restore .setOnAction ((t ) -> {
3687
+ for (Expression removedExp : removedExpressions ) {
3688
+ boolean nameExist ;
3689
+ do {
3690
+ nameExist = false ;
3691
+ for (Expression e : namedExpressions ) {
3692
+ if (e .getName ().equalsIgnoreCase (removedExp .getName ())) {
3693
+ removedExp .setName (removedExp .getName () + " [restored]" );
3694
+ nameExist = true ;
3695
+ }
3693
3696
}
3694
- }
3695
- } while (nameExist );
3697
+ } while (nameExist );
3696
3698
3697
- task .addExpression (removedExp , true );
3698
- }
3699
- removedExpressions .clear ();
3700
- populateExpressionListViews ();
3701
- });
3702
- restore .setDisable (removedExpressions .isEmpty ());
3703
- cm .getItems ().add (restore );
3699
+ task .addExpression (removedExp , true );
3700
+ }
3701
+ removedExpressions .clear ();
3702
+ populateExpressionListViews ();
3703
+ });
3704
+ restore .setDisable (removedExpressions .isEmpty ());
3705
+ cm .getItems ().add (restore );
3704
3706
3705
- cm .getItems ().add (new SeparatorMenuItem ());
3707
+ cm .getItems ().add (new SeparatorMenuItem ());
3706
3708
3707
- Menu export = new Menu ("Export Expression as" );
3709
+ Menu export = new Menu ("Export Expression as" );
3708
3710
3709
- MenuItem exportXML = new MenuItem ("XML document" );
3710
- exportXML .setOnAction ((t ) -> {
3711
- try {
3712
- FileHandler .saveExpressionFileXML (cell .getItem (), SquidUI .primaryStageWindow );
3713
- } catch (IOException ex ) {
3714
- }
3715
- });
3716
- export .getItems ().add (exportXML );
3711
+ MenuItem exportXML = new MenuItem ("XML document" );
3712
+ exportXML .setOnAction ((t ) -> {
3713
+ try {
3714
+ FileHandler .saveExpressionFileXML (cell .getItem (), SquidUI .primaryStageWindow );
3715
+ } catch (IOException ex ) {
3716
+ }
3717
+ });
3718
+ export .getItems ().add (exportXML );
3717
3719
3718
- MenuItem exportHTML = new MenuItem ("HTML document" );
3719
- exportHTML .setOnAction ((t ) -> {
3720
- try {
3721
- FileHandler .saveExpressionGraphHTML (cell .getItem (), SquidUI .primaryStageWindow );
3722
- } catch (IOException ex ) {
3723
- }
3724
- });
3725
- export .getItems ().add (exportHTML );
3720
+ MenuItem exportHTML = new MenuItem ("HTML document" );
3721
+ exportHTML .setOnAction ((t ) -> {
3722
+ try {
3723
+ FileHandler .saveExpressionGraphHTML (cell .getItem (), SquidUI .primaryStageWindow );
3724
+ } catch (IOException ex ) {
3725
+ }
3726
+ });
3727
+ export .getItems ().add (exportHTML );
3726
3728
3727
- export .setDisable (parent .getSelectionModel ().getSelectedItems ().size () > 1 );
3728
- cm .getItems ().add (export );
3729
+ export .setDisable (parent .getSelectionModel ().getSelectedItems ().size () > 1 );
3730
+ cm .getItems ().add (export );
3729
3731
3730
- cm .show (cell , event .getScreenX (), event .getScreenY ());
3732
+ cm .show (cell , event .getScreenX (), event .getScreenY ());
3733
+ }
3731
3734
}
3732
3735
});
3733
3736
0 commit comments