diff --git a/diylc/diylc-core/src/org/diylc/presenter/update.xml b/diylc/diylc-core/src/org/diylc/presenter/update.xml index 6c5dad82..63beabbc 100644 --- a/diylc/diylc-core/src/org/diylc/presenter/update.xml +++ b/diylc/diylc-core/src/org/diylc/presenter/update.xml @@ -3001,7 +3001,11 @@ NEW_FEATURE Added "Rotary Selector Switch" component - + + + IMPROVEMENT + Standardize how folded transistors are displayed - updated TO-92 and TO-1 packages + https://github.com/bancika/diy-layout-creator/releases diff --git a/diylc/diylc-library/src/org/diylc/components/semiconductors/TransistorTO1.java b/diylc/diylc-library/src/org/diylc/components/semiconductors/TransistorTO1.java index d3842785..68c41881 100644 --- a/diylc/diylc-library/src/org/diylc/components/semiconductors/TransistorTO1.java +++ b/diylc/diylc-library/src/org/diylc/components/semiconductors/TransistorTO1.java @@ -67,8 +67,7 @@ public class TransistorTO1 extends AbstractTransistorPackage { public static Size BODY_DIAMETER = new Size(0.24d, SizeUnit.in); public static Size BODY_LENGTH = new Size(0.4d, SizeUnit.in); public static Size EDGE_RADIUS = new Size(2d, SizeUnit.mm); - - private boolean folded = false; + private Size pinSpacing = PIN_SPACING; public TransistorTO1() { @@ -120,31 +119,32 @@ public class TransistorTO1 extends AbstractTransistorPackage { if (folded) { switch (orientation) { case DEFAULT: - newBody = - new Area(new RoundRectangle2D.Double(x - bodyLength, y - bodyDiameter / 2, bodyLength, bodyDiameter, - edgeRadius, edgeRadius)); - newBody.add(new Area(new Rectangle2D.Double(x - bodyLength / 2, y - bodyDiameter / 2, bodyLength / 2, - bodyDiameter))); - break; - case _90: - newBody = - new Area(new RoundRectangle2D.Double(x - bodyDiameter / 2, y - bodyLength, bodyDiameter, bodyLength, - edgeRadius, edgeRadius)); - newBody.add(new Area(new Rectangle2D.Double(x - bodyDiameter / 2, y - bodyLength / 2, bodyDiameter, - bodyLength / 2))); - break; - case _180: - newBody = - new Area(new RoundRectangle2D.Double(x, y - bodyDiameter / 2, bodyLength, bodyDiameter, edgeRadius, - edgeRadius)); + newBody = + new Area(new RoundRectangle2D.Double(x, y - bodyDiameter / 2, bodyLength, bodyDiameter, edgeRadius, + edgeRadius)); newBody.add(new Area(new Rectangle2D.Double(x, y - bodyDiameter / 2, bodyLength / 2, bodyDiameter))); break; - case _270: - newBody = - new Area(new RoundRectangle2D.Double(x - bodyDiameter / 2, y, bodyDiameter, bodyLength, edgeRadius, - edgeRadius)); + case _90: + newBody = + new Area(new RoundRectangle2D.Double(x - bodyDiameter / 2, y, bodyDiameter, bodyLength, edgeRadius, + edgeRadius)); newBody.add(new Area(new Rectangle2D.Double(x - bodyDiameter / 2, y, bodyDiameter, bodyLength / 2))); break; + case _180: + newBody = + new Area(new RoundRectangle2D.Double(x - bodyLength, y - bodyDiameter / 2, bodyLength, bodyDiameter, + edgeRadius, edgeRadius)); + newBody.add(new Area(new Rectangle2D.Double(x - bodyLength / 2, y - bodyDiameter / 2, bodyLength / 2, + bodyDiameter))); + + break; + case _270: + newBody = + new Area(new RoundRectangle2D.Double(x - bodyDiameter / 2, y - bodyLength, bodyDiameter, bodyLength, + edgeRadius, edgeRadius)); + newBody.add(new Area(new Rectangle2D.Double(x - bodyDiameter / 2, y - bodyLength / 2, bodyDiameter, + bodyLength / 2))); + break; default: throw new RuntimeException("Unexpected orientation: " + orientation); } @@ -250,18 +250,6 @@ public class TransistorTO1 extends AbstractTransistorPackage { } } - @EditableProperty - public boolean getFolded() { - return folded; - } - - public void setFolded(boolean folded) { - this.folded = folded; - updateControlPoints(); - // Reset body shape; - body = null; - } - @EditableProperty(name = "Pin spacing") public Size getPinSpacing() { return pinSpacing; diff --git a/diylc/diylc-library/src/org/diylc/components/semiconductors/TransistorTO126.java b/diylc/diylc-library/src/org/diylc/components/semiconductors/TransistorTO126.java index cd321498..f8a1c138 100644 --- a/diylc/diylc-library/src/org/diylc/components/semiconductors/TransistorTO126.java +++ b/diylc/diylc-library/src/org/diylc/components/semiconductors/TransistorTO126.java @@ -72,7 +72,6 @@ public class TransistorTO126 extends AbstractTransistorPackage { public static Size LEAD_LENGTH = new Size(3.5d, SizeUnit.mm); public static Size LEAD_THICKNESS = new Size(0.8d, SizeUnit.mm); - private boolean folded = false; private Size leadLength = LEAD_LENGTH; public TransistorTO126() { @@ -338,17 +337,6 @@ public class TransistorTO126 extends AbstractTransistorPackage { g2d.drawLine(width / 2 + bodyWidth / 3, margin + bodyHeight + 1, width / 2 + bodyWidth / 3, height - margin); } - @EditableProperty - public boolean getFolded() { - return folded; - } - - public void setFolded(boolean folded) { - this.folded = folded; - // Invalidate the body - this.body = null; - } - @EditableProperty(name = "Lead Length") public Size getLeadLength() { if (leadLength == null) { diff --git a/diylc/diylc-library/src/org/diylc/components/semiconductors/TransistorTO220.java b/diylc/diylc-library/src/org/diylc/components/semiconductors/TransistorTO220.java index 685a2e5a..641f3c16 100644 --- a/diylc/diylc-library/src/org/diylc/components/semiconductors/TransistorTO220.java +++ b/diylc/diylc-library/src/org/diylc/components/semiconductors/TransistorTO220.java @@ -77,7 +77,6 @@ public class TransistorTO220 extends AbstractTransistorPackage { private Color tabColor = TAB_COLOR; private Color tabBorderColor = TAB_BORDER_COLOR; - private boolean folded = false; private Size leadLength = LEAD_LENGTH; public TransistorTO220() { @@ -387,17 +386,6 @@ public class TransistorTO220 extends AbstractTransistorPackage { this.tabColor = tabColor; } - @EditableProperty - public boolean getFolded() { - return folded; - } - - public void setFolded(boolean folded) { - this.folded = folded; - // Invalidate the body - this.body = null; - } - @EditableProperty(name = "Lead Length") public Size getLeadLength() { if (leadLength == null) { diff --git a/diylc/diylc-library/src/org/diylc/components/semiconductors/TransistorTO92.java b/diylc/diylc-library/src/org/diylc/components/semiconductors/TransistorTO92.java index ea89a455..72c94916 100644 --- a/diylc/diylc-library/src/org/diylc/components/semiconductors/TransistorTO92.java +++ b/diylc/diylc-library/src/org/diylc/components/semiconductors/TransistorTO92.java @@ -66,7 +66,6 @@ public class TransistorTO92 extends AbstractTransistorPackage { public static Size PIN_SPACING = new Size(0.05d, SizeUnit.in); public static Size BODY_DIAMETER = new Size(0.2d, SizeUnit.in); - private boolean folded = false; private Size pinSpacing = PIN_SPACING; public TransistorTO92() { @@ -77,17 +76,6 @@ public class TransistorTO92 extends AbstractTransistorPackage { borderColor = BORDER_COLOR; } - @EditableProperty - public boolean getFolded() { - return folded; - } - - public void setFolded(boolean folded) { - this.folded = folded; - // Reset body shape; - body = null; - } - @EditableProperty(name = "Pin spacing") public Size getPinSpacing() { if (pinSpacing == null) { @@ -141,17 +129,17 @@ public class TransistorTO92 extends AbstractTransistorPackage { if (folded) { switch (orientation) { - case DEFAULT: - newBody = new Area(new Rectangle2D.Double(x - bodyDiameter, y - bodyDiameter / 2, bodyDiameter, bodyDiameter)); + case DEFAULT: + newBody = new Area(new Rectangle2D.Double(x, y - bodyDiameter / 2, bodyDiameter, bodyDiameter)); break; - case _90: - newBody = new Area(new Rectangle2D.Double(x - bodyDiameter / 2, y - bodyDiameter, bodyDiameter, bodyDiameter)); + case _90: + newBody = new Area(new Rectangle2D.Double(x - bodyDiameter / 2, y, bodyDiameter, bodyDiameter)); break; case _180: - newBody = new Area(new Rectangle2D.Double(x, y - bodyDiameter / 2, bodyDiameter, bodyDiameter)); + newBody = new Area(new Rectangle2D.Double(x - bodyDiameter, y - bodyDiameter / 2, bodyDiameter, bodyDiameter)); break; - case _270: - newBody = new Area(new Rectangle2D.Double(x - bodyDiameter / 2, y, bodyDiameter, bodyDiameter)); + case _270: + newBody = new Area(new Rectangle2D.Double(x - bodyDiameter / 2, y - bodyDiameter, bodyDiameter, bodyDiameter)); break; default: throw new RuntimeException("Unexpected orientation: " + orientation);