Browse Source

select all(strg A)

Kevin Trometer 8 years ago
parent
commit
abe27b5341
2 changed files with 40 additions and 8 deletions
  1. 21 6
      src/ui/controller/CanvasController.java
  2. 19 2
      src/ui/view/GUI.java

+ 21 - 6
src/ui/controller/CanvasController.java

@@ -135,30 +135,45 @@ public class CanvasController {
 				tCps = new HolonObject((HolonObject) cps);
 			} else if (cps instanceof HolonSwitch) {
 				tCps = new HolonSwitch((HolonSwitch) cps);
-			} else  {
+			} else {
 				tCps = new CpsNode("Node");
 			}
 			tCps.setPosition(new Position(p.x + (cps.getPosition().x - x), p.y + (cps.getPosition().y - y)));
 			tempList.add(tCps);
 			addObject(tCps);
-			//MODEL.getSelectedCpsObjects().add(tCps);
+			// MODEL.getSelectedCpsObjects().add(tCps);
 		}
 
 		// Edges
 		boolean newEdge = true;
 		for (CpsObject cps : MODEL.getClipboradObjects()) {
+			System.out.println("Object edges: " + cps.getConnectedTo().size());
 			for (CpsEdge e : cps.getConnectedTo()) {
 				// A and B of e in the copied Elements?
 				if (MODEL.getClipboradObjects().indexOf(e.getA()) != -1
 						&& MODEL.getClipboradObjects().indexOf(e.getB()) != -1) {
-					for (CpsEdge e1 : tempList.get(MODEL.getClipboradObjects().indexOf(cps)).getConnectedTo()) {
-						if (e1.getA() == e.getA() && e1.getB() == e.getB()) {
-							newEdge = false;
+					CpsObject A = tempList.get(MODEL.getClipboradObjects().indexOf(e.getA()));
+					CpsObject B = tempList.get(MODEL.getClipboradObjects().indexOf(e.getB()));
+					//was this Edge created or not?
+					for (CpsEdge et : tempList.get(MODEL.getClipboradObjects().indexOf(cps)).getConnectedTo()) {
+						for (CpsEdge etA : et.getA().getConnectedTo()) {
+							if (et.getA() == A && et.getB() == B) {
+								System.out.println("false");
+								newEdge = false;
+							}
+						}
+						for (CpsEdge etB : et.getB().getConnectedTo()) {
+							if (et.getA() == A && et.getB() == B) {
+								System.out.println("false");
+								newEdge = false;
+							}
 						}
 					}
 					if (newEdge) {
+						System.out.println("new edge");
 						CpsEdge tempE = new CpsEdge(tempList.get(MODEL.getClipboradObjects().indexOf(e.getA())), // A
-								tempList.get(MODEL.getClipboradObjects().indexOf(e.getB())), /* B */ e.getCapacity());
+								tempList.get(MODEL.getClipboradObjects().indexOf(e.getB())), /* B */
+								e.getCapacity());
 						addEdgeOnCanvas(tempE);
 					}
 					newEdge = true;

+ 19 - 2
src/ui/view/GUI.java

@@ -291,6 +291,7 @@ public class GUI<E> implements CategoryListener {
 						}
 					}
 					unitGraph.empty();
+					controller.addTextToConsole("undo", Color.BLACK, 12, false, false, true);
 				} catch (IOException f) {
 					// TODO Auto-generated catch block
 					f.printStackTrace();
@@ -322,6 +323,7 @@ public class GUI<E> implements CategoryListener {
 						}
 					}
 					unitGraph.empty();
+					controller.addTextToConsole("redo", Color.BLACK, 12, false, false, true);
 				} catch (IOException f) {
 					// TODO Auto-generated catch block
 					f.printStackTrace();
@@ -329,6 +331,20 @@ public class GUI<E> implements CategoryListener {
 			}
 		});
 
+		String cntrlADown = "controlA";
+		inputMap.put(KeyStroke.getKeyStroke("control A"), cntrlADown);
+		actionMap.put(cntrlADown, new AbstractAction() {
+			@Override
+			public void actionPerformed(ActionEvent e) {
+				model.getSelectedCpsObjects().clear();
+				for (CpsObject cps: model.getObjectsOnCanvas()) {
+					controller.addSelectedObject(cps);
+				}
+				controller.addTextToConsole("Select All", Color.BLACK, 12, false, false, true);
+				canvas.repaint();
+			}
+		});
+		
 		String delDown = "delete";
 		inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_DELETE, 0, false), delDown);
 		actionMap.put(delDown, new AbstractAction() {
@@ -359,7 +375,7 @@ public class GUI<E> implements CategoryListener {
 			@Override
 			public void actionPerformed(ActionEvent e) {
 				if (!model.getSelectedCpsObjects().isEmpty()) {
-					System.out.println("copy");
+					controller.addTextToConsole("copy", Color.BLACK, 12, false, false, true);
 					controller.copyObjects();
 					if (!model.getClipboradObjects().isEmpty()) {
 						canvas.itemPaste.setEnabled(true);
@@ -374,6 +390,7 @@ public class GUI<E> implements CategoryListener {
 
 			@Override
 			public void actionPerformed(ActionEvent e) {
+				controller.addTextToConsole("paste", Color.BLACK, 12, false, false, true);
 				controller.pasteObjects(canvas.getMousePosition());
 				canvas.repaint();
 			}
@@ -391,7 +408,7 @@ public class GUI<E> implements CategoryListener {
 						canvas.itemPaste.setEnabled(true);
 					}
 					canvas.repaint();
-					System.out.println("cut");
+					controller.addTextToConsole("cut", Color.BLACK, 12, false, false, true);
 				}
 			}
 		});