Angle editor added

This commit is contained in:
Bane Stojkovic
2022-09-25 14:06:08 +02:00
parent d2adb49ccf
commit 3b12788eff
10 changed files with 432 additions and 191 deletions
@@ -0,0 +1,52 @@
package org.diylc.core;
import java.util.HashMap;
import java.util.Map;
public class Angle {
private int value;
private Angle(int value) {
super();
this.value = value;
}
public int getValue() {
return value;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + value;
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Angle other = (Angle) obj;
if (value != other.value)
return false;
return true;
}
@Override
public String toString() {
return Integer.toString(value);
}
private static Map<Integer, Angle> valueCache = new HashMap<Integer, Angle>();
public synchronized static Angle of(int angle) {
valueCache.computeIfAbsent(angle, (value) -> new Angle(value));
return valueCache.get(angle);
}
}
@@ -3937,5 +3937,33 @@
</changes>
<url>https://github.com/bancika/diy-layout-creator/releases</url>
</org.diylc.appframework.update.Version>
<org.diylc.appframework.update.Version>
<versionNumber>
<major>4</major>
<minor>28</minor>
<build>0</build>
</versionNumber>
<releaseDate>2022-09-25 00:00:00.000 CET</releaseDate>
<name></name>
<changes>
<org.diylc.appframework.update.Change>
<changeType>NEW_FEATURE</changeType>
<description>Added '4-pin Jumbo Tube Socket' component for 211, 805 and 845 tubes</description>
</org.diylc.appframework.update.Change>
<org.diylc.appframework.update.Change>
<changeType>IMPROVEMENT</changeType>
<description>More convenient way of editing angle of rotation of all tube sockets</description>
</org.diylc.appframework.update.Change>
<org.diylc.appframework.update.Change>
<changeType>IMPROVEMENT</changeType>
<description>Ability to rotate all tube sockets through the 'Transform Selection' feature or keyboard shortcut</description>
</org.diylc.appframework.update.Change>
<org.diylc.appframework.update.Change>
<changeType>BUG_FIX</changeType>
<description>Tube socket pin designations are not rendered until property editor dialog is opened and closed</description>
</org.diylc.appframework.update.Change>
</changes>
<url>https://github.com/bancika/diy-layout-creator/releases</url>
</org.diylc.appframework.update.Version>
</a>
</java.util.Arrays_-ArrayList>