summaryrefslogtreecommitdiff
path: root/altosuilib
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2014-05-29 14:03:58 -0700
committerKeith Packard <keithp@keithp.com>2014-05-29 14:03:58 -0700
commitf80075be4ebb9c5fe00c24b8c7638fad23267424 (patch)
treea8badb211c002391b881109a9b7c0992e3099eaf /altosuilib
parent71715337eb532a1fbe1a753240e7417d5223489f (diff)
java: Refactor AltosFlightDisplay units and font update handling
Make AltosFlightDisplay explicitly implement AltosFontListener and AltosUnitsListener interfaces to make everyone use the same API. Then, actually go implement units listeners so that changing units updates all of the active displays immediately Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altosuilib')
-rw-r--r--altosuilib/AltosFlightDisplay.java4
-rw-r--r--altosuilib/AltosInfoTable.java5
-rw-r--r--altosuilib/AltosSiteMap.java6
3 files changed, 10 insertions, 5 deletions
diff --git a/altosuilib/AltosFlightDisplay.java b/altosuilib/AltosFlightDisplay.java
index 5695a015..5fb0cab7 100644
--- a/altosuilib/AltosFlightDisplay.java
+++ b/altosuilib/AltosFlightDisplay.java
@@ -19,10 +19,8 @@ package org.altusmetrum.altosuilib_2;
import org.altusmetrum.altoslib_4.*;
-public interface AltosFlightDisplay {
+public interface AltosFlightDisplay extends AltosUnitsListener, AltosFontListener {
void reset();
void show(AltosState state, AltosListenerState listener_state);
-
- void set_font();
}
diff --git a/altosuilib/AltosInfoTable.java b/altosuilib/AltosInfoTable.java
index 0d8779d1..24a895eb 100644
--- a/altosuilib/AltosInfoTable.java
+++ b/altosuilib/AltosInfoTable.java
@@ -62,12 +62,15 @@ public class AltosInfoTable extends JTable implements AltosFlightDisplay {
doLayout();
}
- public void set_font() {
+ public void font_size_changed(int font_size) {
setFont(AltosUILib.table_value_font);
set_layout();
doLayout();
}
+ public void units_changed(boolean imperial_units) {
+ }
+
public Dimension getPreferredScrollableViewportSize() {
return getPreferredSize();
}
diff --git a/altosuilib/AltosSiteMap.java b/altosuilib/AltosSiteMap.java
index 7f0e1844..ed77beff 100644
--- a/altosuilib/AltosSiteMap.java
+++ b/altosuilib/AltosSiteMap.java
@@ -192,11 +192,15 @@ public class AltosSiteMap extends JComponent implements AltosFlightDisplay, Mous
// nothing
}
- public void set_font() {
+ public void font_size_changed(int font_size) {
for (AltosSiteMapTile tile : mapTiles.values())
tile.set_font(AltosUILib.value_font);
}
+ public void units_changed(boolean imperial_units) {
+ set_line();
+ }
+
static final int load_mode_cached = 1;
static final int load_mode_uncached = 2;