@ -37,6 +37,7 @@ public class RaceController extends Controller {
private static String speedCheckAnno = "speed" ;
private static String pathCheckAnno = "path" ;
private static String timeCheckAnno = "time" ;
private static String estTimeCheckAnno = "est time" ;
private static int noBtn = 0 ;
private static int hideBtn = 1 ;
@ -65,6 +66,7 @@ public class RaceController extends Controller {
@FXML CheckBox showAbbrev ;
@FXML CheckBox showSpeed ;
@FXML CheckBox showTime ;
@FXML CheckBox showEstTime ;
@FXML Label timer ;
@FXML Label FPS ;
@FXML Label timeZone ;
@ -356,6 +358,7 @@ public class RaceController extends Controller {
annoShownBeforeHide . put ( pathCheckAnno , showBoatPath . isSelected ( ) ) ;
annoShownBeforeHide . put ( speedCheckAnno , showSpeed . isSelected ( ) ) ;
annoShownBeforeHide . put ( timeCheckAnno , showTime . isSelected ( ) ) ;
annoShownBeforeHide . put ( estTimeCheckAnno , showEstTime . isSelected ( ) ) ;
}
/ * *
@ -369,7 +372,8 @@ public class RaceController extends Controller {
importantAnno . put ( abbrevCheckAnno , false ) ;
importantAnno . put ( pathCheckAnno , false ) ;
importantAnno . put ( speedCheckAnno , false ) ;
importantAnno . put ( timeCheckAnno , true ) ;
importantAnno . put ( timeCheckAnno , false ) ;
importantAnno . put ( estTimeCheckAnno , false ) ;
annoShownBeforeHide = new HashMap < > ( ) ;
annoShownBeforeHide . put ( nameCheckAnno , true ) ;
@ -377,6 +381,7 @@ public class RaceController extends Controller {
annoShownBeforeHide . put ( pathCheckAnno , true ) ;
annoShownBeforeHide . put ( speedCheckAnno , true ) ;
annoShownBeforeHide . put ( timeCheckAnno , true ) ;
annoShownBeforeHide . put ( estTimeCheckAnno , true ) ;
//listener for show name in annotation
showName . selectedProperty ( ) . addListener ( ( ov , old_val , new_val ) - > {
if ( old_val ! = new_val ) {
@ -468,6 +473,23 @@ public class RaceController extends Controller {
prevBtnChecked = noBtn ;
raceMap . update ( ) ;
} ) ;
showEstTime . selectedProperty ( ) . addListener ( ( ov , old_val , new_val ) - > {
if ( old_val ! = new_val ) {
raceMap . toggleAnnoEstTime ( ) ;
}
if ( buttonChecked ! = hideBtn ) {
if ( prevBtnChecked = = hideBtn & & buttonChecked ! = showBtn ) {
storeCurrentAnnotationState ( ) ;
} else {
annoShownBeforeHide . put ( estTimeCheckAnno , showEstTime . isSelected ( ) ) ;
}
if ( buttonChecked = = noBtn ) {
annotationGroup . selectToggle ( showAnnoRBTN ) ;
}
}
prevBtnChecked = noBtn ;
raceMap . update ( ) ;
} ) ;
//listener to save currently selected annotation
saveAnno . setOnAction ( event - > {
presetAnno . clear ( ) ;
@ -476,6 +498,7 @@ public class RaceController extends Controller {
presetAnno . add ( showSpeed . isSelected ( ) ) ;
presetAnno . add ( showBoatPath . isSelected ( ) ) ;
presetAnno . add ( showTime . isSelected ( ) ) ;
presetAnno . add ( showEstTime . isSelected ( ) ) ;
} ) ;
//listener for hiding
hideAnnoRBTN . selectedProperty ( ) . addListener ( ( ov , old_val , new_val ) - > {
@ -486,6 +509,7 @@ public class RaceController extends Controller {
showBoatPath . setSelected ( false ) ;
showSpeed . setSelected ( false ) ;
showTime . setSelected ( false ) ;
showEstTime . setSelected ( false ) ;
annotationGroup . selectToggle ( hideAnnoRBTN ) ;
raceMap . update ( ) ;
buttonChecked = noBtn ;
@ -499,6 +523,7 @@ public class RaceController extends Controller {
showBoatPath . setSelected ( annoShownBeforeHide . get ( pathCheckAnno ) ) ;
showSpeed . setSelected ( annoShownBeforeHide . get ( speedCheckAnno ) ) ;
showTime . setSelected ( annoShownBeforeHide . get ( timeCheckAnno ) ) ;
showEstTime . setSelected ( annoShownBeforeHide . get ( estTimeCheckAnno ) ) ;
raceMap . update ( ) ;
buttonChecked = noBtn ;
prevBtnChecked = showBtn ;
@ -511,6 +536,7 @@ public class RaceController extends Controller {
showSpeed . setSelected ( true ) ;
showBoatPath . setSelected ( false ) ;
showTime . setSelected ( false ) ;
showEstTime . setSelected ( false ) ;
annotationGroup . selectToggle ( partialAnnoRBTN ) ;
raceMap . update ( ) ;
buttonChecked = noBtn ;
@ -525,6 +551,7 @@ public class RaceController extends Controller {
showSpeed . setSelected ( presetAnno . get ( 2 ) ) ;
showBoatPath . setSelected ( presetAnno . get ( 3 ) ) ;
showTime . setSelected ( presetAnno . get ( 4 ) ) ;
showEstTime . setSelected ( presetAnno . get ( 5 ) ) ;
annotationGroup . selectToggle ( importantAnnoRBTN ) ;
raceMap . update ( ) ;
}