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);