fixed editing units

This commit is contained in:
bancika
2011-01-18 20:39:28 +00:00
parent 5e88aeedc1
commit 7f1f7b60a5
@@ -13,6 +13,7 @@ import javax.swing.JComboBox;
import org.diylc.common.PropertyWrapper; import org.diylc.common.PropertyWrapper;
import org.diylc.core.measures.AbstractMeasure; import org.diylc.core.measures.AbstractMeasure;
import org.diylc.core.measures.Unit;
import com.diyfever.gui.DoubleTextField; import com.diyfever.gui.DoubleTextField;
@@ -23,7 +24,7 @@ public class MeasureEditor extends Container {
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public MeasureEditor(final PropertyWrapper property) { public MeasureEditor(final PropertyWrapper property) {
setLayout(new BorderLayout()); setLayout(new BorderLayout());
final AbstractMeasure measure = ((AbstractMeasure) property.getValue()); AbstractMeasure measure = ((AbstractMeasure) property.getValue());
DoubleTextField valueField = new DoubleTextField(measure.getValue()); DoubleTextField valueField = new DoubleTextField(measure.getValue());
valueField.addPropertyChangeListener(DoubleTextField.VALUE_PROPERTY, valueField.addPropertyChangeListener(DoubleTextField.VALUE_PROPERTY,
new PropertyChangeListener() { new PropertyChangeListener() {
@@ -31,7 +32,8 @@ public class MeasureEditor extends Container {
@Override @Override
public void propertyChange(PropertyChangeEvent evt) { public void propertyChange(PropertyChangeEvent evt) {
try { try {
AbstractMeasure<?> newMeasure = (AbstractMeasure<?>) measure.clone(); AbstractMeasure<?> newMeasure = (AbstractMeasure<?>) ((AbstractMeasure) property
.getValue()).clone();
newMeasure.setValue((Double) evt.getNewValue()); newMeasure.setValue((Double) evt.getNewValue());
property.setValue(newMeasure); property.setValue(newMeasure);
} catch (CloneNotSupportedException ex) { } catch (CloneNotSupportedException ex) {
@@ -48,8 +50,9 @@ public class MeasureEditor extends Container {
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
try { try {
AbstractMeasure<?> newMeasure = (AbstractMeasure<?>) measure.clone(); AbstractMeasure<Enum<? extends Unit>> newMeasure = (AbstractMeasure<Enum<? extends Unit>>) ((AbstractMeasure) property
measure.setUnit((Enum) unitBox.getSelectedItem()); .getValue()).clone();
newMeasure.setUnit((Enum<? extends Unit>) unitBox.getSelectedItem());
property.setValue(newMeasure); property.setValue(newMeasure);
} catch (CloneNotSupportedException ex) { } catch (CloneNotSupportedException ex) {
} }