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