X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altosuilib%2FAltosUIFlightSeries.java;h=7e64cc2e2a26230428fbb2838a942eab9f556ba7;hp=1840761e11b80d5993b96b5573901e111c071dde;hb=52149fd81df45f37f5097850795f290f463c43ef;hpb=e6eb659b0e984515a33b3ddabfe8325742a952da diff --git a/altosuilib/AltosUIFlightSeries.java b/altosuilib/AltosUIFlightSeries.java index 1840761e..7e64cc2e 100644 --- a/altosuilib/AltosUIFlightSeries.java +++ b/altosuilib/AltosUIFlightSeries.java @@ -12,12 +12,12 @@ * General Public License for more details. */ -package org.altusmetrum.altosuilib_11; +package org.altusmetrum.altosuilib_14; import java.util.*; import java.awt.*; import javax.swing.*; -import org.altusmetrum.altoslib_11.*; +import org.altusmetrum.altoslib_14.*; import org.jfree.ui.*; import org.jfree.chart.*; @@ -30,18 +30,21 @@ import org.jfree.data.xy.*; import org.jfree.data.*; class AltosUITimeSeriesAxis { - Color color; - boolean enabled; - boolean marker; - AltosUIAxis axis; - XYPlot plot; - - public AltosUITimeSeriesAxis(Color color, boolean enabled, AltosUIAxis axis, XYPlot plot, boolean marker) { - this.color = color; + AltosUILineStyle line_style; + boolean enabled; + boolean marker; + boolean marker_top; + AltosUIAxis axis; + XYPlot plot; + + public AltosUITimeSeriesAxis(AltosUILineStyle line_style, boolean enabled, + AltosUIAxis axis, XYPlot plot, boolean marker, boolean marker_top) { + this.line_style = line_style; this.enabled = enabled; this.axis = axis; this.plot = plot; this.marker = marker; + this.marker_top = marker_top; } } @@ -49,66 +52,78 @@ public class AltosUIFlightSeries extends AltosFlightSeries { Hashtable axes; - AltosUIFlightSeries flight_series; - void fill_axes(String label, AltosUITimeSeriesAxis axis) { for (AltosTimeSeries ts : series) { AltosUITimeSeries uts = (AltosUITimeSeries) ts; - if (label.equals(ts.label) || (label.equals("default") && uts.color == null)) { + if (label.equals(ts.label) || (label.equals("default") && uts.line_style == null)) { + uts.custom_axis_set = true; if (axis.marker) - uts.set_marker(axis.color, axis.enabled, axis.plot); + uts.set_marker(axis.line_style, axis.enabled, axis.plot, axis.marker_top); else - uts.set_axis(axis.color, axis.enabled, axis.axis); + uts.set_axis(axis.line_style, axis.enabled, axis.axis); } } } + void check_axes() { + for (AltosTimeSeries ts : series) { + AltosUITimeSeries uts = (AltosUITimeSeries) ts; + + if (!uts.custom_axis_set) + System.out.printf("%s using default axis\n", ts.label); + } + } + public void register_axis(String label, - Color color, + AltosUILineStyle line_style, boolean enabled, AltosUIAxis axis) { - AltosUITimeSeriesAxis tsa = new AltosUITimeSeriesAxis(color, + AltosUITimeSeriesAxis tsa = new AltosUITimeSeriesAxis(line_style, enabled, axis, null, + false, false); axes.put(label, tsa); fill_axes(label, tsa); } public void register_marker(String label, - Color color, + AltosUILineStyle line_style, boolean enabled, - XYPlot plot) { - AltosUITimeSeriesAxis tsa = new AltosUITimeSeriesAxis(color, + XYPlot plot, + boolean marker_top) { + AltosUITimeSeriesAxis tsa = new AltosUITimeSeriesAxis(line_style, enabled, null, plot, - true); + true, + marker_top); axes.put(label, tsa); fill_axes(label, tsa); } public AltosTimeSeries make_series(String label, AltosUnits units) { - AltosUITimeSeries time_series = new AltosUITimeSeries(label, units); AltosUITimeSeriesAxis tsa = axes.get(label); if (tsa == null) tsa = axes.get("default"); + else + time_series.custom_axis_set = true; if (tsa != null) { if (tsa.marker) - time_series.set_marker(tsa.color, tsa.enabled, tsa.plot); + time_series.set_marker(tsa.line_style, tsa.enabled, tsa.plot, tsa.marker_top); else - time_series.set_axis(tsa.color, tsa.enabled, tsa.axis); + time_series.set_axis(tsa.line_style, tsa.enabled, tsa.axis); } return time_series; } public AltosUITimeSeries[] series(AltosCalData cal_data) { - fill_in(); + finish(); return series.toArray(new AltosUITimeSeries[0]); }