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