mirror of
https://github.com/michaelrausch/Party-Parrots-At-Sea.git
synced 2026-05-09 14:28:43 +00:00
The line chart now has series which display on it.
Need to get the right data to display on the linechart when it updates. #story[952]
This commit is contained in:
@@ -22,10 +22,7 @@ import seng302.models.parsers.XMLParser.RaceXMLObject.Limit;
|
||||
import seng302.models.parsers.packets.BoatPositionPacket;
|
||||
|
||||
import java.text.DecimalFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.PriorityBlockingQueue;
|
||||
|
||||
/**
|
||||
@@ -104,7 +101,13 @@ public class CanvasController {
|
||||
gc.restore();
|
||||
fitMarksToCanvas();
|
||||
|
||||
Timer t = new Timer();
|
||||
t.schedule(new TimerTask() {
|
||||
@Override
|
||||
public void run() {
|
||||
|
||||
}
|
||||
},1000);
|
||||
// TODO: 1/05/17 wmu16 - Change this call to now draw the marks as from the xml
|
||||
drawBoats();
|
||||
timer = new AnimationTimer() {
|
||||
@@ -125,6 +128,10 @@ public class CanvasController {
|
||||
long elapsedNanosPerFrame = elapsedNanos / frameTimes.length ;
|
||||
Double frameRate = 1_000_000_000.0 / elapsedNanosPerFrame ;
|
||||
drawFps(frameRate.intValue());
|
||||
System.out.println(elapsedNanos);
|
||||
if (elapsedNanos % 10 == 0) {
|
||||
raceViewController.updateSparkLine();
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: 1/05/17 cir27 - Make the RaceObjects update on the actual delay.
|
||||
|
||||
@@ -67,6 +67,8 @@ public class RaceViewController extends Thread implements ImportantAnnotationDel
|
||||
private Timeline timerTimeline;
|
||||
private Race race;
|
||||
private Stage stage;
|
||||
private ArrayList<XYChart.Series<String, Double>> sparklineData = new ArrayList<>();
|
||||
private int time;
|
||||
|
||||
private int index = 0;
|
||||
|
||||
@@ -95,6 +97,7 @@ public class RaceViewController extends Thread implements ImportantAnnotationDel
|
||||
selectAnnotationBtn.setOnAction(event -> {
|
||||
loadSelectAnnotationView();
|
||||
});
|
||||
time = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -185,12 +188,24 @@ public class RaceViewController extends Thread implements ImportantAnnotationDel
|
||||
private void initializeSparkline(){
|
||||
raceSparkLine.setTitle("Boat Positions");
|
||||
for (Yacht yacht: startingBoats){
|
||||
if (raceSparkLine.getData().contains(yacht.getSparklinePosition())) {
|
||||
raceSparkLine.getData().remove(yacht.getSparklinePosition());
|
||||
}
|
||||
raceSparkLine.getData().add(yacht.getSparklinePosition());
|
||||
XYChart.Series<String, Double> yachtData = new XYChart.Series<>();
|
||||
yachtData.getData().add(new XYChart.Data<>(Integer.toString(time), Double.parseDouble(yacht.getPosition())));
|
||||
sparklineData.add(yachtData);
|
||||
System.out.println("Here");
|
||||
}
|
||||
for (Series<String, Double> spark:
|
||||
sparklineData){
|
||||
raceSparkLine.getData().add(spark);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void updateSparkLine(){
|
||||
for (int i = 0; i < startingBoats.size();i++){
|
||||
sparklineData.get(i).getData().add(new XYChart.Data<>(Integer.toString(time),Double.parseDouble(startingBoats.get(i).getPosition())));
|
||||
System.out.println("Here");
|
||||
}
|
||||
time++;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user