diff --git a/diylc/diylc-core/src/org/diylc/presenter/update.xml b/diylc/diylc-core/src/org/diylc/presenter/update.xml
index 43cad1db..58c915af 100644
--- a/diylc/diylc-core/src/org/diylc/presenter/update.xml
+++ b/diylc/diylc-core/src/org/diylc/presenter/update.xml
@@ -3032,6 +3032,22 @@
https://github.com/bancika/diy-layout-creator/releases
+
+
+
+ 4
+ 6
+ 0
+
+ 2020-04-20 00:00:00.000 CET
+
+
+
+ BUG_FIX
+ Component leads on resistors, capacitors, etc disappear when they are very short
+
+
+ https://github.com/bancika/diy-layout-creator/releases
diff --git a/diylc/diylc-library/lib/diylc-core.jar b/diylc/diylc-library/lib/diylc-core.jar
index 7c471980..4f1f19c9 100644
Binary files a/diylc/diylc-library/lib/diylc-core.jar and b/diylc/diylc-library/lib/diylc-core.jar differ
diff --git a/diylc/diylc-library/src/org/diylc/components/AbstractLeadedComponent.java b/diylc/diylc-library/src/org/diylc/components/AbstractLeadedComponent.java
index e21888a8..a7115119 100644
--- a/diylc/diylc-library/src/org/diylc/components/AbstractLeadedComponent.java
+++ b/diylc/diylc-library/src/org/diylc/components/AbstractLeadedComponent.java
@@ -87,6 +87,8 @@ public abstract class AbstractLeadedComponent extends AbstractTransparentComp
// parameters for adjusting the label control point
protected transient Double gamma = null;
protected transient Double r = null;
+
+ private Boolean hideShortLeads = false;
protected AbstractLeadedComponent() {
super();
@@ -205,7 +207,7 @@ public abstract class AbstractLeadedComponent extends AbstractTransparentComp
double leadLength = (distance - calculatePinSpacing(shapeRect)) / 2;
// only draw leads longer than threshold
- if (leadLength > LEAD_RENDER_THRESHOLD) {
+ if (leadLength > LEAD_RENDER_THRESHOLD || !getHideShortLeads()) {
if (shouldShadeLeads()) {
Stroke leadStroke = ObjectCache.getInstance().fetchBasicStroke(leadThickness - 1);
Color leadColor = getLeadColorForPainting(componentState);
@@ -716,6 +718,17 @@ public abstract class AbstractLeadedComponent extends AbstractTransparentComp
return new Rectangle2D.Double(minX - margin, minY - margin, maxX - minX + 2 * margin, maxY - minY + 2 * margin);
}
+
+ // for internal use. Set this flag to true when replacing standard leads with flexible ones
+ public Boolean getHideShortLeads() {
+ if (hideShortLeads == null)
+ hideShortLeads = false;
+ return hideShortLeads;
+ }
+
+ public void setHideShortLeads(Boolean hideShortLeads) {
+ this.hideShortLeads = hideShortLeads;
+ }
public enum LabelOriantation {
Directional, Horizontal
diff --git a/diylc/diylc-library/src/org/diylc/editor/FlexibleLeadsEditor.java b/diylc/diylc-library/src/org/diylc/editor/FlexibleLeadsEditor.java
index 03fd10bb..7dc8b04d 100644
--- a/diylc/diylc-library/src/org/diylc/editor/FlexibleLeadsEditor.java
+++ b/diylc/diylc-library/src/org/diylc/editor/FlexibleLeadsEditor.java
@@ -74,6 +74,9 @@ public class FlexibleLeadsEditor implements IProjectEditor {
Point newP2 = new Point((int)Math.round(centerX + Math.cos(theta) * len / 2), (int)Math.round(centerY + Math.sin(theta) * len / 2));
leaded.setControlPoint(newP1, 0);
leaded.setControlPoint(newP2, 1);
+
+ // make the standard leads go away
+ leaded.setHideShortLeads(true);
// create leads
HookupWire w1 = new HookupWire();
diff --git a/diylc/diylc-swing/lib/diylc-core.jar b/diylc/diylc-swing/lib/diylc-core.jar
index 38d1e3a2..4f1f19c9 100644
Binary files a/diylc/diylc-swing/lib/diylc-core.jar and b/diylc/diylc-swing/lib/diylc-core.jar differ
diff --git a/diylc/diylc-swing/library/main.jar b/diylc/diylc-swing/library/main.jar
index 7456a898..008784c5 100644
Binary files a/diylc/diylc-swing/library/main.jar and b/diylc/diylc-swing/library/main.jar differ