Procházet zdrojové kódy

Selecting Objects after Pasting done

Teh-Hai Julian Zheng před 7 roky
rodič
revize
5b23b5beff

+ 8 - 2
src/classes/CpsUpperNode.java

@@ -3,6 +3,8 @@ package classes;
 import java.util.ArrayList;
 import java.util.HashMap;
 
+import com.google.gson.annotations.Expose;
+
 public class CpsUpperNode extends AbstractCpsObject {
 
 	private ArrayList<AbstractCpsObject> nodes;
@@ -10,9 +12,13 @@ public class CpsUpperNode extends AbstractCpsObject {
 	private ArrayList<CpsEdge> oldEdges;
 	private HashMap<Integer, Integer> nodesIdx;
 	// Background Image
+	@Expose
 	private String imgPath = "";
+	@Expose
 	private int backgroundMode = 0;
+	@Expose
 	private int backgroundWidth = 0;
+	@Expose
 	private int backgroundHeight = 0;
 
 	public CpsUpperNode(String nodeName) {
@@ -165,7 +171,7 @@ public class CpsUpperNode extends AbstractCpsObject {
 	public int getBackgroundMode() {
 		return backgroundMode;
 	}
-	
+
 	/**
 	 * Get the Background image Width.
 	 * 
@@ -174,7 +180,7 @@ public class CpsUpperNode extends AbstractCpsObject {
 	public int getImageWidht() {
 		return backgroundWidth;
 	}
-	
+
 	/**
 	 * Get the Background image Height.
 	 * 

+ 6 - 1
src/ui/controller/ClipboardController.java

@@ -164,6 +164,8 @@ public class ClipboardController {
 
 		HashMap<Integer, AbstractCpsObject> objDispatch = new HashMap<>();
 		HashMap<Integer, HolonElement> eleDispatch = new HashMap<>();
+		model.getSelectedCpsObjects().clear();
+		
 		objIDMap = new HashMap<>();
 		eleIDMap = new HashMap<>();
 		sav = json.get("SAV").getAsString();
@@ -172,6 +174,8 @@ public class ClipboardController {
 		point = new Point(old.x - p.x, old.y - p.y);
 
 		forwardObjects(keys, json, objDispatch, eleDispatch, upperNode);
+		//for selecting Cps
+		getObjectsInDepth();
 		forwardEdges(edges, json, objDispatch, upperNode);
 
 	}
@@ -244,7 +248,8 @@ public class ClipboardController {
 				cvsC.addObject(temp);
 			else
 				uppC.addObjectInUpperNode(temp, upperNode);
-
+			//mark the Pasted Objects
+			model.getSelectedCpsObjects().add(temp);
 		} else {
 			// else look up the table and put it into the right Uppernode
 			CpsUpperNode temp2 = (CpsUpperNode) objDispatch.get(objIDMap.get(Integer.parseInt(temp.getSav())));