mirror of
https://github.com/bancika/diy-layout-creator
synced 2026-11-11 01:32:08 +10:00
inductor symbol
allow empty values
This commit is contained in:
Binary file not shown.
Binary file not shown.
+13
-10
@@ -11,6 +11,8 @@ import java.beans.PropertyChangeListener;
|
|||||||
import java.lang.reflect.Constructor;
|
import java.lang.reflect.Constructor;
|
||||||
import java.lang.reflect.InvocationTargetException;
|
import java.lang.reflect.InvocationTargetException;
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
|
import java.lang.reflect.ParameterizedType;
|
||||||
|
import java.lang.reflect.Type;
|
||||||
|
|
||||||
import javax.swing.JComboBox;
|
import javax.swing.JComboBox;
|
||||||
|
|
||||||
@@ -32,7 +34,8 @@ public class MeasureEditor extends Container {
|
|||||||
public MeasureEditor(final PropertyWrapper property) {
|
public MeasureEditor(final PropertyWrapper property) {
|
||||||
setLayout(new BorderLayout());
|
setLayout(new BorderLayout());
|
||||||
final AbstractMeasure measure = ((AbstractMeasure) property.getValue());
|
final AbstractMeasure measure = ((AbstractMeasure) property.getValue());
|
||||||
valueField = new DoubleTextField(measure.getValue());
|
valueField = new DoubleTextField(measure == null ? null : measure
|
||||||
|
.getValue());
|
||||||
oldBg = valueField.getBackground();
|
oldBg = valueField.getBackground();
|
||||||
valueField.addPropertyChangeListener(DoubleTextField.VALUE_PROPERTY,
|
valueField.addPropertyChangeListener(DoubleTextField.VALUE_PROPERTY,
|
||||||
new PropertyChangeListener() {
|
new PropertyChangeListener() {
|
||||||
@@ -40,12 +43,11 @@ public class MeasureEditor extends Container {
|
|||||||
@Override
|
@Override
|
||||||
public void propertyChange(PropertyChangeEvent evt) {
|
public void propertyChange(PropertyChangeEvent evt) {
|
||||||
try {
|
try {
|
||||||
Constructor ctor = measure.getClass()
|
Constructor ctor = property.getType()
|
||||||
.getConstructors()[0];
|
.getConstructors()[0];
|
||||||
AbstractMeasure<?> oldMeasure = (AbstractMeasure<?>) property.getValue();
|
|
||||||
AbstractMeasure<?> newMeasure = (AbstractMeasure<?>) ctor
|
AbstractMeasure<?> newMeasure = (AbstractMeasure<?>) ctor
|
||||||
.newInstance((Double) evt.getNewValue(),
|
.newInstance((Double) evt.getNewValue(),
|
||||||
oldMeasure.getUnit());
|
unitBox.getSelectedItem());
|
||||||
property.setValue(newMeasure);
|
property.setValue(newMeasure);
|
||||||
property.setChanged(true);
|
property.setChanged(true);
|
||||||
valueField.setBackground(oldBg);
|
valueField.setBackground(oldBg);
|
||||||
@@ -67,18 +69,19 @@ public class MeasureEditor extends Container {
|
|||||||
});
|
});
|
||||||
add(valueField, BorderLayout.CENTER);
|
add(valueField, BorderLayout.CENTER);
|
||||||
try {
|
try {
|
||||||
Method method = measure.getUnit().getClass().getMethod("values");
|
Type type = ((ParameterizedType) property.getType()
|
||||||
unitBox = new JComboBox((Object[]) method.invoke(measure.getUnit()));
|
.getGenericSuperclass()).getActualTypeArguments()[0];
|
||||||
unitBox.setSelectedItem(measure.getUnit());
|
Method method = ((Class<?>) type).getMethod("values");
|
||||||
|
unitBox = new JComboBox((Object[]) method.invoke(null));
|
||||||
|
unitBox.setSelectedItem(measure == null ? null : measure.getUnit());
|
||||||
unitBox.addActionListener(new ActionListener() {
|
unitBox.addActionListener(new ActionListener() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent evt) {
|
public void actionPerformed(ActionEvent evt) {
|
||||||
try {
|
try {
|
||||||
Constructor ctor = measure.getClass().getConstructors()[0];
|
Constructor ctor = property.getType().getConstructors()[0];
|
||||||
AbstractMeasure<?> oldMeasure = (AbstractMeasure<?>) property.getValue();
|
|
||||||
AbstractMeasure<?> newMeasure = (AbstractMeasure<?>) ctor
|
AbstractMeasure<?> newMeasure = (AbstractMeasure<?>) ctor
|
||||||
.newInstance(oldMeasure.getValue(),
|
.newInstance(valueField.getValue(),
|
||||||
(Enum<? extends Unit>) unitBox
|
(Enum<? extends Unit>) unitBox
|
||||||
.getSelectedItem());
|
.getSelectedItem());
|
||||||
property.setValue(newMeasure);
|
property.setValue(newMeasure);
|
||||||
|
|||||||
@@ -937,5 +937,29 @@
|
|||||||
</changes>
|
</changes>
|
||||||
<url>http://code.google.com/p/diy-layout-creator/downloads/list</url>
|
<url>http://code.google.com/p/diy-layout-creator/downloads/list</url>
|
||||||
</org.diylc.appframework.update.Version>
|
</org.diylc.appframework.update.Version>
|
||||||
|
<org.diylc.appframework.update.Version>
|
||||||
|
<versionNumber>
|
||||||
|
<major>3</major>
|
||||||
|
<minor>18</minor>
|
||||||
|
<build>0</build>
|
||||||
|
</versionNumber>
|
||||||
|
<releaseDate>2012-09-24 20:00:00.000 CET</releaseDate>
|
||||||
|
<name></name>
|
||||||
|
<changes>
|
||||||
|
<org.diylc.appframework.update.Change>
|
||||||
|
<changeType>BUG_FIX</changeType>
|
||||||
|
<description>Components don't show up in the toolbox on OSX</description>
|
||||||
|
</org.diylc.appframework.update.Change>
|
||||||
|
<org.diylc.appframework.update.Change>
|
||||||
|
<changeType>NEW_FEATURE</changeType>
|
||||||
|
<description>Inductor symbol</description>
|
||||||
|
</org.diylc.appframework.update.Change>
|
||||||
|
<org.diylc.appframework.update.Change>
|
||||||
|
<changeType>IMPROVEMENT</changeType>
|
||||||
|
<description>Component values (resistance, capacitance, etc) are created blank instead of defaulting to some values</description>
|
||||||
|
</org.diylc.appframework.update.Change>
|
||||||
|
</changes>
|
||||||
|
<url>http://code.google.com/p/diy-layout-creator/downloads/list</url>
|
||||||
|
</org.diylc.appframework.update.Version>
|
||||||
</a>
|
</a>
|
||||||
</java.util.Arrays_-ArrayList>
|
</java.util.Arrays_-ArrayList>
|
||||||
Reference in New Issue
Block a user