113 lines
3.1 KiB
Java
113 lines
3.1 KiB
Java
package net.sf.jasperreports.engine.base;
|
|
|
|
import java.awt.Color;
|
|
import java.io.Serializable;
|
|
import net.sf.jasperreports.engine.JRPen;
|
|
import net.sf.jasperreports.engine.JRPenContainer;
|
|
import net.sf.jasperreports.engine.JRRuntimeException;
|
|
import net.sf.jasperreports.engine.JRStyleContainer;
|
|
import net.sf.jasperreports.engine.design.events.JRChangeEventsSupport;
|
|
import net.sf.jasperreports.engine.design.events.JRPropertyChangeSupport;
|
|
import net.sf.jasperreports.engine.util.JRStyleResolver;
|
|
|
|
public class JRBasePen implements JRPen, Serializable, Cloneable, JRChangeEventsSupport {
|
|
private static final long serialVersionUID = 10200L;
|
|
|
|
public static final String PROPERTY_LINE_WIDTH = "lineWidth";
|
|
|
|
public static final String PROPERTY_LINE_STYLE = "lineStyle";
|
|
|
|
public static final String PROPERTY_LINE_COLOR = "lineColor";
|
|
|
|
protected JRPenContainer penContainer = null;
|
|
|
|
protected Float lineWidth = null;
|
|
|
|
protected Byte lineStyle = null;
|
|
|
|
protected Color lineColor = null;
|
|
|
|
private transient JRPropertyChangeSupport eventSupport;
|
|
|
|
public JRBasePen(JRPenContainer penContainer) {
|
|
this.penContainer = penContainer;
|
|
}
|
|
|
|
public JRStyleContainer getStyleContainer() {
|
|
return (JRStyleContainer)this.penContainer;
|
|
}
|
|
|
|
public Float getLineWidth() {
|
|
return JRStyleResolver.getLineWidth(this, this.penContainer.getDefaultLineWidth());
|
|
}
|
|
|
|
public Float getOwnLineWidth() {
|
|
return this.lineWidth;
|
|
}
|
|
|
|
public void setLineWidth(float lineWidth) {
|
|
setLineWidth(new Float(lineWidth));
|
|
}
|
|
|
|
public void setLineWidth(Float lineWidth) {
|
|
Object old = this.lineWidth;
|
|
this.lineWidth = lineWidth;
|
|
getEventSupport().firePropertyChange("lineWidth", old, this.lineWidth);
|
|
}
|
|
|
|
public Byte getLineStyle() {
|
|
return JRStyleResolver.getLineStyle(this);
|
|
}
|
|
|
|
public Byte getOwnLineStyle() {
|
|
return this.lineStyle;
|
|
}
|
|
|
|
public void setLineStyle(byte lineStyle) {
|
|
setLineStyle(new Byte(lineStyle));
|
|
}
|
|
|
|
public void setLineStyle(Byte lineStyle) {
|
|
Object old = this.lineStyle;
|
|
this.lineStyle = lineStyle;
|
|
getEventSupport().firePropertyChange("lineStyle", old, this.lineStyle);
|
|
}
|
|
|
|
public Color getLineColor() {
|
|
return JRStyleResolver.getLineColor(this, this.penContainer.getDefaultLineColor());
|
|
}
|
|
|
|
public Color getOwnLineColor() {
|
|
return this.lineColor;
|
|
}
|
|
|
|
public void setLineColor(Color lineColor) {
|
|
Object old = this.lineColor;
|
|
this.lineColor = lineColor;
|
|
getEventSupport().firePropertyChange("lineColor", old, this.lineColor);
|
|
}
|
|
|
|
public String getStyleNameReference() {
|
|
return null;
|
|
}
|
|
|
|
public JRPen clone(JRPenContainer penContainer) {
|
|
JRBasePen clone = null;
|
|
try {
|
|
clone = (JRBasePen)clone();
|
|
} catch (CloneNotSupportedException e) {
|
|
throw new JRRuntimeException(e);
|
|
}
|
|
clone.penContainer = penContainer;
|
|
return clone;
|
|
}
|
|
|
|
public JRPropertyChangeSupport getEventSupport() {
|
|
synchronized (this) {
|
|
if (this.eventSupport == null)
|
|
this.eventSupport = new JRPropertyChangeSupport(this);
|
|
}
|
|
return this.eventSupport;
|
|
}
|
|
}
|