|
|
|
@ -1,12 +1,7 @@
|
|
|
|
package seng302.Controllers;
|
|
|
|
package seng302.Controllers;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import javafx.beans.property.ReadOnlyObjectWrapper;
|
|
|
|
|
|
|
|
import javafx.beans.value.ChangeListener;
|
|
|
|
|
|
|
|
import javafx.beans.value.ObservableValue;
|
|
|
|
|
|
|
|
import javafx.collections.ObservableList;
|
|
|
|
import javafx.collections.ObservableList;
|
|
|
|
import javafx.event.ActionEvent;
|
|
|
|
|
|
|
|
import javafx.event.EventHandler;
|
|
|
|
|
|
|
|
import javafx.fxml.FXML;
|
|
|
|
import javafx.fxml.FXML;
|
|
|
|
import javafx.scene.control.*;
|
|
|
|
import javafx.scene.control.*;
|
|
|
|
import javafx.scene.layout.GridPane;
|
|
|
|
import javafx.scene.layout.GridPane;
|
|
|
|
@ -100,15 +95,12 @@ public class RaceController extends Controller {
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public void initialize(URL location, ResourceBundle resources) {
|
|
|
|
public void initialize(URL location, ResourceBundle resources) {
|
|
|
|
//listener for fps
|
|
|
|
//listener for fps
|
|
|
|
showFPS.selectedProperty().addListener(new ChangeListener<Boolean>() {
|
|
|
|
showFPS.selectedProperty().addListener((ov, old_val, new_val) -> {
|
|
|
|
public void changed(ObservableValue<? extends Boolean> ov,
|
|
|
|
|
|
|
|
Boolean old_val, Boolean new_val) {
|
|
|
|
|
|
|
|
if (showFPS.isSelected()) {
|
|
|
|
if (showFPS.isSelected()) {
|
|
|
|
FPS.setVisible(true);
|
|
|
|
FPS.setVisible(true);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
FPS.setVisible(false);
|
|
|
|
FPS.setVisible(false);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ -150,6 +142,7 @@ public class RaceController extends Controller {
|
|
|
|
i++;
|
|
|
|
i++;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//Initialize new resizable canvas
|
|
|
|
raceMap = new ResizableRaceCanvas(lat1, long1, lat2, long2);
|
|
|
|
raceMap = new ResizableRaceCanvas(lat1, long1, lat2, long2);
|
|
|
|
raceMap.setMouseTransparent(true);
|
|
|
|
raceMap.setMouseTransparent(true);
|
|
|
|
raceMap.widthProperty().bind(canvasBase.widthProperty());
|
|
|
|
raceMap.widthProperty().bind(canvasBase.widthProperty());
|
|
|
|
@ -166,7 +159,6 @@ public class RaceController extends Controller {
|
|
|
|
//timezone
|
|
|
|
//timezone
|
|
|
|
RaceClock raceClock = new RaceClock(raceXMLReader.getMark());
|
|
|
|
RaceClock raceClock = new RaceClock(raceXMLReader.getMark());
|
|
|
|
timeZone.setText(raceClock.getTimeZone());
|
|
|
|
timeZone.setText(raceClock.getTimeZone());
|
|
|
|
|
|
|
|
|
|
|
|
initializeFPS();
|
|
|
|
initializeFPS();
|
|
|
|
initializeAnnotations();
|
|
|
|
initializeAnnotations();
|
|
|
|
|
|
|
|
|
|
|
|
@ -197,15 +189,12 @@ public class RaceController extends Controller {
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
private void initializeFPS() {
|
|
|
|
private void initializeFPS() {
|
|
|
|
showFPS.setVisible(true);
|
|
|
|
showFPS.setVisible(true);
|
|
|
|
showFPS.selectedProperty().addListener(new ChangeListener<Boolean>() {
|
|
|
|
showFPS.selectedProperty().addListener((ov, old_val, new_val) -> {
|
|
|
|
public void changed(ObservableValue<? extends Boolean> ov,
|
|
|
|
|
|
|
|
Boolean old_val, Boolean new_val) {
|
|
|
|
|
|
|
|
if (showFPS.isSelected()) {
|
|
|
|
if (showFPS.isSelected()) {
|
|
|
|
FPS.setVisible(true);
|
|
|
|
FPS.setVisible(true);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
FPS.setVisible(false);
|
|
|
|
FPS.setVisible(false);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ -215,61 +204,41 @@ public class RaceController extends Controller {
|
|
|
|
private void initializeAnnotations() {
|
|
|
|
private void initializeAnnotations() {
|
|
|
|
presetAnno = new ArrayList<>();
|
|
|
|
presetAnno = new ArrayList<>();
|
|
|
|
//listener for annotation
|
|
|
|
//listener for annotation
|
|
|
|
showAnnotations.selectedProperty().addListener(new ChangeListener<Boolean>() {
|
|
|
|
showAnnotations.selectedProperty().addListener((ov, old_val, new_val) -> {
|
|
|
|
public void changed(ObservableValue<? extends Boolean> ov,
|
|
|
|
|
|
|
|
Boolean old_val, Boolean new_val) {
|
|
|
|
|
|
|
|
raceMap.toggleAnnotations();
|
|
|
|
raceMap.toggleAnnotations();
|
|
|
|
raceMap.update();
|
|
|
|
raceMap.update();
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
});
|
|
|
|
//listener for show name in annotation
|
|
|
|
//listener for show name in annotation
|
|
|
|
showName.selectedProperty().addListener(new ChangeListener<Boolean>() {
|
|
|
|
showName.selectedProperty().addListener((ov, old_val, new_val) -> {
|
|
|
|
public void changed(ObservableValue<? extends Boolean> ov,
|
|
|
|
|
|
|
|
Boolean old_val, Boolean new_val) {
|
|
|
|
|
|
|
|
raceMap.toggleAnnoName();
|
|
|
|
raceMap.toggleAnnoName();
|
|
|
|
raceMap.update();
|
|
|
|
raceMap.update();
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
});
|
|
|
|
//listener for show abbreviation for annotation
|
|
|
|
//listener for show abbreviation for annotation
|
|
|
|
showAbbrev.selectedProperty().addListener(new ChangeListener<Boolean>() {
|
|
|
|
showAbbrev.selectedProperty().addListener((ov, old_val, new_val) -> {
|
|
|
|
public void changed(ObservableValue<? extends Boolean> ov,
|
|
|
|
|
|
|
|
Boolean old_val, Boolean new_val) {
|
|
|
|
|
|
|
|
raceMap.toggleAnnoAbbrev();
|
|
|
|
raceMap.toggleAnnoAbbrev();
|
|
|
|
raceMap.update();
|
|
|
|
raceMap.update();
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
//listener for show abbreviation for annotation
|
|
|
|
//listener for show boat path for annotation
|
|
|
|
showBoatPath.selectedProperty().addListener(new ChangeListener<Boolean>() {
|
|
|
|
showBoatPath.selectedProperty().addListener((ov, old_val, new_val) -> {
|
|
|
|
public void changed(ObservableValue<? extends Boolean> ov,
|
|
|
|
|
|
|
|
Boolean old_val, Boolean new_val) {
|
|
|
|
|
|
|
|
raceMap.toggleBoatPath();
|
|
|
|
raceMap.toggleBoatPath();
|
|
|
|
raceMap.update();
|
|
|
|
raceMap.update();
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
});
|
|
|
|
//listener to show speed for annotation
|
|
|
|
//listener to show speed for annotation
|
|
|
|
showSpeed.selectedProperty().addListener(new ChangeListener<Boolean>() {
|
|
|
|
showSpeed.selectedProperty().addListener((ov, old_val, new_val) -> {
|
|
|
|
public void changed(ObservableValue<? extends Boolean> ov,
|
|
|
|
|
|
|
|
Boolean old_val, Boolean new_val) {
|
|
|
|
|
|
|
|
raceMap.toggleAnnoSpeed();
|
|
|
|
raceMap.toggleAnnoSpeed();
|
|
|
|
raceMap.update();
|
|
|
|
raceMap.update();
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
});
|
|
|
|
//listener to save currently selected annotation
|
|
|
|
//listener to save currently selected annotation
|
|
|
|
saveAnno.setOnAction(new EventHandler<ActionEvent>() {
|
|
|
|
saveAnno.setOnAction(event -> {
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public void handle(ActionEvent event) {
|
|
|
|
|
|
|
|
presetAnno.clear();
|
|
|
|
presetAnno.clear();
|
|
|
|
presetAnno.add(showName.isSelected());
|
|
|
|
presetAnno.add(showName.isSelected());
|
|
|
|
presetAnno.add(showAbbrev.isSelected());
|
|
|
|
presetAnno.add(showAbbrev.isSelected());
|
|
|
|
presetAnno.add(showSpeed.isSelected());
|
|
|
|
presetAnno.add(showSpeed.isSelected());
|
|
|
|
presetAnno.add(showBoatPath.isSelected());
|
|
|
|
presetAnno.add(showBoatPath.isSelected());
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
});
|
|
|
|
//listener to show saved annotation
|
|
|
|
//listener to show saved annotation
|
|
|
|
showSetAnno.setOnAction(new EventHandler<ActionEvent>() {
|
|
|
|
showSetAnno.setOnAction(event -> {
|
|
|
|
@Override
|
|
|
|
|
|
|
|
public void handle(ActionEvent event) {
|
|
|
|
|
|
|
|
if (presetAnno.size() > 0) {
|
|
|
|
if (presetAnno.size() > 0) {
|
|
|
|
showName.setSelected(presetAnno.get(0));
|
|
|
|
showName.setSelected(presetAnno.get(0));
|
|
|
|
showAbbrev.setSelected(presetAnno.get(1));
|
|
|
|
showAbbrev.setSelected(presetAnno.get(1));
|
|
|
|
@ -277,7 +246,6 @@ public class RaceController extends Controller {
|
|
|
|
showBoatPath.setSelected(presetAnno.get(3));
|
|
|
|
showBoatPath.setSelected(presetAnno.get(3));
|
|
|
|
raceMap.update();
|
|
|
|
raceMap.update();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|