1 /* 2 * Copyright (c) 2017 Helmut Neemann 3 * Use of this source code is governed by the GPL v3 license 4 * that can be found in the LICENSE file. 5 */ 6 package de.neemann.digital.gui.components.modification; 7 8 import de.neemann.digital.draw.elements.Circuit; 9 import de.neemann.digital.draw.elements.VisualElement; 10 import de.neemann.digital.lang.Lang; 11 import de.neemann.digital.undo.Modification; 12 13 import static de.neemann.digital.gui.components.modification.ModificationOfVisualElement.getToolTipName; 14 15 /** 16 * Modifier to insert an element 17 */ 18 public class ModifyInsertElement implements Modification<Circuit> { 19 private final VisualElement element; 20 21 /** 22 * Creates a new instance 23 * 24 * @param element the element to insert 25 */ ModifyInsertElement(VisualElement element)26 public ModifyInsertElement(VisualElement element) { 27 this.element = new VisualElement(element); 28 } 29 30 @Override modify(Circuit circuit)31 public void modify(Circuit circuit) { 32 circuit.add(new VisualElement(element)); 33 } 34 35 @Override toString()36 public String toString() { 37 return Lang.get("mod_insertedElement_N", getToolTipName(element)); 38 } 39 } 40