|
@@ -63,6 +63,7 @@ public class ClipboardController {
|
|
|
private HashMap<Integer, Integer> eleIDMap;
|
|
|
private String sav;
|
|
|
private Point point;
|
|
|
+ private Point pp;
|
|
|
|
|
|
public ClipboardController(Model model, StoreController store, LoadController load, CanvasController cvs,
|
|
|
ObjectController obj, NodeController uppC, MultiPurposeController mp) {
|
|
@@ -91,6 +92,9 @@ public class ClipboardController {
|
|
|
store.initNumeration();
|
|
|
|
|
|
file.add("SAV", new JsonPrimitive((upperNode == null ? "CVS" : "" + upperNode.getId())));
|
|
|
+ Position pos = uppC.calculatePos(model.getSelectedCpsObjects());
|
|
|
+ file.add("CENTER_X", new JsonPrimitive(pos.x));
|
|
|
+ file.add("CENTER_Y", new JsonPrimitive(pos.y));
|
|
|
|
|
|
for (AbstractCpsObject abs : model.getSelectedCpsObjects()) {
|
|
|
queue.add(abs);
|
|
@@ -137,7 +141,6 @@ public class ClipboardController {
|
|
|
|
|
|
JsonObject json = new JsonObject();
|
|
|
Transferable content = clipboard.getContents(null);
|
|
|
- point = p;
|
|
|
|
|
|
if (content != null && content.isDataFlavorSupported(DataFlavor.stringFlavor)
|
|
|
&& !content.isDataFlavorSupported(DataFlavor.allHtmlFlavor))
|
|
@@ -163,6 +166,9 @@ public class ClipboardController {
|
|
|
eleIDMap = new HashMap<>();
|
|
|
sav = json.get("SAV").getAsString();
|
|
|
|
|
|
+ Position old = new Position(json.get("CENTER_X").getAsInt(), json.get("CENTER_Y").getAsInt());
|
|
|
+ point = new Point(old.x - p.x, old.y-p.y);
|
|
|
+
|
|
|
forwardObjects(keys, json, objDispatch, eleDispatch, upperNode);
|
|
|
forwardEdges(edges, json, objDispatch, upperNode);
|
|
|
|
|
@@ -449,7 +455,7 @@ public class ClipboardController {
|
|
|
|
|
|
private void updatePosition(AbstractCpsObject temp) {
|
|
|
// TODO Auto-generated method stub
|
|
|
- temp.setPosition(new Position(temp.getPosition().x + point.x, temp.getPosition().y + point.y));
|
|
|
+ temp.setPosition(new Position(temp.getPosition().x - point.x, temp.getPosition().y - point.y));
|
|
|
}
|
|
|
|
|
|
}
|