diff --git a/diylc/diylc-core/src/main/resources/update.xml b/diylc/diylc-core/src/main/resources/update.xml index ce498c84..9a569409 100644 --- a/diylc/diylc-core/src/main/resources/update.xml +++ b/diylc/diylc-core/src/main/resources/update.xml @@ -369,6 +369,10 @@ 2026-07-30 00:00:00.000 CET + + NEW_FEATURE + Added two new view perspectives to Potentiometer component - Terminals Up and Terminals down + NEW_FEATURE Use either username of email to log into DIYLC cloud @@ -377,6 +381,10 @@ IMPROVEMENT Improved comparison logic of the 'Compare With..' tool + + IMPROVEMENT + Align Potentiometer 1-2-3 markings with circuit analysis node labels; it used to be mixed up in some cases + https://github.com/bancika/diy-layout-creator/releases diff --git a/diylc/diylc-library/src/main/java/org/diylc/components/passive/PotentiometerPanel.java b/diylc/diylc-library/src/main/java/org/diylc/components/passive/PotentiometerPanel.java index 9052ce02..8cdb1850 100644 --- a/diylc/diylc-library/src/main/java/org/diylc/components/passive/PotentiometerPanel.java +++ b/diylc/diylc-library/src/main/java/org/diylc/components/passive/PotentiometerPanel.java @@ -516,7 +516,6 @@ public class PotentiometerPanel extends AbstractPotentiometer implements ILayere double markerOffset = MARKER_OFFSET.convertToPixels() + 5; for (int i = 0; i < 3; i++) { Point2D lugPoint = controlPoints[i]; - int markerNumber = i + 1; double mx = lugPoint.getX(); double my = lugPoint.getY(); @@ -530,7 +529,7 @@ public class PotentiometerPanel extends AbstractPotentiometer implements ILayere my += (dy / dist) * markerOffset; } - StringUtils.drawCenteredText(g2d, Integer.toString(markerNumber), mx, my, + StringUtils.drawCenteredText(g2d, getControlPointNodeName(i), mx, my, HorizontalAlignment.CENTER, VerticalAlignment.CENTER); } } else { @@ -545,8 +544,6 @@ public class PotentiometerPanel extends AbstractPotentiometer implements ILayere double markerDistance = radius - markerOffset; // Draw markers "1", "2", "3" along radial line from center to each lug, close to circle edge - // Reverse numbering when view is ShaftDown - boolean reverseOrder = getView() == View.ShaftDown; for (int i = 0; i < 3; i++) { Point2D lugPoint = controlPoints[i]; @@ -565,10 +562,7 @@ public class PotentiometerPanel extends AbstractPotentiometer implements ILayere double markerX = centerX + unitX * markerDistance; double markerY = centerY + unitY * markerDistance; - // Determine marker number based on view - int markerNumber = reverseOrder ? (3 - i) : (i + 1); - - StringUtils.drawCenteredText(g2d, Integer.toString(markerNumber), markerX, markerY, + StringUtils.drawCenteredText(g2d, getControlPointNodeName(i), markerX, markerY, HorizontalAlignment.CENTER, VerticalAlignment.CENTER); } } @@ -769,14 +763,22 @@ public class PotentiometerPanel extends AbstractPotentiometer implements ILayere this.bodyDepth = bodyDepth; body = null; } - + + @Override + public String getControlPointNodeName(int index) { + if (getView() == View.ShaftUp || getView() == View.TerminalsUp) { + return Integer.toString(index + 1); + } + return Integer.toString(3 - index); + } + @Override public String getInternalLinkName(int index1, int index2) { if (index1 > index2) return getInternalLinkName(index2, index1); if (index2 - index1 == 1) - return (index1 + 1) + "-" + (index2 + 1); + return getControlPointNodeName(index1) + "-" + getControlPointNodeName(index2); return null; }