Do not hard-code voltage and power ratings

This commit is contained in:
bancika
2012-02-12 18:45:34 +00:00
parent 9fdd96c889
commit d11a8b906a
18 changed files with 347 additions and 9 deletions
@@ -65,7 +65,7 @@
<copy todir="../diylc-swing/lib" overwrite="true">
<fileset dir="${jar.dir}" includes="${ant.project.name}.jar" />
</copy>
<copy todir="../library/lib" overwrite="true">
<copy todir="../diylc-library/lib" overwrite="true">
<fileset dir="${jar.dir}" includes="${ant.project.name}.jar" />
</copy>
</target>
@@ -0,0 +1,31 @@
package org.diylc.core.measures;
public class Power extends AbstractMeasure<PowerUnit> {
private static final long serialVersionUID = 1L;
public Power() {
super();
// TODO Auto-generated constructor stub
}
public Power(Double value, PowerUnit unit) {
super(value, unit);
// TODO Auto-generated constructor stub
}
@Override
public Power clone() throws CloneNotSupportedException {
return new Power(value, unit);
}
public static Power parseCapacitance(String value) {
for (PowerUnit unit : PowerUnit.values()) {
if (value.toLowerCase().endsWith(unit.toString().toLowerCase())) {
value = value.substring(0, value.length() - unit.toString().length() - 1).trim();
return new Power(Double.parseDouble(value), unit);
}
}
throw new IllegalArgumentException("Could not parse power: " + value);
}
}
@@ -0,0 +1,24 @@
package org.diylc.core.measures;
public enum PowerUnit implements Unit {
MW(1e-1, "mW"), W(1, "W"), KW(1e3, "KW");
double factor;
String display;
private PowerUnit(double factor, String display) {
this.factor = factor;
this.display = display;
}
@Override
public double getFactor() {
return factor;
}
@Override
public String toString() {
return display;
}
}
@@ -0,0 +1,31 @@
package org.diylc.core.measures;
public class Voltage extends AbstractMeasure<VoltageUnit> {
private static final long serialVersionUID = 1L;
public Voltage() {
super();
// TODO Auto-generated constructor stub
}
public Voltage(Double value, VoltageUnit unit) {
super(value, unit);
// TODO Auto-generated constructor stub
}
@Override
public Voltage clone() throws CloneNotSupportedException {
return new Voltage(value, unit);
}
public static Voltage parseCapacitance(String value) {
for (VoltageUnit unit : VoltageUnit.values()) {
if (value.toLowerCase().endsWith(unit.toString().toLowerCase())) {
value = value.substring(0, value.length() - unit.toString().length() - 1).trim();
return new Voltage(Double.parseDouble(value), unit);
}
}
throw new IllegalArgumentException("Could not parse voltage: " + value);
}
}
@@ -0,0 +1,24 @@
package org.diylc.core.measures;
public enum VoltageUnit implements Unit {
MV(1e-1, "mV"), V(1, "V"), KV(1e3, "KV");
double factor;
String display;
private VoltageUnit(double factor, String display) {
this.factor = factor;
this.display = display;
}
@Override
public double getFactor() {
return factor;
}
@Override
public String toString() {
return display;
}
}
@@ -18,6 +18,7 @@ import org.diylc.core.measures.Capacitance;
import org.diylc.core.measures.CapacitanceUnit;
import org.diylc.core.measures.Size;
import org.diylc.core.measures.SizeUnit;
import org.diylc.core.measures.VoltageUnit;
import org.diylc.utils.Constants;
@ComponentDescriptor(name = "Electrolytic Capacitor (axial)", author = "Branislav Stojkovic", category = "Passive", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "C", description = "Axial electrolytic capacitor, similar to Sprague Atom, F&T, etc", zOrder = IDIYComponent.COMPONENT)
@@ -33,7 +34,10 @@ public class AxialElectrolyticCapacitor extends AbstractLeadedComponent<Capacita
public static Color TICK_COLOR = Color.white;
private Capacitance value = new Capacitance(1d, CapacitanceUnit.uF);
@Deprecated
private Voltage voltage = Voltage._63V;
private org.diylc.core.measures.Voltage voltageNew = new org.diylc.core.measures.Voltage(63d,
VoltageUnit.V);
private Color markerColor = MARKER_COLOR;
private Color tickColor = TICK_COLOR;
@@ -54,15 +58,31 @@ public class AxialElectrolyticCapacitor extends AbstractLeadedComponent<Capacita
this.value = value;
}
@EditableProperty
@Deprecated
public Voltage getVoltage() {
return voltage;
}
@Deprecated
public void setVoltage(Voltage voltage) {
this.voltage = voltage;
}
@EditableProperty(name = "Voltage")
public org.diylc.core.measures.Voltage getVoltageNew() {
// Backward comptibility
if (voltageNew == null) {
voltageNew = voltage.convertToNewFormat();
voltage = null;
// Clear old value, don't need it anymore
}
return voltageNew;
}
public void setVoltageNew(org.diylc.core.measures.Voltage voltageNew) {
this.voltageNew = voltageNew;
}
public void drawIcon(Graphics2D g2d, int width, int height) {
g2d.rotate(-Math.PI / 4, width / 2, height / 2);
g2d.setColor(LEAD_COLOR);
@@ -14,6 +14,7 @@ import org.diylc.core.measures.Capacitance;
import org.diylc.core.measures.CapacitanceUnit;
import org.diylc.core.measures.Size;
import org.diylc.core.measures.SizeUnit;
import org.diylc.core.measures.VoltageUnit;
@ComponentDescriptor(name = "Film Capacitor (axial)", author = "Branislav Stojkovic", category = "Passive", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "C", description = "Axial film capacitor, similar to Mallory 150s", zOrder = IDIYComponent.COMPONENT)
public class AxialFilmCapacitor extends AbstractLeadedComponent<Capacitance> {
@@ -26,7 +27,10 @@ public class AxialFilmCapacitor extends AbstractLeadedComponent<Capacitance> {
public static Color BORDER_COLOR = BODY_COLOR.darker();
private Capacitance value = new Capacitance(22d, CapacitanceUnit.nF);
@Deprecated
private Voltage voltage = Voltage._63V;
private org.diylc.core.measures.Voltage voltageNew = new org.diylc.core.measures.Voltage(63d,
VoltageUnit.V);
public AxialFilmCapacitor() {
super();
@@ -48,15 +52,30 @@ public class AxialFilmCapacitor extends AbstractLeadedComponent<Capacitance> {
this.value = value;
}
@EditableProperty
@Deprecated
public Voltage getVoltage() {
return voltage;
}
@Deprecated
public void setVoltage(Voltage voltage) {
this.voltage = voltage;
}
@EditableProperty(name = "Voltage")
public org.diylc.core.measures.Voltage getVoltageNew() {
// Backward comptibility
if (voltageNew == null) {
voltageNew = voltage.convertToNewFormat();
voltage = null;
// Clear old value, don't need it anymore
}
return voltageNew;
}
public void setVoltageNew(org.diylc.core.measures.Voltage voltageNew) {
this.voltageNew = voltageNew;
}
public void drawIcon(Graphics2D g2d, int width, int height) {
g2d.rotate(-Math.PI / 4, width / 2, height / 2);
@@ -13,6 +13,7 @@ import org.diylc.core.measures.Capacitance;
import org.diylc.core.measures.CapacitanceUnit;
import org.diylc.core.measures.Size;
import org.diylc.core.measures.SizeUnit;
import org.diylc.core.measures.VoltageUnit;
@ComponentDescriptor(name = "Capacitor (schematic symbol)", author = "Branislav Stojkovic", category = "Passive", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "C", description = "Capacitor schematic symbol with an optional polarity sign", zOrder = IDIYComponent.COMPONENT)
public class CapacitorSymbol extends AbstractSchematicLeadedSymbol<Capacitance> {
@@ -23,7 +24,10 @@ public class CapacitorSymbol extends AbstractSchematicLeadedSymbol<Capacitance>
public static Size DEFAULT_WIDTH = new Size(0.15, SizeUnit.in);
private Capacitance value = new Capacitance(22d, CapacitanceUnit.nF);
@Deprecated
private Voltage voltage = Voltage._63V;
private org.diylc.core.measures.Voltage voltageNew = new org.diylc.core.measures.Voltage(63d,
VoltageUnit.V);
private boolean polarized = false;
@EditableProperty
@@ -35,15 +39,31 @@ public class CapacitorSymbol extends AbstractSchematicLeadedSymbol<Capacitance>
this.value = value;
}
@EditableProperty
@Deprecated
public Voltage getVoltage() {
return voltage;
}
@Deprecated
public void setVoltage(Voltage voltage) {
this.voltage = voltage;
}
@EditableProperty(name = "Voltage")
public org.diylc.core.measures.Voltage getVoltageNew() {
// Backward compatibility
if (voltageNew == null) {
voltageNew = voltage.convertToNewFormat();
voltage = null;
// Clear old value, don't need it anymore
}
return voltageNew;
}
public void setVoltageNew(org.diylc.core.measures.Voltage voltageNew) {
this.voltageNew = voltageNew;
}
@EditableProperty
public boolean getPolarized() {
return polarized;
@@ -1,5 +1,7 @@
package org.diylc.components.passive;
import org.diylc.core.measures.PowerUnit;
public enum Power {
EIGHT("1/8W"), QUARTER("1/4W"), HALF("1/2W"), ONE("1W"), TWO("2W"), FIVE("5W"), TEN("10W"), FIFTY(
@@ -15,4 +17,40 @@ public enum Power {
public String toString() {
return label;
}
public org.diylc.core.measures.Power convertToNewFormat() {
org.diylc.core.measures.Power powerNew;
switch (this) {
case EIGHT:
powerNew = new org.diylc.core.measures.Power(1 / 8d, PowerUnit.W);
break;
case FIVE:
powerNew = new org.diylc.core.measures.Power(5d, PowerUnit.W);
break;
case FIFTY:
powerNew = new org.diylc.core.measures.Power(50d, PowerUnit.W);
break;
case HALF:
powerNew = new org.diylc.core.measures.Power(1 / 2d, PowerUnit.W);
break;
case HUNDRED:
powerNew = new org.diylc.core.measures.Power(100d, PowerUnit.W);
break;
case ONE:
powerNew = new org.diylc.core.measures.Power(1d, PowerUnit.W);
break;
case QUARTER:
powerNew = new org.diylc.core.measures.Power(1 / 4d, PowerUnit.W);
break;
case TEN:
powerNew = new org.diylc.core.measures.Power(10d, PowerUnit.W);
break;
case TWO:
powerNew = new org.diylc.core.measures.Power(2d, PowerUnit.W);
break;
default:
powerNew = new org.diylc.core.measures.Power(1 / 2d, PowerUnit.W);
}
return powerNew;
}
}
@@ -20,6 +20,7 @@ import org.diylc.core.measures.Capacitance;
import org.diylc.core.measures.CapacitanceUnit;
import org.diylc.core.measures.Size;
import org.diylc.core.measures.SizeUnit;
import org.diylc.core.measures.VoltageUnit;
import org.diylc.utils.Constants;
@ComponentDescriptor(name = "Electrolytic Capacitor", author = "Branislav Stojkovic", category = "Passive", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "C", description = "Vertical mounted electrolytic capacitor, polarized or bipolar", zOrder = IDIYComponent.COMPONENT)
@@ -34,7 +35,10 @@ public class RadialElectrolytic extends AbstractLeadedComponent<Capacitance> {
public static Color TICK_COLOR = Color.white;
private Capacitance value = new Capacitance(1d, CapacitanceUnit.uF);
@Deprecated
private Voltage voltage = Voltage._63V;
private org.diylc.core.measures.Voltage voltageNew = new org.diylc.core.measures.Voltage(63d,
VoltageUnit.V);
private Color markerColor = MARKER_COLOR;
private Color tickColor = TICK_COLOR;
@@ -55,15 +59,31 @@ public class RadialElectrolytic extends AbstractLeadedComponent<Capacitance> {
this.value = value;
}
@EditableProperty
@Deprecated
public Voltage getVoltage() {
return voltage;
}
@Deprecated
public void setVoltage(Voltage voltage) {
this.voltage = voltage;
}
@EditableProperty(name = "Voltage")
public org.diylc.core.measures.Voltage getVoltageNew() {
// Backward comptibility
if (voltageNew == null) {
voltageNew = voltage.convertToNewFormat();
voltage = null;
// Clear old value, don't need it anymore
}
return voltageNew;
}
public void setVoltageNew(org.diylc.core.measures.Voltage voltageNew) {
this.voltageNew = voltageNew;
}
public void drawIcon(Graphics2D g2d, int width, int height) {
g2d.setColor(BODY_COLOR);
int margin = 3;
@@ -14,6 +14,7 @@ import org.diylc.core.measures.Capacitance;
import org.diylc.core.measures.CapacitanceUnit;
import org.diylc.core.measures.Size;
import org.diylc.core.measures.SizeUnit;
import org.diylc.core.measures.VoltageUnit;
@ComponentDescriptor(name = "Film Capacitor (radial)", author = "Branislav Stojkovic", category = "Passive", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "C", description = "Radial film capacitor, similar to Sprague Orange Drop", zOrder = IDIYComponent.COMPONENT)
public class RadialFilmCapacitor extends AbstractLeadedComponent<Capacitance> {
@@ -26,7 +27,10 @@ public class RadialFilmCapacitor extends AbstractLeadedComponent<Capacitance> {
public static Color BORDER_COLOR = BODY_COLOR.darker();
private Capacitance value = new Capacitance(123d, CapacitanceUnit.nF);
@Deprecated
private Voltage voltage = Voltage._63V;
private org.diylc.core.measures.Voltage voltageNew = new org.diylc.core.measures.Voltage(63d,
VoltageUnit.V);
public RadialFilmCapacitor() {
super();
@@ -43,15 +47,30 @@ public class RadialFilmCapacitor extends AbstractLeadedComponent<Capacitance> {
this.value = value;
}
@EditableProperty
@Deprecated
public Voltage getVoltage() {
return voltage;
}
@Deprecated
public void setVoltage(Voltage voltage) {
this.voltage = voltage;
}
@EditableProperty(name = "Voltage")
public org.diylc.core.measures.Voltage getVoltageNew() {
// Backward comptibility
if (voltageNew == null) {
voltageNew = voltage.convertToNewFormat();
voltage = null;
// Clear old value, don't need it anymore
}
return voltageNew;
}
public void setVoltageNew(org.diylc.core.measures.Voltage voltageNew) {
this.voltageNew = voltageNew;
}
public void drawIcon(Graphics2D g2d, int width, int height) {
g2d.rotate(-Math.PI / 4, width / 2, height / 2);
@@ -13,6 +13,7 @@ import org.diylc.core.IDIYComponent;
import org.diylc.core.annotations.ComponentDescriptor;
import org.diylc.core.annotations.EditableProperty;
import org.diylc.core.annotations.PositiveMeasureValidator;
import org.diylc.core.measures.PowerUnit;
import org.diylc.core.measures.Resistance;
import org.diylc.core.measures.ResistanceUnit;
import org.diylc.core.measures.Size;
@@ -31,7 +32,10 @@ public class Resistor extends AbstractLeadedComponent<Resistance> {
public static int FIRST_BAND = 4;
private Resistance value = new Resistance(123d, ResistanceUnit.K);
@Deprecated
private Power power = Power.HALF;
private org.diylc.core.measures.Power powerNew = new org.diylc.core.measures.Power(0.5,
PowerUnit.W);
private ResistorColorCode colorCode = ResistorColorCode._5_BAND;
public Resistor() {
@@ -54,15 +58,31 @@ public class Resistor extends AbstractLeadedComponent<Resistance> {
this.value = value;
}
@EditableProperty
@Deprecated
public Power getPower() {
return power;
}
@Deprecated
public void setPower(Power power) {
this.power = power;
}
@EditableProperty(name = "Power rating")
public org.diylc.core.measures.Power getPowerNew() {
// Backward compatibility
if (powerNew == null) {
powerNew = power.convertToNewFormat();
// Clear old value, don't need it anymore
power = null;
}
return powerNew;
}
public void setPowerNew(org.diylc.core.measures.Power powerNew) {
this.powerNew = powerNew;
}
public void drawIcon(Graphics2D g2d, int width, int height) {
g2d.rotate(-Math.PI / 4, width / 2, height / 2);
g2d.setColor(LEAD_COLOR);
@@ -9,6 +9,7 @@ import org.diylc.core.CreationMethod;
import org.diylc.core.IDIYComponent;
import org.diylc.core.annotations.ComponentDescriptor;
import org.diylc.core.annotations.EditableProperty;
import org.diylc.core.measures.PowerUnit;
import org.diylc.core.measures.Resistance;
import org.diylc.core.measures.ResistanceUnit;
import org.diylc.core.measures.Size;
@@ -23,7 +24,10 @@ public class ResistorSymbol extends AbstractSchematicLeadedSymbol<Resistance> {
public static Size DEFAULT_WIDTH = new Size(0.08, SizeUnit.in);
private Resistance value = new Resistance(100d, ResistanceUnit.K);
@Deprecated
private Power power = Power.HALF;
private org.diylc.core.measures.Power powerNew = new org.diylc.core.measures.Power(0.5,
PowerUnit.W);
@EditableProperty
public Resistance getValue() {
@@ -34,15 +38,32 @@ public class ResistorSymbol extends AbstractSchematicLeadedSymbol<Resistance> {
this.value = value;
}
@EditableProperty
@Deprecated
public Power getPower() {
return power;
}
@Deprecated
public void setPower(Power power) {
this.power = power;
}
@EditableProperty(name = "Power rating")
public org.diylc.core.measures.Power getPowerNew() {
// Backward compatibility
if (powerNew == null) {
powerNew = power.convertToNewFormat();
// Clear old value, don't need it anymore
power = null;
}
return powerNew;
}
public void setPowerNew(org.diylc.core.measures.Power powerNew) {
this.powerNew = powerNew;
}
public void drawIcon(Graphics2D g2d, int width, int height) {
g2d.rotate(-Math.PI / 4, width / 2, height / 2);
g2d.setColor(LEAD_COLOR);
@@ -1,5 +1,7 @@
package org.diylc.components.passive;
import org.diylc.core.measures.VoltageUnit;
public enum Voltage {
_16V, _25V, _63V, _100V, _160V, _250V, _300V, _350V, _400V, _500V, _630V, _1KV;
@@ -8,4 +10,49 @@ public enum Voltage {
public String toString() {
return name().replace("_", "");
}
public org.diylc.core.measures.Voltage convertToNewFormat() {
org.diylc.core.measures.Voltage voltageNew;
switch (this) {
case _100V:
voltageNew = new org.diylc.core.measures.Voltage(100d, VoltageUnit.V);
break;
case _160V:
voltageNew = new org.diylc.core.measures.Voltage(160d, VoltageUnit.V);
break;
case _16V:
voltageNew = new org.diylc.core.measures.Voltage(16d, VoltageUnit.V);
break;
case _1KV:
voltageNew = new org.diylc.core.measures.Voltage(1d, VoltageUnit.KV);
break;
case _250V:
voltageNew = new org.diylc.core.measures.Voltage(250d, VoltageUnit.V);
break;
case _25V:
voltageNew = new org.diylc.core.measures.Voltage(25d, VoltageUnit.V);
break;
case _300V:
voltageNew = new org.diylc.core.measures.Voltage(300d, VoltageUnit.V);
break;
case _350V:
voltageNew = new org.diylc.core.measures.Voltage(350d, VoltageUnit.V);
break;
case _400V:
voltageNew = new org.diylc.core.measures.Voltage(400d, VoltageUnit.V);
break;
case _500V:
voltageNew = new org.diylc.core.measures.Voltage(500d, VoltageUnit.V);
break;
case _630V:
voltageNew = new org.diylc.core.measures.Voltage(630d, VoltageUnit.V);
break;
case _63V:
voltageNew = new org.diylc.core.measures.Voltage(63d, VoltageUnit.V);
break;
default:
voltageNew = new org.diylc.core.measures.Voltage(100d, VoltageUnit.V);
}
return voltageNew;
}
}
@@ -446,6 +446,10 @@
<changeType>IMPROVEMENT</changeType>
<description>Allow finer grid spacing up to 0.5mm (0.02")</description>
</com.diyfever.gui.update.Change>
<com.diyfever.gui.update.Change>
<changeType>IMPROVEMENT</changeType>
<description>Do not hard-code voltage and power ratings</description>
</com.diyfever.gui.update.Change>
</changes>
<url>http://code.google.com/p/diy-layout-creator/downloads/list</url>
</com.diyfever.gui.update.Version>