summaryrefslogtreecommitdiff
path: root/src/main/java/com/benburwell/planes/gui/aircraftmap/AircraftMap.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/benburwell/planes/gui/aircraftmap/AircraftMap.java')
-rw-r--r--src/main/java/com/benburwell/planes/gui/aircraftmap/AircraftMap.java14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/main/java/com/benburwell/planes/gui/aircraftmap/AircraftMap.java b/src/main/java/com/benburwell/planes/gui/aircraftmap/AircraftMap.java
index 1e6181b..d98dc60 100644
--- a/src/main/java/com/benburwell/planes/gui/aircraftmap/AircraftMap.java
+++ b/src/main/java/com/benburwell/planes/gui/aircraftmap/AircraftMap.java
@@ -3,6 +3,7 @@ package com.benburwell.planes.gui.aircraftmap;
import com.benburwell.planes.data.Airport;
import com.benburwell.planes.data.NavigationAid;
import com.benburwell.planes.data.Position;
+import com.benburwell.planes.data.Runway;
import com.benburwell.planes.graph.RouteGraph;
import com.benburwell.planes.gui.GraphicsTheme;
import com.benburwell.planes.gui.aircraftmap.symbols.*;
@@ -51,6 +52,7 @@ public class AircraftMap extends JPanel {
private List<Drawable> navaids = new ArrayList<>();
private List<Drawable> airports = new ArrayList<>();
private List<Drawable> routes = new ArrayList<>();
+ private List<Drawable> runways = new ArrayList<>();
private double centerLatitude;
private double centerLongitude;
private int pixelsPerNauticalMile = 10;
@@ -58,6 +60,7 @@ public class AircraftMap extends JPanel {
private DisplayMode navaidDisplayMode = DisplayMode.HIDDEN;
private DisplayMode airportDisplayMode = DisplayMode.HIDDEN;
private DisplayMode routeDisplayMode = DisplayMode.HIDDEN;
+ private DisplayMode runwayDisplayMode = DisplayMode.HIDDEN;
/**
* Construct a map
@@ -114,6 +117,10 @@ public class AircraftMap extends JPanel {
routes.getAirways().forEach(airway -> this.routes.add(new RouteSymbol(airway)));
}
+ public void addRunways(List<Runway> runways) {
+ runways.forEach(runway -> this.runways.add(new RunwaySymbol(runway)));
+ }
+
/**
* Paint the Tabbable on a Graphics instance
*
@@ -132,6 +139,8 @@ public class AircraftMap extends JPanel {
this.drawPositionAndScale(g2d);
this.drawRange(g2d);
+ this.runways.forEach(runway -> runway.drawOn(g2d, this, this.runwayDisplayMode));
+
// Aids to Navigation
this.navaids.forEach(aid -> aid.drawOn(g2d, this, this.navaidDisplayMode));
@@ -159,6 +168,11 @@ public class AircraftMap extends JPanel {
this.redraw();
}
+ public void toggleRunways() {
+ this.runwayDisplayMode = this.runwayDisplayMode.next();
+ this.redraw();
+ }
+
private void drawPositionAndScale(Graphics g) {
Font currentFont = g.getFont();
Font newFont = currentFont.deriveFont(FONT_SIZE);