From 96de483d745ea0ef95326de2847a2534f7057846 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Thu, 11 May 2017 17:16:56 -0700 Subject: altosuilib: Start creating new graph interface that takes time series data Replace the AltosState interface so the graph can get better data, and can be used for more stuff. Signed-off-by: Keith Packard --- altosuilib/AltosUIFlightSeries.java | 68 +++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 altosuilib/AltosUIFlightSeries.java (limited to 'altosuilib/AltosUIFlightSeries.java') diff --git a/altosuilib/AltosUIFlightSeries.java b/altosuilib/AltosUIFlightSeries.java new file mode 100644 index 00000000..d15c4071 --- /dev/null +++ b/altosuilib/AltosUIFlightSeries.java @@ -0,0 +1,68 @@ +/* + * Copyright © 2017 Keith Packard + * + * 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, either version 2 of the License, or + * (at your option) any later version. + * + * 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. + */ + +package org.altusmetrum.altosuilib_11; + +import java.util.*; +import java.awt.*; +import javax.swing.*; +import org.altusmetrum.altoslib_11.*; + +class AltosUITimeSeriesExtra { + Color color; + boolean enabled; + AltosUIAxis axis; + + public AltosUITimeSeriesExtra(Color color, boolean enabled, AltosUIAxis axis) { + this.color = color; + this.enabled = enabled; + this.axis = axis; + } +} + +public class AltosUIFlightSeries extends AltosFlightSeries { + + Hashtable extra; + + public void register_extra(String label, + Color color, + boolean enabled, + AltosUIAxis axis) { + + AltosUITimeSeriesExtra e = new AltosUITimeSeriesExtra(color, + enabled, + axis); + System.out.printf("register extra label %s extra %s\n", label, e); + extra.put(label, e); + } + + public AltosTimeSeries make_series(String label, AltosUnits units) { + + AltosUITimeSeriesExtra e = extra.get(label); + + if (e == null) + e = extra.get("default"); + return new AltosUITimeSeries(label, units, + e.color, e.enabled, e.axis); + } + + public AltosUITimeSeries[] series() { + return series.toArray(new AltosUITimeSeries[0]); + } + + public AltosUIFlightSeries () { + super(); + extra = new Hashtable(); + } +} -- cgit v1.2.3