fixed some checkstyle issues

This commit is contained in:
hneemann 2017-05-26 12:52:11 +02:00
parent 6616d03d1b
commit 27740b7584
15 changed files with 144 additions and 3 deletions

View File

@ -3,7 +3,6 @@ package de.neemann.digital.draw.elements;
import de.neemann.digital.core.element.ElementTypeDescription;
import de.neemann.digital.gui.components.CircuitComponent;
import de.neemann.digital.gui.components.ElementOrderer;
import de.neemann.digital.gui.components.modification.Modification;
import java.util.ArrayList;

View File

@ -3,10 +3,16 @@ package de.neemann.digital.gui.components.modification;
import de.neemann.digital.draw.elements.Circuit;
/**
* Interface to implement the events used to be reverted
* Created by hneemann on 25.05.17.
*/
public interface Modification {
/**
* Performes a modification on the given circuit
*
* @param circuit the circuit to modify
*/
void modify(Circuit circuit);
}

View File

@ -5,6 +5,8 @@ import de.neemann.digital.draw.elements.VisualElement;
import de.neemann.digital.draw.graphics.Vector;
/**
* A modification on a visual element.
* The element is identified by its position and name.
* Created by hneemann on 25.05.17.
*/
public abstract class ModificationOfVisualElement implements Modification {
@ -12,15 +14,32 @@ public abstract class ModificationOfVisualElement implements Modification {
private final Vector pos;
private final String name;
/**
* Creates a new instance
*
* @param ve the element to modify
*/
public ModificationOfVisualElement(VisualElement ve) {
this(ve, ve.getPos());
}
/**
* Creates a new instance
*
* @param ve the element to modify
* @param initialPos the initial position of the element
*/
public ModificationOfVisualElement(VisualElement ve, Vector initialPos) {
name = ve.getElementName();
pos = initialPos;
}
/**
* Returns the element which is to modify
*
* @param circuit the circuit
* @return the element to modify
*/
public VisualElement getVisualElement(Circuit circuit) {
for (VisualElement ve : circuit.getElements()) {
if (ve.getPos().equals(pos) && ve.getElementName().equals(name))

View File

@ -5,6 +5,8 @@ import de.neemann.digital.draw.elements.Wire;
import de.neemann.digital.draw.graphics.Vector;
/**
* A modification on a wire
* The wire is identified by its position.
* Created by hneemann on 25.05.17.
*/
public abstract class ModificationOfWire implements Modification {
@ -12,15 +14,32 @@ public abstract class ModificationOfWire implements Modification {
private final Vector p1;
private final Vector p2;
/**
* Creates a new instance
*
* @param wire the wire to modify
*/
public ModificationOfWire(Wire wire) {
this(wire, wire.p1);
}
/**
* Creates a new instance
*
* @param wire the wire to modify
* @param initialPos the initial position of the wire
*/
public ModificationOfWire(Wire wire, Vector initialPos) {
p1 = initialPos;
p2 = initialPos.add(wire.p2.sub(wire.p1));
}
/**
* Returns the wire to modify
*
* @param circuit the circuit to modify
* @return the wire to modify
*/
public Wire getWire(Circuit circuit) {
for (Wire w : circuit.getWires()) {
if (w.p1.equals(p1) && w.p2.equals(p2))

View File

@ -5,6 +5,7 @@ import de.neemann.digital.draw.elements.Circuit;
import java.util.ArrayList;
/**
* A single modification which is build from a set of other modifications.
* Created by hneemann on 25.05.17.
*/
public final class Modifications implements Modification {
@ -20,18 +21,35 @@ public final class Modifications implements Modification {
m.modify(circuit);
}
/**
* The builder to construct an instance
*/
public static final class Builder {
private final ArrayList<Modification> list;
/**
* Creates a new instance
*/
public Builder() {
list = new ArrayList<>();
}
/**
* Adds a modification to this set
*
* @param m the modification to add
* @return this for chained calls
*/
public Builder add(Modification m) {
list.add(m);
return this;
}
/**
* Builds the unified of modification
*
* @return the unified modification
*/
public Modification build() {
return new Modifications(list);
}

View File

@ -5,13 +5,23 @@ import de.neemann.digital.draw.elements.Circuit;
import de.neemann.digital.draw.elements.VisualElement;
/**
* Modifies an attribute.
* Created by hneemann on 25.05.17.
*
* @param <VALUE> the used value type
*/
public class ModifyAttribute<VALUE> extends ModificationOfVisualElement {
private final Key<VALUE> key;
private final VALUE value;
/**
* Creates a new instance
*
* @param ve the visual element to modify
* @param key the key to modify
* @param value the new value
*/
public ModifyAttribute(VisualElement ve, Key<VALUE> key, VALUE value) {
super(ve);
this.key = key;

View File

@ -5,12 +5,18 @@ import de.neemann.digital.draw.elements.Circuit;
import de.neemann.digital.draw.elements.VisualElement;
/**
* Sets all attributes of an element
* Created by hneemann on 25.05.17.
*/
public class ModifyAttributes extends ModificationOfVisualElement {
private final ElementAttributes attributes;
/**
* Creates a new instance
*
* @param ve the already modified element
*/
public ModifyAttributes(VisualElement ve) {
super(ve);
attributes = new ElementAttributes(ve.getElementAttributes());

View File

@ -5,9 +5,17 @@ import de.neemann.digital.draw.elements.VisualElement;
import de.neemann.digital.draw.graphics.Vector;
/**
* Modifier which deletes an element
* Created by hneemann on 26.05.17.
*/
public class ModifyDeleteElement extends ModificationOfVisualElement {
/**
* The element to delete
*
* @param ve the visual element
* @param initialPos its initial position
*/
public ModifyDeleteElement(VisualElement ve, Vector initialPos) {
super(ve, initialPos);
}

View File

@ -4,12 +4,19 @@ import de.neemann.digital.draw.elements.Circuit;
import de.neemann.digital.draw.graphics.Vector;
/**
* Modifier to delete all elements in a given rectangle
* Created by hneemann on 26.05.17.
*/
public class ModifyDeleteRect implements Modification {
private final Vector min;
private final Vector max;
/**
* Creates a new instance
*
* @param min the upper left corner
* @param max the lower right corner
*/
public ModifyDeleteRect(Vector min, Vector max) {
this.min = min;
this.max = max;

View File

@ -5,10 +5,17 @@ import de.neemann.digital.draw.elements.Wire;
import de.neemann.digital.draw.graphics.Vector;
/**
* Modifier to delete a wire
* Created by hneemann on 26.05.17.
*/
public class ModifyDeleteWire extends ModificationOfWire {
/**
* Creates a new instance
*
* @param wire the wire to delete
* @param initialPos its initial position
*/
public ModifyDeleteWire(Wire wire, Vector initialPos) {
super(wire, initialPos);
}

View File

@ -4,11 +4,17 @@ import de.neemann.digital.draw.elements.Circuit;
import de.neemann.digital.draw.elements.VisualElement;
/**
* Modifier to insert an element
* Created by hneemann on 26.05.17.
*/
public class ModifyInsertElement implements Modification {
private final VisualElement element;
/**
* Creates a new instance
*
* @param element the element to insert
*/
public ModifyInsertElement(VisualElement element) {
this.element = new VisualElement(element);
}

View File

@ -5,12 +5,18 @@ import de.neemann.digital.draw.elements.Wire;
import de.neemann.digital.draw.graphics.Vector;
/**
* Modifier to insert a wire.
* Created by hneemann on 26.05.17.
*/
public class ModifyInsertWire implements Modification {
private final Vector p1;
private final Vector p2;
/**
* Creates a new instance
*
* @param w the wire to insert
*/
public ModifyInsertWire(Wire w) {
p1 = w.p1;
p2 = w.p2;

View File

@ -5,15 +5,22 @@ import de.neemann.digital.draw.elements.VisualElement;
import de.neemann.digital.draw.graphics.Vector;
/**
* Modifier to move and rotate a single visual element
* Created by hneemann on 26.05.17.
*/
public class ModifyMoveAndRotElement extends ModificationOfVisualElement {
private final Vector pos;
private final int rotation;
/**
* Create a new instance
*
* @param ve the visual Element
* @param initialPos its initial position
*/
public ModifyMoveAndRotElement(VisualElement ve, Vector initialPos) {
super(ve, initialPos);
pos=ve.getPos();
pos = ve.getPos();
rotation = ve.getRotate();
}

View File

@ -11,6 +11,7 @@ import de.neemann.digital.draw.graphics.Vector;
import java.util.ArrayList;
/**
* Modifier to move a selection
* Created by hneemann on 26.05.17.
*/
public class ModifyMoveSelected implements Modification {
@ -20,6 +21,15 @@ public class ModifyMoveSelected implements Modification {
private final int accumulatedRotate;
private final Vector center;
/**
* Create a new instance
*
* @param min the upper left corner
* @param max the lower right corner
* @param accumulatedDelta the translation
* @param accumulatedRotate the rotation
* @param center the center of the selection rectangle
*/
public ModifyMoveSelected(Vector min, Vector max, Vector accumulatedDelta, int accumulatedRotate, Vector center) {
this.min = min;
this.max = max;
@ -40,6 +50,12 @@ public class ModifyMoveSelected implements Modification {
circuit.elementsMoved();
}
/**
* Rotates the given elements
*
* @param elements the elements to rotate
* @param center the center position
*/
public static void rotateElements(ArrayList<Movable> elements, Vector center) {
Transform transform = new TransformRotate(center, 1) {
@Override

View File

@ -5,14 +5,21 @@ import de.neemann.digital.draw.elements.Wire;
import de.neemann.digital.draw.graphics.Vector;
/**
* Modifier to move a wire
* Created by hneemann on 26.05.17.
*/
public class ModifyMoveWire extends ModificationOfWire {
private final Vector delta;
/**
* Create a new instance
*
* @param wire the wire to modify
* @param initialPos its initial position
*/
public ModifyMoveWire(Wire wire, Vector initialPos) {
super(wire, initialPos);
delta=wire.getPos().sub(initialPos);
delta = wire.getPos().sub(initialPos);
}
@Override