@ -31,6 +31,8 @@ public class RaceController extends Controller {
private Map < String , Boolean > annoShownBeforeHide ;
private int buttonChecked ; //button currently checked allows the checkboxes to know whether or not to put it's state in history (if not hidden then store)
private int prevBtnChecked ; //button to keep track of previous pressed button incase we want to check a checkbox straight from hidden we do not wish for all previous to come on.
private boolean radioBtnChecked ;
private boolean selectShow = false ; //button to make it so that show doesn't run the listener
private static String nameCheckAnno = "name" ;
private static String abbrevCheckAnno = "abbrev" ;
@ -352,7 +354,21 @@ public class RaceController extends Controller {
}
private void storeCurrentAnnotationState ( ) {
private void storeCurrentAnnotationState ( String dictionaryAnnotationKey , boolean selected ) {
if ( buttonChecked ! = hideBtn ) {
//if we are checking the box straight out of hide instead of using the radio buttons
annoShownBeforeHide . put ( dictionaryAnnotationKey , selected ) ;
if ( prevBtnChecked = = hideBtn & & buttonChecked = = noBtn ) {
storeCurrentAnnotationDictionary ( ) ;
}
if ( buttonChecked = = noBtn ) {
selectShow = false ;
annotationGroup . selectToggle ( showAnnoRBTN ) ;
}
}
}
private void storeCurrentAnnotationDictionary ( ) {
annoShownBeforeHide . put ( nameCheckAnno , showName . isSelected ( ) ) ;
annoShownBeforeHide . put ( abbrevCheckAnno , showAbbrev . isSelected ( ) ) ;
annoShownBeforeHide . put ( pathCheckAnno , showBoatPath . isSelected ( ) ) ;
@ -386,109 +402,54 @@ public class RaceController extends Controller {
showName . selectedProperty ( ) . addListener ( ( ov , old_val , new_val ) - > {
if ( old_val ! = new_val ) {
raceMap . toggleAnnoName ( ) ;
radioBtnChecked = false ;
storeCurrentAnnotationState ( nameCheckAnno , new_val ) ;
raceMap . update ( ) ;
}
if ( buttonChecked ! = hideBtn ) {
//if we are checking the box straight out of hide instead of using the radio buttons
if ( prevBtnChecked = = hideBtn & & buttonChecked ! = showBtn ) {
storeCurrentAnnotationState ( ) ;
} else {
annoShownBeforeHide . put ( nameCheckAnno , showName . isSelected ( ) ) ;
}
if ( buttonChecked = = noBtn ) {
annotationGroup . selectToggle ( showAnnoRBTN ) ;
}
}
raceMap . update ( ) ;
prevBtnChecked = noBtn ;
} ) ;
//listener for show abbreviation for annotation
showAbbrev . selectedProperty ( ) . addListener ( ( ov , old_val , new_val ) - > {
if ( old_val ! = new_val ) {
raceMap . toggleAnnoAbbrev ( ) ;
radioBtnChecked = false ;
storeCurrentAnnotationState ( abbrevCheckAnno , new_val ) ;
raceMap . update ( ) ;
}
if ( buttonChecked ! = hideBtn ) {
if ( prevBtnChecked = = hideBtn & & buttonChecked ! = showBtn ) {
storeCurrentAnnotationState ( ) ;
} else {
annoShownBeforeHide . put ( abbrevCheckAnno , showAbbrev . isSelected ( ) ) ;
}
if ( buttonChecked = = noBtn ) {
annotationGroup . selectToggle ( showAnnoRBTN ) ;
}
}
raceMap . update ( ) ;
prevBtnChecked = noBtn ;
} ) ;
//listener for show boat path for annotation
showBoatPath . selectedProperty ( ) . addListener ( ( ov , old_val , new_val ) - > {
if ( old_val ! = new_val ) {
raceMap . toggleBoatPath ( ) ;
radioBtnChecked = false ;
storeCurrentAnnotationState ( pathCheckAnno , new_val ) ;
raceMap . update ( ) ;
}
if ( buttonChecked ! = hideBtn ) {
if ( prevBtnChecked = = hideBtn & & buttonChecked ! = showBtn ) {
storeCurrentAnnotationState ( ) ;
} else {
annoShownBeforeHide . put ( pathCheckAnno , showBoatPath . isSelected ( ) ) ;
}
if ( buttonChecked = = noBtn ) {
annotationGroup . selectToggle ( showAnnoRBTN ) ;
}
}
raceMap . update ( ) ;
prevBtnChecked = noBtn ;
} ) ;
//listener to show speed for annotation
showSpeed . selectedProperty ( ) . addListener ( ( ov , old_val , new_val ) - > {
if ( old_val ! = new_val ) {
raceMap . toggleAnnoSpeed ( ) ;
radioBtnChecked = false ;
storeCurrentAnnotationState ( speedCheckAnno , new_val ) ;
raceMap . update ( ) ;
}
if ( buttonChecked ! = hideBtn ) {
if ( prevBtnChecked = = hideBtn & & buttonChecked ! = showBtn ) {
storeCurrentAnnotationState ( ) ;
} else {
annoShownBeforeHide . put ( speedCheckAnno , showSpeed . isSelected ( ) ) ;
}
if ( buttonChecked = = noBtn ) {
annotationGroup . selectToggle ( showAnnoRBTN ) ;
}
}
raceMap . update ( ) ;
prevBtnChecked = noBtn ;
} ) ;
showTime . selectedProperty ( ) . addListener ( ( ov , old_val , new_val ) - > {
if ( old_val ! = new_val ) {
raceMap . toggleAnnoTime ( ) ;
radioBtnChecked = false ;
storeCurrentAnnotationState ( timeCheckAnno , new_val ) ;
raceMap . update ( ) ;
}
if ( buttonChecked ! = hideBtn ) {
if ( prevBtnChecked = = hideBtn & & buttonChecked ! = showBtn ) {
storeCurrentAnnotationState ( ) ;
} else {
annoShownBeforeHide . put ( timeCheckAnno , showTime . isSelected ( ) ) ;
}
if ( buttonChecked = = noBtn ) {
annotationGroup . selectToggle ( showAnnoRBTN ) ;
}
}
prevBtnChecked = noBtn ;
raceMap . update ( ) ;
} ) ;
showEstTime . selectedProperty ( ) . addListener ( ( ov , old_val , new_val ) - > {
if ( old_val ! = new_val ) {
raceMap . toggleAnnoEstTime ( ) ;
radioBtnChecked = false ;
storeCurrentAnnotationState ( estTimeCheckAnno , new_val ) ;
raceMap . update ( ) ;
}
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 - > {
@ -501,35 +462,39 @@ public class RaceController extends Controller {
presetAnno . add ( showEstTime . isSelected ( ) ) ;
} ) ;
//listener for hiding
hideAnnoRBTN . se lectedProperty( ) . addListener ( ( ov , old_val , new_val ) - > {
hideAnnoRBTN . se tOnAction( ( e ) - > {
buttonChecked = hideBtn ;
//raceMap.hideAnnotations();
selectShow = false ;
showName . setSelected ( false ) ;
showAbbrev . setSelected ( false ) ;
showBoatPath . setSelected ( false ) ;
showSpeed . setSelected ( false ) ;
showTime . setSelected ( false ) ;
showEstTime . setSelected ( false ) ;
annotationGroup . selectToggle ( hideAnnoRBTN ) ;
raceMap . update ( ) ;
buttonChecked = noBtn ;
prevBtnChecked = hideBtn ;
selectShow = true ;
} ) ;
//listener for showing all annotations
showAnnoRBTN . selectedProperty ( ) . addListener ( ( ov , old_val , new_val ) - > {
buttonChecked = showBtn ;
showName . setSelected ( annoShownBeforeHide . get ( nameCheckAnno ) ) ;
showAbbrev . setSelected ( annoShownBeforeHide . get ( abbrevCheckAnno ) ) ;
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 ;
showAnnoRBTN . setOnAction ( ( e ) - > {
if ( selectShow ) {
buttonChecked = showBtn ;
showName . setSelected ( annoShownBeforeHide . get ( nameCheckAnno ) ) ;
showAbbrev . setSelected ( annoShownBeforeHide . get ( abbrevCheckAnno ) ) ;
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 ;
}
selectShow = true ;
} ) ;
//listener for showing all important
partialAnnoRBTN . selectedProperty ( ) . addListener ( ( ov , old_val , new_val ) - > {
partialAnnoRBTN . setOnAction ( ( e ) - > {
selectShow = false ;
buttonChecked = partialBtn ;
showName . setSelected ( false ) ;
showAbbrev . setSelected ( true ) ;
@ -537,13 +502,15 @@ public class RaceController extends Controller {
showBoatPath . setSelected ( false ) ;
showTime . setSelected ( false ) ;
showEstTime . setSelected ( false ) ;
annotationGroup . selectToggle ( partialAnnoRBTN ) ;
raceMap . update ( ) ;
buttonChecked = noBtn ;
prevBtnChecked = partialBtn ;
selectShow = true ;
} ) ;
//listener for showing all important
importantAnnoRBTN . selectedProperty ( ) . addListener ( ( ov , old_val , new_val ) - > {
importantAnnoRBTN . setOnAction ( ( e ) - > {
selectShow = false ;
buttonChecked = importantBtn ;
if ( presetAnno . size ( ) > 0 ) {
showName . setSelected ( presetAnno . get ( 0 ) ) ;
@ -552,11 +519,12 @@ public class RaceController extends Controller {
showBoatPath . setSelected ( presetAnno . get ( 3 ) ) ;
showTime . setSelected ( presetAnno . get ( 4 ) ) ;
showEstTime . setSelected ( presetAnno . get ( 5 ) ) ;
annotationGroup. selectToggle ( importantAnnoRBTN ) ;
storeCurrentAnnotationDictionary( ) ;
raceMap . update ( ) ;
}
buttonChecked = noBtn ;
prevBtnChecked = importantBtn ;
selectShow = true ;
} ) ;
annotationGroup . selectToggle ( showAnnoRBTN ) ;
}