124 lines
3.5 KiB
Java
124 lines
3.5 KiB
Java
package net.sf.jasperreports.charts.base;
|
|
|
|
import java.awt.Color;
|
|
import java.util.ArrayList;
|
|
import java.util.Iterator;
|
|
import java.util.List;
|
|
import net.sf.jasperreports.charts.JRDataRange;
|
|
import net.sf.jasperreports.charts.JRMeterPlot;
|
|
import net.sf.jasperreports.charts.JRValueDisplay;
|
|
import net.sf.jasperreports.charts.util.JRMeterInterval;
|
|
import net.sf.jasperreports.engine.JRChart;
|
|
import net.sf.jasperreports.engine.JRChartPlot;
|
|
import net.sf.jasperreports.engine.JRExpressionCollector;
|
|
import net.sf.jasperreports.engine.base.JRBaseChartPlot;
|
|
import net.sf.jasperreports.engine.base.JRBaseObjectFactory;
|
|
|
|
public class JRBaseMeterPlot extends JRBaseChartPlot implements JRMeterPlot {
|
|
private static final long serialVersionUID = 10200L;
|
|
|
|
protected JRDataRange dataRange = null;
|
|
|
|
protected JRValueDisplay valueDisplay = null;
|
|
|
|
protected byte shape = 2;
|
|
|
|
protected List intervals = new ArrayList();
|
|
|
|
protected int meterAngle = 180;
|
|
|
|
protected String units = null;
|
|
|
|
protected double tickInterval = 10.0D;
|
|
|
|
protected Color meterBackgroundColor = null;
|
|
|
|
protected Color needleColor = null;
|
|
|
|
protected Color tickColor = null;
|
|
|
|
public JRBaseMeterPlot(JRChartPlot meterPlot, JRChart chart) {
|
|
super(meterPlot, chart);
|
|
}
|
|
|
|
public JRBaseMeterPlot(JRMeterPlot meterPlot, JRBaseObjectFactory factory) {
|
|
super((JRChartPlot)meterPlot, factory);
|
|
this.dataRange = new JRBaseDataRange(meterPlot.getDataRange(), factory);
|
|
this.valueDisplay = new JRBaseValueDisplay(meterPlot.getValueDisplay(), factory);
|
|
this.shape = meterPlot.getShape();
|
|
List origIntervals = meterPlot.getIntervals();
|
|
this.intervals.clear();
|
|
if (origIntervals != null) {
|
|
Iterator iter = origIntervals.iterator();
|
|
while (iter.hasNext()) {
|
|
JRMeterInterval interval = iter.next();
|
|
this.intervals.add(new JRMeterInterval(interval, factory));
|
|
}
|
|
}
|
|
this.meterAngle = meterPlot.getMeterAngle();
|
|
this.units = meterPlot.getUnits();
|
|
this.tickInterval = meterPlot.getTickInterval();
|
|
this.meterBackgroundColor = meterPlot.getMeterBackgroundColor();
|
|
this.needleColor = meterPlot.getNeedleColor();
|
|
this.tickColor = meterPlot.getTickColor();
|
|
}
|
|
|
|
public JRDataRange getDataRange() {
|
|
return this.dataRange;
|
|
}
|
|
|
|
public JRValueDisplay getValueDisplay() {
|
|
return this.valueDisplay;
|
|
}
|
|
|
|
public byte getShape() {
|
|
return this.shape;
|
|
}
|
|
|
|
public List getIntervals() {
|
|
return this.intervals;
|
|
}
|
|
|
|
public int getMeterAngle() {
|
|
return this.meterAngle;
|
|
}
|
|
|
|
public String getUnits() {
|
|
return this.units;
|
|
}
|
|
|
|
public double getTickInterval() {
|
|
return this.tickInterval;
|
|
}
|
|
|
|
public Color getMeterBackgroundColor() {
|
|
return this.meterBackgroundColor;
|
|
}
|
|
|
|
public Color getNeedleColor() {
|
|
return this.needleColor;
|
|
}
|
|
|
|
public Color getTickColor() {
|
|
return this.tickColor;
|
|
}
|
|
|
|
public void collectExpressions(JRExpressionCollector collector) {
|
|
collector.collect(this);
|
|
}
|
|
|
|
public Object clone(JRChart parentChart) {
|
|
JRBaseMeterPlot clone = (JRBaseMeterPlot)super.clone(parentChart);
|
|
if (this.dataRange != null)
|
|
clone.dataRange = (JRDataRange)this.dataRange.clone();
|
|
if (this.valueDisplay != null)
|
|
clone.valueDisplay = (JRValueDisplay)this.valueDisplay.clone();
|
|
if (this.intervals != null) {
|
|
clone.intervals = new ArrayList(this.intervals.size());
|
|
for (int i = 0; i < this.intervals.size(); i++)
|
|
clone.intervals.add(((JRMeterInterval)this.intervals.get(i)).clone());
|
|
}
|
|
return clone;
|
|
}
|
|
}
|