minor refactoring

This commit is contained in:
hneemann 2017-05-28 11:33:35 +02:00
parent 7d398024f7
commit c6a857670f

View File

@ -173,8 +173,10 @@ public class CircuitComponent extends JComponent implements Circuit.ChangedListe
new ToolTipAction(Lang.get("menu_programDiode")) { new ToolTipAction(Lang.get("menu_programDiode")) {
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
if (activeMouseController instanceof MouseControllerNormal) { VisualElement ve = getActualVisualElement();
programElementAt(getPosVector(lastMousePos.x, lastMousePos.y)); if (ve != null && CircuitComponent.this.library.isProgrammable(ve.getElementName())) {
boolean blown = ve.getElementAttributes().get(Keys.BLOWN);
modify(new ModifyAttribute<>(ve, Keys.BLOWN, !blown));
} }
} }
}.setAccelerator("P").enableAcceleratorIn(this); }.setAccelerator("P").enableAcceleratorIn(this);
@ -300,14 +302,6 @@ public class CircuitComponent extends JComponent implements Circuit.ChangedListe
}.setActive(false).setAcceleratorCTRLplus('C').enableAcceleratorIn(this); }.setActive(false).setAcceleratorCTRLplus('C').enableAcceleratorIn(this);
} }
private void programElementAt(Vector pos) {
VisualElement ve = circuit.getElementAt(pos);
if (ve != null && library.isProgrammable(ve.getElementName())) {
boolean blown = ve.getElementAttributes().get(Keys.BLOWN);
modify(new ModifyAttribute<>(ve, Keys.BLOWN, !blown));
}
}
/** /**
* Apply a modification * Apply a modification
* *
@ -862,6 +856,14 @@ public class CircuitComponent extends JComponent implements Circuit.ChangedListe
modify(builder.build()); modify(builder.build());
} }
private VisualElement getActualVisualElement() {
VisualElement ve = null;
if (activeMouseController instanceof MouseControllerNormal)
ve = circuit.getElementAt(getPosVector(lastMousePos.x, lastMousePos.y));
if (activeMouseController instanceof MouseControllerMoveElement)
ve = ((MouseControllerMoveElement) activeMouseController).getVisualElement();
return ve;
}
private final class PlusMinusAction extends ToolTipAction { private final class PlusMinusAction extends ToolTipAction {
private final int delta; private final int delta;
@ -873,12 +875,7 @@ public class CircuitComponent extends JComponent implements Circuit.ChangedListe
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
VisualElement ve = null; VisualElement ve = getActualVisualElement();
if (activeMouseController instanceof MouseControllerNormal)
ve = circuit.getElementAt(getPosVector(lastMousePos.x, lastMousePos.y));
if (activeMouseController instanceof MouseControllerMoveElement)
ve = ((MouseControllerMoveElement) activeMouseController).getVisualElement();
if (ve != null) { if (ve != null) {
try { try {
if (library.getElementType(ve.getElementName()).hasAttribute(Keys.INPUT_COUNT)) { if (library.getElementType(ve.getElementName()).hasAttribute(Keys.INPUT_COUNT)) {