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