diff options
Diffstat (limited to 'altosui/AltosGraphUI.java')
| -rw-r--r-- | altosui/AltosGraphUI.java | 52 | 
1 files changed, 43 insertions, 9 deletions
| diff --git a/altosui/AltosGraphUI.java b/altosui/AltosGraphUI.java index 40d2f7f4..07fe9317 100644 --- a/altosui/AltosGraphUI.java +++ b/altosui/AltosGraphUI.java @@ -1,6 +1,19 @@ - -// Copyright (c) 2010 Anthony Towns -// GPL v2 or later +/* + * Copyright © 2010 Anthony Towns + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; version 2 or any later version of the License. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + */  package altosui; @@ -8,20 +21,21 @@ import java.io.*;  import java.util.ArrayList;  import java.awt.*; +import java.awt.event.*;  import javax.swing.*; -import org.altusmetrum.altoslib_3.*; -import org.altusmetrum.altosuilib_1.*; +import org.altusmetrum.altoslib_4.*; +import org.altusmetrum.altosuilib_2.*;  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;  	AltosUIEnable		enable; -	AltosSiteMap		map; +	AltosUIMap		map;  	AltosState		state;  	AltosGraphDataSet	graphDataSet;  	AltosFlightStats	stats; @@ -33,13 +47,22 @@ public class AltosGraphUI extends AltosUIFrame  		for (AltosState state : states) {  			if (state.gps != null && state.gps.locked && state.gps.nsat >= 4) {  				if (map == null) -					map = new AltosSiteMap(); +					map = new AltosUIMap();  				map.show(state, null);  				has_gps = true;  			}  		}  	} +	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; @@ -66,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); | 
