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);
}
public MicroSeries (String label, String units, Color color) {
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);
}
}
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;
}
heightSeries.clear();
speedSeries.clear();
accelSeries.clear();
- for (MicroDataPoint point : data.points()) {
- heightSeries.add(point.time, AltosConvert.height.value(point.height));
- speedSeries.add(point.time, AltosConvert.speed.value(point.speed));
- accelSeries.add(point.time, AltosConvert.accel.value(point.accel));
+ if (data != null) {
+ for (MicroDataPoint point : data.points()) {
+ heightSeries.add(point.time, AltosConvert.height.value(point.height));
+ speedSeries.add(point.time, AltosConvert.speed.value(point.speed));
+ accelSeries.add(point.time, AltosConvert.accel.value(point.accel));
+ }
}
}
public void setData (MicroData data) {
this.data = data;
- chart.setTitle(data.name);
+ if (data != null)
+ setName(data.name);
resetData();
}
public void units_changed(boolean imperial_units) {
- if (data != null) {
- heightSeries.set_units(AltosConvert.height.show_units());
- speedSeries.set_units(AltosConvert.speed.show_units());
- accelSeries.set_units(AltosConvert.accel.show_units());
- resetData();
- }
+ heightSeries.set_units(AltosConvert.height.show_units());
+ speedSeries.set_units(AltosConvert.speed.show_units());
+ accelSeries.set_units(AltosConvert.accel.show_units());
+ resetData();
}
public MicroGraph() {