summaryrefslogtreecommitdiff
path: root/altosui
diff options
context:
space:
mode:
Diffstat (limited to 'altosui')
-rw-r--r--altosui/AltosGraphUI.java23
-rw-r--r--altosui/AltosIdleMonitorUI.java2
-rw-r--r--altosui/AltosUI.java13
3 files changed, 32 insertions, 6 deletions
diff --git a/altosui/AltosGraphUI.java b/altosui/AltosGraphUI.java
index 042f9277..f387ed9b 100644
--- a/altosui/AltosGraphUI.java
+++ b/altosui/AltosGraphUI.java
@@ -31,7 +31,7 @@ import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.ui.RefineryUtilities;
-public class AltosGraphUI extends AltosUIFrame implements AltosFontListener, AltosUnitsListener
+public class AltosGraphUI extends AltosUIFrame implements AltosFontListener, AltosUnitsListener, AltosFilterListener
{
JTabbedPane pane;
AltosGraph graph;
@@ -82,6 +82,23 @@ public class AltosGraphUI extends AltosUIFrame implements AltosFontListener, Alt
enable.units_changed(imperial_units);
}
+ AltosUIFlightSeries flight_series;
+
+ public void filter_changed(double speed_filter, double accel_filter) {
+ flight_series.set_filter(speed_filter, accel_filter);
+ graph.filter_changed();
+ stats = new AltosFlightStats(flight_series);
+ statsTable.filter_changed(stats);
+ }
+
+ public double speed_filter() {
+ return flight_series.speed_filter_width;
+ }
+
+ public double accel_filter() {
+ return flight_series.accel_filter_width;
+ }
+
AltosGraphUI(AltosRecordSet set, File file) throws InterruptedException, IOException {
super(file.getName());
AltosCalData cal_data = set.cal_data();
@@ -89,9 +106,9 @@ public class AltosGraphUI extends AltosUIFrame implements AltosFontListener, Alt
pane = new JTabbedPane();
- enable = new AltosUIEnable();
+ flight_series = new AltosUIFlightSeries(cal_data);
- AltosUIFlightSeries flight_series = new AltosUIFlightSeries(cal_data);
+ enable = new AltosUIEnable(this);
set.capture_series(flight_series);
diff --git a/altosui/AltosIdleMonitorUI.java b/altosui/AltosIdleMonitorUI.java
index a2696f15..584f143a 100644
--- a/altosui/AltosIdleMonitorUI.java
+++ b/altosui/AltosIdleMonitorUI.java
@@ -295,7 +295,7 @@ public class AltosIdleMonitorUI extends AltosUIFrame implements AltosFlightDispl
pack();
setVisible(true);
- thread = new AltosIdleMonitor((AltosIdleMonitorListener) this, link, (boolean) remote);
+ thread = new AltosIdleMonitor(this, link, (boolean) remote);
status_update = new AltosFlightStatusUpdate(flightStatus);
diff --git a/altosui/AltosUI.java b/altosui/AltosUI.java
index bc8eaa71..02e49a94 100644
--- a/altosui/AltosUI.java
+++ b/altosui/AltosUI.java
@@ -26,7 +26,7 @@ import java.util.concurrent.*;
import org.altusmetrum.altoslib_12.*;
import org.altusmetrum.altosuilib_12.*;
-public class AltosUI extends AltosUIFrame {
+public class AltosUI extends AltosUIFrame implements AltosEepromGrapher {
public AltosVoice voice = new AltosVoice();
public static boolean load_library(Frame frame) {
@@ -320,8 +320,17 @@ public class AltosUI extends AltosUIFrame {
/* Connect to TeleMetrum, either directly or through
* a TeleDongle over the packet link
*/
+
+ public void graph_flights(AltosEepromList flights) {
+ for (AltosEepromLog flight : flights) {
+ if (flight.graph_selected && flight.file != null) {
+ process_graph(flight.file);
+ }
+ }
+ }
+
private void SaveFlightData() {
- new AltosEepromManage(AltosUI.this, AltosLib.product_any);
+ new AltosEepromManage(this, this, AltosLib.product_any);
}
private static AltosFlightSeries make_series(AltosRecordSet set) {