X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altosuilib%2FAltosUISeries.java;h=26679471a0ff39b80c24fb412464f2a62b92ed68;hp=ea76e7418590a05b5195bd8099e2fccef7438133;hb=0169e56ad030c0096b1068d00f06957990dfb31f;hpb=518b16f64f4be096ceff13ab31b96d6909fe3ae2 diff --git a/altosuilib/AltosUISeries.java b/altosuilib/AltosUISeries.java index ea76e741..26679471 100644 --- a/altosuilib/AltosUISeries.java +++ b/altosuilib/AltosUISeries.java @@ -34,54 +34,66 @@ import org.jfree.chart.labels.*; import org.jfree.data.xy.*; import org.jfree.data.*; -public class AltosUISeries extends XYSeries { - NumberAxis axis; +public class AltosUISeries extends XYSeries implements AltosUIGrapher { + AltosUIAxis axis; String label; AltosUnits units; Color color; XYItemRenderer renderer; int fetch; + boolean enable; - void set_units() { - String units_string = units.show_units(); - axis.setLabel(String.format("%s (%s)", label, units_string)); - + public void set_units() { + axis.set_units(); StandardXYToolTipGenerator ttg; String example = units.graph_format(4); - ttg = new StandardXYToolTipGenerator(String.format("{1}s: {2}%s ({0})", units_string), + ttg = new StandardXYToolTipGenerator(String.format("{1}s: {2}%s ({0})", + units.show_units()), new java.text.DecimalFormat(example), new java.text.DecimalFormat(example)); renderer.setBaseToolTipGenerator(ttg); } - void set_enable(boolean enable) { - renderer.setSeriesVisible(0, enable); - axis.setVisible(enable); + public void set_enable(boolean enable) { + if (this.enable != enable) { + this.enable = enable; + renderer.setSeriesVisible(0, enable); + axis.set_enable(enable); + } } public void add(AltosUIDataPoint dataPoint) { super.add(dataPoint.x(), dataPoint.y(fetch)); } - public void set_axis(NumberAxis axis) { - this.axis = axis; - } - - public AltosUISeries (String label, int fetch, AltosUnits units, Color color) { + public AltosUISeries (String label, int fetch, AltosUnits units, Color color, + boolean enable, AltosUIAxis axis) { super(label); this.label = label; this.fetch = fetch; this.units = units; this.color = color; + this.enable = enable; + this.axis = axis; - axis = new NumberAxis(); - axis.setLabelPaint(color); - axis.setTickLabelPaint(color); + axis.ref(this.enable); renderer = new XYLineAndShapeRenderer(true, false); renderer.setSeriesPaint(0, color); set_units(); } + + public AltosUISeries (String label, int fetch, AltosUnits units, Color color, boolean enable) { + this(label, fetch, units, color, + enable, + new AltosUIAxis(label, units, color)); + } + + public AltosUISeries (String label, int fetch, AltosUnits units, Color color) { + this(label, fetch, units, color, + true, + new AltosUIAxis(label, units, color)); + } }