diff options
| author | Keith Packard <keithp@keithp.com> | 2014-06-11 20:36:49 -0700 | 
|---|---|---|
| committer | Keith Packard <keithp@keithp.com> | 2014-06-11 20:43:54 -0700 | 
| commit | bfc0c65c9f9ec9547d71016fc897ba35bdb414f8 (patch) | |
| tree | 36e97c779e9a79bac23ba06f33bd39c39206effb /altosui/AltosGraphUI.java | |
| parent | 2182c49298e0862a60dea104450d5f74dbeaeeb2 (diff) | |
altosuilib: Handle font and units changes in maps and stats table
Add AltosFontListener and AltosUnitsListener bits as needed
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altosui/AltosGraphUI.java')
| -rw-r--r-- | altosui/AltosGraphUI.java | 25 | 
1 files changed, 23 insertions, 2 deletions
| diff --git a/altosui/AltosGraphUI.java b/altosui/AltosGraphUI.java index 0df92eae..07fe9317 100644 --- a/altosui/AltosGraphUI.java +++ b/altosui/AltosGraphUI.java @@ -21,6 +21,7 @@ import java.io.*;  import java.util.ArrayList;  import java.awt.*; +import java.awt.event.*;  import javax.swing.*;  import org.altusmetrum.altoslib_4.*;  import org.altusmetrum.altosuilib_2.*; @@ -29,7 +30,7 @@ import org.jfree.chart.ChartPanel;  import org.jfree.chart.JFreeChart;  import org.jfree.ui.RefineryUtilities; -public class AltosGraphUI extends AltosUIFrame +public class AltosGraphUI extends AltosUIFrame implements AltosFontListener, AltosUnitsListener  {  	JTabbedPane		pane;  	AltosGraph		graph; @@ -53,6 +54,15 @@ public class AltosGraphUI extends AltosUIFrame  		}  	} +	public void font_size_changed(int font_size) { +		map.font_size_changed(font_size); +		statsTable.font_size_changed(font_size); +	} + +	public void units_changed(boolean imperial_units) { +		map.units_changed(imperial_units); +	} +  	AltosGraphUI(AltosStateIterable states, File file) throws InterruptedException, IOException {  		super(file.getName());  		state = null; @@ -79,9 +89,20 @@ public class AltosGraphUI extends AltosUIFrame  		setContentPane (pane); +		AltosUIPreferences.register_font_listener(this); +		AltosPreferences.register_units_listener(this); + +		addWindowListener(new WindowAdapter() { +				@Override +				public void windowClosing(WindowEvent e) { +					setVisible(false); +					dispose(); +					AltosUIPreferences.unregister_font_listener(AltosGraphUI.this); +					AltosPreferences.unregister_units_listener(AltosGraphUI.this); +				} +			});  		pack(); -		setDefaultCloseOperation(DISPOSE_ON_CLOSE);  		setVisible(true);  		if (state != null && has_gps)  			map.centre(state); | 
