|
|
|
|
@ -7,23 +7,17 @@ import javafx.fxml.FXML;
|
|
|
|
|
import javafx.scene.chart.LineChart;
|
|
|
|
|
import javafx.scene.chart.NumberAxis;
|
|
|
|
|
import javafx.scene.chart.XYChart;
|
|
|
|
|
import javafx.geometry.Pos;
|
|
|
|
|
import javafx.scene.control.*;
|
|
|
|
|
import javafx.scene.layout.GridPane;
|
|
|
|
|
import javafx.scene.paint.Color;
|
|
|
|
|
import javafx.scene.layout.Pane;
|
|
|
|
|
import javafx.scene.layout.StackPane;
|
|
|
|
|
import javafx.scene.paint.Color;
|
|
|
|
|
import javafx.scene.paint.Paint;
|
|
|
|
|
import seng302.Mock.StreamedRace;
|
|
|
|
|
import seng302.Model.*;
|
|
|
|
|
import seng302.VisualiserInput;
|
|
|
|
|
|
|
|
|
|
import java.net.URL;
|
|
|
|
|
import java.util.*;
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.Locale;
|
|
|
|
|
import java.util.ResourceBundle;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Created by fwy13 on 15/03/2017.
|
|
|
|
|
@ -40,6 +34,7 @@ public class RaceController extends Controller {
|
|
|
|
|
private ArrayList<String> colours;
|
|
|
|
|
private Map<Integer, String> boatColours = new HashMap<>();
|
|
|
|
|
private int legNum;
|
|
|
|
|
private RaceClock raceClock;
|
|
|
|
|
@FXML Pane arrow;
|
|
|
|
|
@FXML SplitPane race;
|
|
|
|
|
@FXML StackPane arrowPane;
|
|
|
|
|
@ -52,6 +47,7 @@ public class RaceController extends Controller {
|
|
|
|
|
@FXML CheckBox showName;
|
|
|
|
|
@FXML CheckBox showAbbrev;
|
|
|
|
|
@FXML CheckBox showSpeed;
|
|
|
|
|
@FXML CheckBox showTime;
|
|
|
|
|
@FXML Button saveAnno;
|
|
|
|
|
@FXML Button showSetAnno;
|
|
|
|
|
@FXML TableView<Boat> boatInfoTable;
|
|
|
|
|
@ -138,8 +134,8 @@ public class RaceController extends Controller {
|
|
|
|
|
xAxis.setTickMarkVisible(false);
|
|
|
|
|
xAxis.setTickLabelsVisible(false);
|
|
|
|
|
xAxis.setMinorTickVisible(false);
|
|
|
|
|
xAxis.setUpperBound(startBoats.size()*legNum);
|
|
|
|
|
xAxis.setTickUnit(startBoats.size()*legNum);
|
|
|
|
|
xAxis.setUpperBound((startBoats.size()+1)*legNum);
|
|
|
|
|
xAxis.setTickUnit((startBoats.size()+1)*legNum);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// set y axis details
|
|
|
|
|
@ -173,7 +169,7 @@ public class RaceController extends Controller {
|
|
|
|
|
* @param raceClock The RaceClock to use for the race's countdown/elapsed duration + timezone.
|
|
|
|
|
*/
|
|
|
|
|
public void startRace(VisualiserInput visualiserInput, RaceClock raceClock) {
|
|
|
|
|
StreamedRace newRace = new StreamedRace(visualiserInput, this);
|
|
|
|
|
|
|
|
|
|
//newRace.initialiseBoats();
|
|
|
|
|
legNum = visualiserInput.getCourse().getLegs().size()-1;
|
|
|
|
|
|
|
|
|
|
@ -211,6 +207,10 @@ public class RaceController extends Controller {
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
this.raceClock = raceClock;
|
|
|
|
|
raceMap.setRaceClock(raceClock);
|
|
|
|
|
|
|
|
|
|
StreamedRace newRace = new StreamedRace(visualiserInput, this);
|
|
|
|
|
initializeFPS();
|
|
|
|
|
initializeAnnotations();
|
|
|
|
|
|
|
|
|
|
@ -357,6 +357,10 @@ public class RaceController extends Controller {
|
|
|
|
|
raceMap.toggleAnnoSpeed();
|
|
|
|
|
raceMap.update();
|
|
|
|
|
});
|
|
|
|
|
showTime.selectedProperty().addListener((ov, old_val, new_val) -> {
|
|
|
|
|
raceMap.toggleAnnoTime();
|
|
|
|
|
raceMap.update();
|
|
|
|
|
});
|
|
|
|
|
//listener to save currently selected annotation
|
|
|
|
|
saveAnno.setOnAction(event -> {
|
|
|
|
|
presetAnno.clear();
|
|
|
|
|
@ -364,6 +368,7 @@ public class RaceController extends Controller {
|
|
|
|
|
presetAnno.add(showAbbrev.isSelected());
|
|
|
|
|
presetAnno.add(showSpeed.isSelected());
|
|
|
|
|
presetAnno.add(showBoatPath.isSelected());
|
|
|
|
|
presetAnno.add(showTime.isSelected());
|
|
|
|
|
});
|
|
|
|
|
//listener to show saved annotation
|
|
|
|
|
showSetAnno.setOnAction(event -> {
|
|
|
|
|
@ -372,6 +377,7 @@ public class RaceController extends Controller {
|
|
|
|
|
showAbbrev.setSelected(presetAnno.get(1));
|
|
|
|
|
showSpeed.setSelected(presetAnno.get(2));
|
|
|
|
|
showBoatPath.setSelected(presetAnno.get(3));
|
|
|
|
|
showTime.setSelected(presetAnno.get(4));
|
|
|
|
|
raceMap.update();
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
@ -387,4 +393,8 @@ public class RaceController extends Controller {
|
|
|
|
|
private void makeArrow() {
|
|
|
|
|
arrowPane.getChildren().add(arrow);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public RaceClock getRaceClock() {
|
|
|
|
|
return raceClock;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|