micropeak: Create 'micropeak' script correctly
[fw/altos] / micropeak / MicroGraph.java
index d2e86f9fe50f151e8f1ac32f98ea1a6cda760038..5aa127bb4d9164a72d99cc0aef6e554f72aac70e 100644 (file)
@@ -39,15 +39,24 @@ class MicroSeries extends XYSeries {
        String          label;
        String          units;
        Color           color;
+       XYItemRenderer  renderer;
        
-       String label() {
-               return String.format("%s (%s)", label, units);
-       }
-
        void set_units(String units) {
                this.units = units;
 
-               axis.setLabel(label());
+               axis.setLabel(String.format("%s (%s)", label, units));
+
+               StandardXYToolTipGenerator      ttg;
+
+               ttg = new StandardXYToolTipGenerator(String.format("{1}s: {2}%s ({0})", units),
+                                                    new java.text.DecimalFormat("0.00"),
+                                                    new java.text.DecimalFormat("0.00"));
+               renderer.setBaseToolTipGenerator(ttg);
+       }
+
+       void set_enable(boolean enable) {
+               renderer.setSeriesVisible(0, enable);
+               axis.setVisible(enable);
        }
 
        public MicroSeries (String label, String units, Color color) {
@@ -56,9 +65,13 @@ class MicroSeries extends XYSeries {
                this.units = units;
                this.color = color;
 
-               axis = new NumberAxis(label());
+               axis = new NumberAxis();
                axis.setLabelPaint(color);
                axis.setTickLabelPaint(color);
+
+               renderer = new XYLineAndShapeRenderer(true, false);
+               renderer.setSeriesPaint(0, color);
+               set_units(units);
        }
 }
 
@@ -88,16 +101,11 @@ public class MicroGraph implements AltosUnitsListener {
        private MicroSeries addSeries(int index, String label, String units, Color color) {
                MicroSeries             series = new MicroSeries(label, units, color);
                XYSeriesCollection      dataset = new XYSeriesCollection(series);
-               XYItemRenderer          renderer = new XYLineAndShapeRenderer(true, false);
 
-               renderer.setSeriesPaint(0, color);
-               renderer.setPlot(plot);
-               renderer.setBaseToolTipGenerator(new StandardXYToolTipGenerator(String.format("{1}s: {2}%s ({0})", units),
-                                                                               new java.text.DecimalFormat("0.00"),
-                                                                               new java.text.DecimalFormat("0.00")));
+               series.renderer.setPlot(plot);
                plot.setRangeAxis(index, series.axis);
                plot.setDataset(index, dataset);
-               plot.setRenderer(index, renderer);
+               plot.setRenderer(index, series.renderer);
                plot.mapDatasetToRangeAxis(index, index);
                return series;
        }
@@ -113,6 +121,7 @@ public class MicroGraph implements AltosUnitsListener {
                                accelSeries.add(point.time, AltosConvert.accel.value(point.accel));
                        }
                }
+//             accelSeries.set_enable(false);
        }
 
        public void setName (String name) {