|
@@ -137,8 +137,8 @@ public class ClipboardController {
|
|
* @param upperNode
|
|
* @param upperNode
|
|
*/
|
|
*/
|
|
public void paste(CpsUpperNode upperNode, Point p) {
|
|
public void paste(CpsUpperNode upperNode, Point p) {
|
|
-
|
|
|
|
- if(p == null)
|
|
|
|
|
|
+
|
|
|
|
+ if (p == null)
|
|
return;
|
|
return;
|
|
|
|
|
|
JsonObject json = new JsonObject();
|
|
JsonObject json = new JsonObject();
|
|
@@ -169,7 +169,7 @@ public class ClipboardController {
|
|
sav = json.get("SAV").getAsString();
|
|
sav = json.get("SAV").getAsString();
|
|
|
|
|
|
Position old = gson.getAdapter(Position.class).fromJsonTree(json.get("CENTER"));
|
|
Position old = gson.getAdapter(Position.class).fromJsonTree(json.get("CENTER"));
|
|
- point = new Point(old.x - p.x, old.y-p.y);
|
|
|
|
|
|
+ point = new Point(old.x - p.x, old.y - p.y);
|
|
|
|
|
|
forwardObjects(keys, json, objDispatch, eleDispatch, upperNode);
|
|
forwardObjects(keys, json, objDispatch, eleDispatch, upperNode);
|
|
forwardEdges(edges, json, objDispatch, upperNode);
|
|
forwardEdges(edges, json, objDispatch, upperNode);
|
|
@@ -178,7 +178,18 @@ public class ClipboardController {
|
|
|
|
|
|
public void cut(CpsUpperNode upperNode) {
|
|
public void cut(CpsUpperNode upperNode) {
|
|
copy(upperNode);
|
|
copy(upperNode);
|
|
-
|
|
|
|
|
|
+ ArrayList<AbstractCpsObject> found = (upperNode == null ? model.getObjectsOnCanvas() : upperNode.getNodes());
|
|
|
|
+
|
|
|
|
+ for (AbstractCpsObject abs : model.getSelectedCpsObjects()) {
|
|
|
|
+ if (upperNode == null)
|
|
|
|
+ cvsC.deleteObjectOnCanvas(abs);
|
|
|
|
+ else
|
|
|
|
+ uppC.deleteObjectInUpperNode(abs, upperNode);
|
|
|
|
+
|
|
|
|
+ if (abs instanceof CpsUpperNode)
|
|
|
|
+ cvsC.bfsNodeCleaner((CpsUpperNode) abs);
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
private void forwardEdges(List<String> keys, JsonObject json, HashMap<Integer, AbstractCpsObject> objDispatch,
|
|
private void forwardEdges(List<String> keys, JsonObject json, HashMap<Integer, AbstractCpsObject> objDispatch,
|