From 9a366359d411f8d185650dece55915011f1f87a3 Mon Sep 17 00:00:00 2001 From: hneemann Date: Fri, 28 Apr 2017 15:52:49 +0200 Subject: [PATCH] copying of selected elements --- .../digital/gui/components/CircuitComponent.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/de/neemann/digital/gui/components/CircuitComponent.java b/src/main/java/de/neemann/digital/gui/components/CircuitComponent.java index 68c28dcf2..047979957 100644 --- a/src/main/java/de/neemann/digital/gui/components/CircuitComponent.java +++ b/src/main/java/de/neemann/digital/gui/components/CircuitComponent.java @@ -112,9 +112,16 @@ public class CircuitComponent extends JComponent implements Circuit.ChangedListe copyAction = new AbstractAction(Lang.get("menu_copy")) { @Override public void actionPerformed(ActionEvent e) { + ArrayList elements = null; if (activeMouseController instanceof MouseControllerSelect) { MouseControllerSelect mcs = ((MouseControllerSelect) activeMouseController); - ArrayList elements = circuit.getElementsToCopy(Vector.min(mcs.corner1, mcs.corner2), Vector.max(mcs.corner1, mcs.corner2), shapeFactory); + elements = circuit.getElementsToCopy(Vector.min(mcs.corner1, mcs.corner2), Vector.max(mcs.corner1, mcs.corner2), shapeFactory); + } else if (activeMouseController instanceof MouseControllerMoveElement) { + MouseControllerMoveElement mcme = ((MouseControllerMoveElement) activeMouseController); + elements = new ArrayList<>(); + elements.add(mcme.visualElement); + } + if (elements != null) { Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); clipboard.setContents(new CircuitTransferable(elements), null); removeHighLighted(); @@ -877,6 +884,7 @@ public class CircuitComponent extends JComponent implements Circuit.ChangedListe delta = initialPos.sub(pos); deleteAction.setActive(true); rotateAction.setEnabled(true); + copyAction.setEnabled(true); hasChanged(); }