Browse Source

Disables pasted/loaded objects replacing each other

Andreas T. Meyer-Berg 6 years ago
parent
commit
911b523431

+ 5 - 4
src/ui/controller/CanvasController.java

@@ -42,14 +42,15 @@ public class CanvasController {
 	 * 
 	 * @param object
 	 *            CpsObject to be added.
+	 * @param replace when true objects could be replaced
 	 */
-	public void addObject(AbstractCpsObject object) {
+	public void addObject(AbstractCpsObject object, boolean replace) {
 		model.getCvsObjIdx().put(object.getId(), model.getObjectsOnCanvas().size());
 		model.getObjectsOnCanvas().add(object);
 		/**
 		 * check if we should drag & drop replace
 		 */
-		if(!(object instanceof CpsNode)){
+		if(!(object instanceof CpsNode) && replace){
 			/** x of the dragged Object */
 			int x = object.getPosition().x;
 			
@@ -102,7 +103,7 @@ public class CanvasController {
 	public void addNewObject(AbstractCpsObject object) {
 		object.setSav("CVS");
 		// object.setConnections(new ArrayList<CpsEdge>());
-		addObject(object);
+		addObject(object, true);
 	}
 
 	/**
@@ -237,7 +238,7 @@ public class CanvasController {
 			tCps.setPosition(new Position(p.x + (cps.getPosition().x - x), p.y + (cps.getPosition().y - y)));
 			tCps.setSav(cps.getSav());
 			tempList.add(tCps);
-			addObject(tCps);
+			addObject(tCps, false);
 			// MODEL.getSelectedCpsObjects().add(tCps);
 		}
 

+ 2 - 2
src/ui/controller/ClipboardController.java

@@ -204,7 +204,7 @@ public class ClipboardController {
         // if its stored before on the canvas just put it there
         if (temp.getSav().equals(sav)) {
             if (upperNode == null)
-                cvsC.addObject(temp);
+                cvsC.addObject(temp, false);
             else
                 uppC.addObjectInUpperNode(temp, upperNode, false);
             // mark the Pasted Objects
@@ -220,7 +220,7 @@ public class ClipboardController {
             	 * Add it to the current Canvas/UpperNode
             	 */
             	 if (upperNode == null)
-                     cvsC.addObject(temp);
+                     cvsC.addObject(temp, false);
                  else
                      uppC.addObjectInUpperNode(temp, upperNode, false);
             }

+ 2 - 2
src/ui/controller/LoadController.java

@@ -268,7 +268,7 @@ public class LoadController {
         }
         // if its stored before on the canvas just put it there
         if (temp.getSav().equals("CVS")) {
-            cvsC.addObject(temp);
+            cvsC.addObject(temp, false);
 
         } else {
             // else look up the table and put it into the right Uppernode
@@ -279,7 +279,7 @@ public class LoadController {
             	/**
             	 * if null try to load on canvas
             	 */
-            	cvsC.addObject(temp);
+            	cvsC.addObject(temp, false);
             }
 
        }