fixed measure editing

fixed trace lead color
This commit is contained in:
bancika
2011-01-14 13:57:51 +00:00
parent 628d370019
commit 1f5fa8ae14
8 changed files with 44 additions and 18 deletions
@@ -38,6 +38,11 @@ public class AbstractMeasure<T extends Enum<? extends Unit>> implements Serializ
this.unit = multiplier; this.unit = multiplier;
} }
@Override
public Object clone() throws CloneNotSupportedException {
return super.clone();
}
@Override @Override
public int hashCode() { public int hashCode() {
final int prime = 31; final int prime = 31;
@@ -30,7 +30,12 @@ public class MeasureEditor extends Container {
@Override @Override
public void propertyChange(PropertyChangeEvent evt) { public void propertyChange(PropertyChangeEvent evt) {
measure.setValue((Double) evt.getNewValue()); try {
AbstractMeasure<?> newMeasure = (AbstractMeasure<?>) measure.clone();
newMeasure.setValue((Double) evt.getNewValue());
property.setValue(newMeasure);
} catch (CloneNotSupportedException ex) {
}
} }
}); });
add(valueField, BorderLayout.CENTER); add(valueField, BorderLayout.CENTER);
@@ -42,7 +47,12 @@ public class MeasureEditor extends Container {
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
try {
AbstractMeasure<?> newMeasure = (AbstractMeasure<?>) measure.clone();
measure.setUnit((Enum) unitBox.getSelectedItem()); measure.setUnit((Enum) unitBox.getSelectedItem());
property.setValue(newMeasure);
} catch (CloneNotSupportedException ex) {
}
} }
}); });
add(unitBox, BorderLayout.EAST); add(unitBox, BorderLayout.EAST);
@@ -151,7 +151,7 @@ public class ComponentProcessor {
* @return * @return
*/ */
public List<PropertyWrapper> getMutualSelectionProperties( public List<PropertyWrapper> getMutualSelectionProperties(
List<IDIYComponent<?>> selectedComponents) { List<IDIYComponent<?>> selectedComponents) throws Exception {
if (selectedComponents.isEmpty()) { if (selectedComponents.isEmpty()) {
return null; return null;
} }
@@ -160,23 +160,13 @@ public class ComponentProcessor {
properties.addAll(extractProperties(firstComponent.getClass())); properties.addAll(extractProperties(firstComponent.getClass()));
// Initialize values // Initialize values
for (PropertyWrapper property : properties) { for (PropertyWrapper property : properties) {
try {
property.readFrom(firstComponent); property.readFrom(firstComponent);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} }
for (int i = 1; i < selectedComponents.size(); i++) { for (int i = 1; i < selectedComponents.size(); i++) {
IDIYComponent<?> component = selectedComponents.get(i); IDIYComponent<?> component = selectedComponents.get(i);
List<PropertyWrapper> newProperties = extractProperties(component.getClass()); List<PropertyWrapper> newProperties = extractProperties(component.getClass());
for (PropertyWrapper property : newProperties) { for (PropertyWrapper property : newProperties) {
try {
property.readFrom(component); property.readFrom(component);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} }
properties.retainAll(newProperties); properties.retainAll(newProperties);
// for (PropertyWrapper property : properties) { // for (PropertyWrapper property : properties) {
@@ -973,7 +973,13 @@ public class Presenter implements IPlugInPort {
@Override @Override
public List<PropertyWrapper> getMutualSelectionProperties() { public List<PropertyWrapper> getMutualSelectionProperties() {
return ComponentProcessor.getInstance().getMutualSelectionProperties(selectedComponents); try {
return ComponentProcessor.getInstance()
.getMutualSelectionProperties(selectedComponents);
} catch (Exception e) {
LOG.error("Could not get mutual selection properties", e);
return null;
}
} }
@Override @Override
@@ -32,12 +32,16 @@ public class CopperTrace extends AbstractLeadedComponent<Void> {
} }
@Override @Override
@EditableProperty(name = "Color") protected Color getLeadColor(ComponentState componentState) {
public Color getLeadColor(ComponentState componentState) {
return componentState == ComponentState.SELECTED return componentState == ComponentState.SELECTED
|| componentState == ComponentState.DRAGGING ? SELECTION_COLOR : leadColor; || componentState == ComponentState.DRAGGING ? SELECTION_COLOR : leadColor;
} }
@EditableProperty(name = "Color")
public Color getLeadColor() {
return leadColor;
}
public void setLeadColor(Color leadColor) { public void setLeadColor(Color leadColor) {
this.leadColor = leadColor; this.leadColor = leadColor;
} }
@@ -55,4 +55,15 @@ public class CurvedTrace extends AbstractCurvedComponent<Void> {
@Override @Override
public void setValue(Void value) { public void setValue(Void value) {
} }
@Deprecated
@Override
public Byte getAlpha() {
return super.getAlpha();
}
@Override
public void setAlpha(Byte alpha) {
super.setAlpha(alpha);
}
} }