diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-library/lib/diylc-core.jar b/ diy-layout-creator --username bancika@gmail.com/diylc-library/lib/diylc-core.jar index 179365a8..b66f5d78 100644 Binary files a/ diy-layout-creator --username bancika@gmail.com/diylc-library/lib/diylc-core.jar and b/ diy-layout-creator --username bancika@gmail.com/diylc-library/lib/diylc-core.jar differ diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/AbstractPotentiometer.java b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/AbstractPotentiometer.java index ae8bbfc4..8291fe56 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/AbstractPotentiometer.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/AbstractPotentiometer.java @@ -7,7 +7,6 @@ import org.diylc.components.AbstractTransparentComponent; import org.diylc.core.VisibilityPolicy; import org.diylc.core.annotations.EditableProperty; import org.diylc.core.measures.Resistance; -import org.diylc.core.measures.ResistanceUnit; public abstract class AbstractPotentiometer extends AbstractTransparentComponent { @@ -16,7 +15,7 @@ public abstract class AbstractPotentiometer extends protected Point[] controlPoints; - protected Resistance resistance = new Resistance(100d, ResistanceUnit.K); + protected Resistance resistance = null; protected Orientation orientation = Orientation.DEFAULT; protected Taper taper = Taper.LIN; @@ -44,10 +43,11 @@ public abstract class AbstractPotentiometer extends public boolean isControlPointSticky(int index) { return true; } - + @Override public String getValueForDisplay() { - return resistance.toString() + " " + taper.toString(); + return (resistance == null ? "" : resistance.toString()) + " " + + taper.toString(); } @EditableProperty diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/AxialElectrolyticCapacitor.java b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/AxialElectrolyticCapacitor.java index 733866ea..a857e2d7 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/AxialElectrolyticCapacitor.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/AxialElectrolyticCapacitor.java @@ -15,14 +15,13 @@ import org.diylc.core.Theme; import org.diylc.core.annotations.ComponentDescriptor; import org.diylc.core.annotations.EditableProperty; 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) -public class AxialElectrolyticCapacitor extends AbstractLeadedComponent { +public class AxialElectrolyticCapacitor extends + AbstractLeadedComponent { private static final long serialVersionUID = 1L; @@ -33,11 +32,10 @@ public class AxialElectrolyticCapacitor extends AbstractLeadedComponent { @@ -26,18 +24,17 @@ public class AxialFilmCapacitor extends AbstractLeadedComponent { public static Color BODY_COLOR = Color.decode("#FFE303"); public static Color BORDER_COLOR = BODY_COLOR.darker(); - private Capacitance value = new Capacitance(22d, CapacitanceUnit.nF); + private Capacitance value = null; @Deprecated private Voltage voltage = Voltage._63V; - private org.diylc.core.measures.Voltage voltageNew = new org.diylc.core.measures.Voltage(63d, - VoltageUnit.V); + private org.diylc.core.measures.Voltage voltageNew = null; public AxialFilmCapacitor() { super(); this.bodyColor = BODY_COLOR; this.borderColor = BORDER_COLOR; } - + @Override protected boolean supportsStandingMode() { return true; @@ -51,7 +48,7 @@ public class AxialFilmCapacitor extends AbstractLeadedComponent { public void setValue(Capacitance value) { this.value = value; } - + @Deprecated public Voltage getVoltage() { return voltage; @@ -61,7 +58,7 @@ public class AxialFilmCapacitor extends AbstractLeadedComponent { public void setVoltage(Voltage voltage) { this.voltage = voltage; } - + @Override public String getValueForDisplay() { return getValue().toString() + " " + getVoltageNew().toString(); @@ -69,12 +66,6 @@ public class AxialFilmCapacitor extends AbstractLeadedComponent { @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; } diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/CapacitorSymbol.java b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/CapacitorSymbol.java index 7c7f6d2f..e9fa6721 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/CapacitorSymbol.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/CapacitorSymbol.java @@ -10,10 +10,8 @@ import org.diylc.core.IDIYComponent; import org.diylc.core.annotations.ComponentDescriptor; import org.diylc.core.annotations.EditableProperty; 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 { @@ -23,11 +21,10 @@ public class CapacitorSymbol extends AbstractSchematicLeadedSymbol public static Size DEFAULT_LENGTH = new Size(0.05, SizeUnit.in); public static Size DEFAULT_WIDTH = new Size(0.15, SizeUnit.in); - private Capacitance value = new Capacitance(22d, CapacitanceUnit.nF); + private Capacitance value = null; @Deprecated private Voltage voltage = Voltage._63V; - private org.diylc.core.measures.Voltage voltageNew = new org.diylc.core.measures.Voltage(63d, - VoltageUnit.V); + private org.diylc.core.measures.Voltage voltageNew = null; private boolean polarized = false; @EditableProperty @@ -38,7 +35,7 @@ public class CapacitorSymbol extends AbstractSchematicLeadedSymbol public void setValue(Capacitance value) { this.value = value; } - + @Override public String getValueForDisplay() { return getValue().toString() + " " + getVoltageNew().toString(); @@ -56,12 +53,6 @@ public class CapacitorSymbol extends AbstractSchematicLeadedSymbol @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; } diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/InductorSymbol.java b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/InductorSymbol.java new file mode 100644 index 00000000..166476cd --- /dev/null +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/InductorSymbol.java @@ -0,0 +1,130 @@ +package org.diylc.components.passive; + +import java.awt.Graphics2D; +import java.awt.Shape; +import java.awt.geom.GeneralPath; + +import org.diylc.components.AbstractSchematicLeadedSymbol; +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.Current; +import org.diylc.core.measures.Inductance; +import org.diylc.core.measures.Resistance; +import org.diylc.core.measures.Size; +import org.diylc.core.measures.SizeUnit; + +@ComponentDescriptor(name = "Inductor (schematic symbol)", author = "Branislav Stojkovic", category = "Passive", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "L", description = "Inductor schematic symbol", zOrder = IDIYComponent.COMPONENT) +public class InductorSymbol extends AbstractSchematicLeadedSymbol { + + private static final long serialVersionUID = 1L; + + public static Size DEFAULT_LENGTH = new Size(0.3, SizeUnit.in); + public static Size DEFAULT_WIDTH = new Size(0.08, SizeUnit.in); + + private Inductance value = null; + private Current current = null; + private Resistance resistance = null; + private boolean core = false; + + @EditableProperty + public Inductance getValue() { + return value; + } + + public void setValue(Inductance value) { + this.value = value; + } + + @EditableProperty + public Current getCurrent() { + return current; + } + + public void setCurrent(Current current) { + this.current = current; + } + + @EditableProperty + public Resistance getResistance() { + return resistance; + } + + public void setResistance(Resistance resistance) { + this.resistance = resistance; + } + + @Override + public String getValueForDisplay() { + return getValue().toString() + " " + getCurrent().toString(); + } + + public void drawIcon(Graphics2D g2d, int width, int height) { + g2d.rotate(-Math.PI / 4, width / 2, height / 2); + g2d.setColor(LEAD_COLOR); + g2d.drawLine(0, height / 2, width / 8, height / 2); + g2d.drawLine(width * 7 / 8, height / 2, width, height / 2); + g2d.setColor(COLOR); + + GeneralPath polyline = new GeneralPath(); + polyline.moveTo(width / 8, height / 2); + polyline.curveTo(width / 8, height / 4, width * 3 / 8, height / 4, + width * 3 / 8, height / 2); + polyline.curveTo(width * 3 / 8, height / 4, width * 5 / 8, height / 4, + width * 5 / 8, height / 2); + polyline.curveTo(width * 5 / 8, height / 4, width * 7 / 8, height / 4, + width * 7 / 8, height / 2); + + polyline.moveTo(width / 8, height * 6 / 10); + polyline.lineTo(width * 7 / 8, height * 6 / 10); + polyline.moveTo(width / 8, height * 7 / 10); + polyline.lineTo(width * 7 / 8, height * 7 / 10); + g2d.draw(polyline); + } + + @Override + protected Size getDefaultWidth() { + return DEFAULT_WIDTH; + } + + @Override + protected Size getDefaultLength() { + return DEFAULT_LENGTH; + } + + @Override + protected Shape getBodyShape() { + GeneralPath polyline = new GeneralPath(); + double length = getLength().convertToPixels(); + double width = getWidth().convertToPixels(); + double d = length / 10; + polyline.moveTo(0, width / 2); + polyline.curveTo(0, 0, 2 * d, 0, 2 * d, width / 2); + polyline.curveTo(2 * d, 0, 4 * d, 0, 4 * d, width / 2); + polyline.curveTo(4 * d, 0, 6 * d, 0, 6 * d, width / 2); + polyline.curveTo(6 * d, 0, 8 * d, 0, 8 * d, width / 2); + polyline.curveTo(8 * d, 0, 10 * d, 0, 10 * d, width / 2); + if (core) { + polyline.moveTo(0, width * 3 / 4); + polyline.lineTo(length, width * 3 / 4); + polyline.moveTo(0, width * 7 / 8); + polyline.lineTo(length, width * 7 / 8); + } + return polyline; + } + + @Override + protected boolean useShapeRectAsPosition() { + return false; + } + + @EditableProperty + public boolean getCore() { + return core; + } + + public void setCore(boolean core) { + this.core = core; + } +} diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/RadialCeramicDiskCapacitor.java b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/RadialCeramicDiskCapacitor.java index 3041da50..fd611182 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/RadialCeramicDiskCapacitor.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/RadialCeramicDiskCapacitor.java @@ -11,10 +11,8 @@ import org.diylc.core.IDIYComponent; import org.diylc.core.annotations.ComponentDescriptor; import org.diylc.core.annotations.EditableProperty; 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 = "Ceramic Capacitor (radial)", author = "Branislav Stojkovic", category = "Passive", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "C", description = "Standard radial ceramic capacitor", zOrder = IDIYComponent.COMPONENT) public class RadialCeramicDiskCapacitor extends AbstractRadialComponent { @@ -26,11 +24,10 @@ public class RadialCeramicDiskCapacitor extends AbstractRadialComponent { public static Size HEIGHT = new Size(0.4d, SizeUnit.in); public static Size EDGE_RADIUS = new Size(1d, SizeUnit.mm); - private Capacitance value = new Capacitance(1d, CapacitanceUnit.uF); + private Capacitance value = null; @Deprecated private Voltage voltage = Voltage._63V; - private org.diylc.core.measures.Voltage voltageNew = new org.diylc.core.measures.Voltage( - 63d, VoltageUnit.V); + private org.diylc.core.measures.Voltage voltageNew = null; private Color markerColor = MARKER_COLOR; private Color tickColor = TICK_COLOR; @@ -82,12 +79,6 @@ public class RadialElectrolytic extends AbstractRadialComponent { @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; } diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/RadialFilmCapacitor.java b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/RadialFilmCapacitor.java index 97a1f3c9..e227d25c 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/RadialFilmCapacitor.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/RadialFilmCapacitor.java @@ -11,10 +11,8 @@ import org.diylc.core.IDIYComponent; import org.diylc.core.annotations.ComponentDescriptor; import org.diylc.core.annotations.EditableProperty; 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 AbstractRadialComponent { @@ -26,11 +24,10 @@ public class RadialFilmCapacitor extends AbstractRadialComponent { public static Color BODY_COLOR = Color.decode("#FF8000"); public static Color BORDER_COLOR = BODY_COLOR.darker(); - private Capacitance value = new Capacitance(123d, CapacitanceUnit.nF); + private Capacitance value = null; @Deprecated private Voltage voltage = Voltage._63V; - private org.diylc.core.measures.Voltage voltageNew = new org.diylc.core.measures.Voltage( - 63d, VoltageUnit.V); + private org.diylc.core.measures.Voltage voltageNew = null; public RadialFilmCapacitor() { super(); @@ -64,12 +61,6 @@ public class RadialFilmCapacitor extends AbstractRadialComponent { @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; } diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/Resistor.java b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/Resistor.java index b9d3feab..e9f56b05 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/Resistor.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/Resistor.java @@ -13,13 +13,11 @@ 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; import org.diylc.core.measures.SizeUnit; -@ComponentDescriptor(name = "Resistor", author = "Branislav Stojkovic", category = "Passive", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "R", description = "", zOrder = IDIYComponent.COMPONENT) +@ComponentDescriptor(name = "Resistor", author = "Branislav Stojkovic", category = "Passive", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "R", description = "Resistor layout symbol", zOrder = IDIYComponent.COMPONENT) public class Resistor extends AbstractLeadedComponent { private static final long serialVersionUID = 1L; @@ -31,11 +29,10 @@ public class Resistor extends AbstractLeadedComponent { public static int BAND_SPACING = 5; public static int FIRST_BAND = 4; - private Resistance value = new Resistance(100d, ResistanceUnit.K); + private Resistance value = null; @Deprecated private Power power = Power.HALF; - private org.diylc.core.measures.Power powerNew = new org.diylc.core.measures.Power(0.5, - PowerUnit.W); + private org.diylc.core.measures.Power powerNew = null; private ResistorColorCode colorCode = ResistorColorCode._5_BAND; public Resistor() { @@ -75,12 +72,6 @@ public class Resistor extends AbstractLeadedComponent { @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; } @@ -131,8 +122,8 @@ public class Resistor extends AbstractLeadedComponent { @Override protected void decorateComponentBody(Graphics2D g2d, boolean outlineMode) { - // int width = getWidth().convertToPixels(); - if (colorCode == ResistorColorCode.NONE || outlineMode) { + // int width = getWidth().convertToPixels(); + if (colorCode == ResistorColorCode.NONE || outlineMode || value == null) { return; } int height = getClosestOdd(getWidth().convertToPixels()); @@ -148,6 +139,8 @@ public class Resistor extends AbstractLeadedComponent { @Override protected int getLabelOffset(int bodyWidth, int labelWidth) { + if (value == null) + return 0; Color[] bands = value.getColorCode(colorCode); int bandArea = FIRST_BAND + BAND_SPACING * (bands.length - 1); // Only offset the label if overlaping with the band area. diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/ResistorSymbol.java b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/ResistorSymbol.java index 0e4eefec..6b3aa1f0 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/ResistorSymbol.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-library/src/org/diylc/components/passive/ResistorSymbol.java @@ -11,7 +11,6 @@ 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; import org.diylc.core.measures.SizeUnit; @@ -23,7 +22,7 @@ public class ResistorSymbol extends AbstractSchematicLeadedSymbol { public static Size DEFAULT_LENGTH = new Size(0.3, SizeUnit.in); public static Size DEFAULT_WIDTH = new Size(0.08, SizeUnit.in); - private Resistance value = new Resistance(100d, ResistanceUnit.K); + private Resistance value = null; @Deprecated private Power power = Power.HALF; private org.diylc.core.measures.Power powerNew = new org.diylc.core.measures.Power(0.5,