mirror of
https://github.com/hneemann/Digital.git
synced 2025-09-28 23:45:17 -04:00
+/- shortcut also works if element is selected
This commit is contained in:
parent
6fecb0e4b9
commit
e0d89eadc2
@ -165,21 +165,8 @@ public class CircuitComponent extends JComponent implements Circuit.ChangedListe
|
||||
}
|
||||
}.setAccelerator("D").enableAcceleratorIn(this);
|
||||
|
||||
new ToolTipAction("plus") {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
if (activeMouseController instanceof MouseControllerNormal)
|
||||
addToInputCount(getPosVector(lastMousePos.x, lastMousePos.y), 1);
|
||||
}
|
||||
}.setAccelerator("PLUS").enableAcceleratorIn(this);
|
||||
|
||||
new ToolTipAction("minus") {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
if (activeMouseController instanceof MouseControllerNormal)
|
||||
addToInputCount(getPosVector(lastMousePos.x, lastMousePos.y), -1);
|
||||
}
|
||||
}.setAccelerator("MINUS").enableAcceleratorIn(this);
|
||||
new PlusMinusAction(1).setAccelerator("PLUS").enableAcceleratorIn(this);
|
||||
new PlusMinusAction(-1).setAccelerator("MINUS").enableAcceleratorIn(this);
|
||||
|
||||
new ToolTipAction(Lang.get("menu_programDiode")) {
|
||||
@Override
|
||||
@ -320,21 +307,6 @@ public class CircuitComponent extends JComponent implements Circuit.ChangedListe
|
||||
}
|
||||
}
|
||||
|
||||
private void addToInputCount(Vector pos, int delta) {
|
||||
VisualElement ve = circuit.getElementAt(pos);
|
||||
if (ve != null) {
|
||||
try {
|
||||
if (library.getElementType(ve.getElementName()).hasAttribute(Keys.INPUT_COUNT)) {
|
||||
int number = ve.getElementAttributes().get(Keys.INPUT_COUNT) + delta;
|
||||
if (number >= Keys.INPUT_COUNT.getMin() && number <= Keys.INPUT_COUNT.getMax())
|
||||
modify(new ModifyAttribute<>(ve, Keys.INPUT_COUNT, number));
|
||||
}
|
||||
} catch (ElementNotFoundException e) {
|
||||
// do nothing on error
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Apply a modification
|
||||
*
|
||||
@ -857,6 +829,37 @@ public class CircuitComponent extends JComponent implements Circuit.ChangedListe
|
||||
return redoAction;
|
||||
}
|
||||
|
||||
private final class PlusMinusAction extends ToolTipAction {
|
||||
private final int delta;
|
||||
|
||||
private PlusMinusAction(int delta) {
|
||||
super("plusMinus");
|
||||
this.delta = delta;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
VisualElement ve = null;
|
||||
if (activeMouseController instanceof MouseControllerNormal)
|
||||
ve = circuit.getElementAt(getPosVector(lastMousePos.x, lastMousePos.y));
|
||||
if (activeMouseController instanceof MouseControllerMoveElement)
|
||||
ve = ((MouseControllerMoveElement) activeMouseController).getVisualElement();
|
||||
|
||||
if (ve != null) {
|
||||
try {
|
||||
if (library.getElementType(ve.getElementName()).hasAttribute(Keys.INPUT_COUNT)) {
|
||||
int number = ve.getElementAttributes().get(Keys.INPUT_COUNT) + delta;
|
||||
if (number >= Keys.INPUT_COUNT.getMin() && number <= Keys.INPUT_COUNT.getMax())
|
||||
modify(new ModifyAttribute<>(ve, Keys.INPUT_COUNT, number));
|
||||
}
|
||||
} catch (ElementNotFoundException e1) {
|
||||
// do nothing on error
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private class MouseDispatcher extends MouseAdapter implements MouseMotionListener {
|
||||
private Vector pos;
|
||||
private boolean isMoved;
|
||||
@ -1168,6 +1171,10 @@ public class CircuitComponent extends JComponent implements Circuit.ChangedListe
|
||||
}
|
||||
mouseNormal.activate();
|
||||
}
|
||||
|
||||
public VisualElement getVisualElement() {
|
||||
return visualElement;
|
||||
}
|
||||
}
|
||||
|
||||
private final class MouseControllerMoveWire extends MouseController {
|
||||
|
Loading…
x
Reference in New Issue
Block a user