diff --git a/src/main/java/ch/hepia/ui/MainWindowController.java b/src/main/java/ch/hepia/ui/MainWindowController.java index 42ce64445796f85c0831a56162fa8708850f4656..20d2a8ac161fc5097216e9cb65bbadd5577bf33e 100644 --- a/src/main/java/ch/hepia/ui/MainWindowController.java +++ b/src/main/java/ch/hepia/ui/MainWindowController.java @@ -2,6 +2,7 @@ package ch.hepia.ui; import ch.hepia.Main; import ch.hepia.api.transport.Connection; +import ch.hepia.api.transport.Journey; import ch.hepia.api.transport.LinkAPI; import ch.hepia.api.transport.Section; import ch.hepia.config.AppContext; @@ -101,6 +102,7 @@ public class MainWindowController implements Initializable { } } + /** * Draws a connection between two places. Basically lines. * @param connection The connection to draw @@ -110,16 +112,31 @@ public class MainWindowController implements Initializable { private void drawConnection(Connection connection, int x, int y){ List<Section> sections = connection.getSections(); connectionCanvas.getGraphicsContext2D().setFill(Color.RED); - + connectionCanvas.getGraphicsContext2D().fillText(sections.get(0).getDeparture().getLocation().getName(), x, y - 20); + connectionCanvas.getGraphicsContext2D().setFill(Color.BLACK); + connectionCanvas.getGraphicsContext2D().fillText(sections.get(0).getDeparture().getDepartureTime().toString(), x, y - 40); + connectionCanvas.getGraphicsContext2D().setFill(Color.RED); + connectionCanvas.getGraphicsContext2D().fillOval(x - 5, y - 5, 10, 10); + connectionCanvas.getGraphicsContext2D().strokeLine(x, y, x + 622 / (sections.size() + 1), y); for (int i = 0; i < sections.size(); i++){ connectionCanvas.getGraphicsContext2D().strokeLine( - x + (622 / sections.size()) * (i), y, 622 / sections.size(), y); - connectionCanvas.getGraphicsContext2D().fillOval(x + (622 / sections.size()) * (i) - 5, y - 5, - 10, 10); + x + (622 / (sections.size() + 1)) * (i + 1), y, 622 / (sections.size()), y); + connectionCanvas.getGraphicsContext2D().setFill(Color.RED); + connectionCanvas.getGraphicsContext2D().fillOval(x + (622 / (sections.size() + 1)) * (i + 1) - 5, y - 5, 10, 10); + connectionCanvas.getGraphicsContext2D().fillText(sections.get(i).getArrival().getLocation().getName(), - x + (622 / sections.size()) * (i), y - 20); + x + (622 / (sections.size() + 1)) * (i + 1), y - 20); + connectionCanvas.getGraphicsContext2D().setFill(Color.BLACK); connectionCanvas.getGraphicsContext2D().fillText(sections.get(i).getArrival().getArrivalTime().toString(), - x + (622 / sections.size()) * (i), y - 40); + x + (622 / (sections.size() + 1)) * (i + 1), y - 40); + Journey jrn = sections.get(i).getJourney(); + String transportType = "MARCHE"; + if (!(jrn instanceof Journey.EmptyJourney)) { + transportType = jrn.getCategory() + ", " + jrn.getNumber(); + } + connectionCanvas.getGraphicsContext2D().setFill(Color.BLUE); + connectionCanvas.getGraphicsContext2D().fillText(transportType, x + (622 / (sections.size() + 1)) * (i), y - 55); + connectionCanvas.getGraphicsContext2D().setFill(Color.RED); } }