package net.sf.jasperreports.charts.design;

import java.awt.Color;
import net.sf.jasperreports.charts.JRDataRange;
import net.sf.jasperreports.charts.JRValueDisplay;
import net.sf.jasperreports.charts.base.JRBaseThermometerPlot;
import net.sf.jasperreports.engine.JRChart;
import net.sf.jasperreports.engine.JRChartPlot;

public class JRDesignThermometerPlot extends JRBaseThermometerPlot {
  private static final long serialVersionUID = 10200L;
  
  public static final String PROPERTY_DATA_RANGE = "dataRange";
  
  public static final String PROPERTY_HIGH_RANGE = "highRange";
  
  public static final String PROPERTY_LOW_RANGE = "lowRange";
  
  public static final String PROPERTY_MEDIUM_RANGE = "mediumRange";
  
  public static final String PROPERTY_MERCURY_COLOR = "mercuryColor";
  
  public static final String PROPERTY_SHOW_VALUE_LINES = "showValueLines";
  
  public static final String PROPERTY_VALUE_DISPLAY = "valueDisplay";
  
  public static final String PROPERTY_VALUE_LOCATION = "valueLocation";
  
  public JRDesignThermometerPlot(JRChartPlot thermoPlot, JRChart chart) {
    super(thermoPlot, chart);
  }
  
  public void setDataRange(JRDataRange dataRange) {
    Object old = this.dataRange;
    this.dataRange = dataRange;
    getEventSupport().firePropertyChange("dataRange", old, this.dataRange);
  }
  
  public void setValueDisplay(JRValueDisplay valueDisplay) {
    Object old = this.valueDisplay;
    this.valueDisplay = valueDisplay;
    getEventSupport().firePropertyChange("valueDisplay", old, this.valueDisplay);
  }
  
  public void setShowValueLines(boolean showValueLines) {
    boolean old = this.showValueLines;
    this.showValueLines = showValueLines;
    getEventSupport().firePropertyChange("showValueLines", old, this.showValueLines);
  }
  
  public void setValueLocation(byte valueLocation) {
    byte old = this.valueLocation;
    this.valueLocation = valueLocation;
    getEventSupport().firePropertyChange("valueLocation", old, this.valueLocation);
  }
  
  public void setMercuryColor(Color mercuryColor) {
    Object old = this.mercuryColor;
    this.mercuryColor = mercuryColor;
    getEventSupport().firePropertyChange("mercuryColor", old, this.mercuryColor);
  }
  
  public void setLowRange(JRDataRange lowRange) {
    Object old = this.lowRange;
    this.lowRange = lowRange;
    getEventSupport().firePropertyChange("lowRange", old, this.lowRange);
  }
  
  public void setMediumRange(JRDataRange mediumRange) {
    Object old = this.mediumRange;
    this.mediumRange = mediumRange;
    getEventSupport().firePropertyChange("mediumRange", old, this.mediumRange);
  }
  
  public void setHighRange(JRDataRange highRange) {
    Object old = this.highRange;
    this.highRange = highRange;
    getEventSupport().firePropertyChange("highRange", old, this.highRange);
  }
}
