Ver código fonte

strg a und del tasten in uppernode

Kevin Trometer 8 anos atrás
pai
commit
d17828cefb
2 arquivos alterados com 73 adições e 30 exclusões
  1. 54 14
      src/ui/view/GUI.java
  2. 19 16
      src/ui/view/UpperNodeCanvas.java

+ 54 - 14
src/ui/view/GUI.java

@@ -393,10 +393,24 @@ public class GUI<E> implements CategoryListener {
 			@Override
 			public void actionPerformed(ActionEvent e) {
 				model.getSelectedCpsObjects().clear();
-				for (AbstractCpsObject cps : model.getObjectsOnCanvas()) {
-					controller.addSelectedObject(cps);
+				// Uppernode Canvas?
+				if (((JScrollPane) tabbedPane.getSelectedComponent()).getViewport()
+						.getComponent(0) instanceof UpperNodeCanvas) {
+					UpperNodeCanvas uNC = (UpperNodeCanvas) ((JScrollPane) tabbedPane.getSelectedComponent())
+							.getViewport().getComponent(0);
+					for (AbstractCpsObject cps : uNC.upperNode.getNodes()) {
+						controller.addSelectedObject(cps);
+					}
+					uNC.repaint();
+					// or Canvas?
+				} else if (((JScrollPane) tabbedPane.getSelectedComponent()).getViewport()
+						.getComponent(0) instanceof MyCanvas) {
+					for (AbstractCpsObject cps : model.getObjectsOnCanvas()) {
+						controller.addSelectedObject(cps);
+					}
+					canvas.repaint();
 				}
-				canvas.repaint();
+
 			}
 		});
 
@@ -408,11 +422,37 @@ public class GUI<E> implements CategoryListener {
 
 			@Override
 			public void actionPerformed(ActionEvent e) {
-				for (AbstractCpsObject cps : model.getSelectedCpsObjects()) {
-					controller.delCanvasObject(cps);
+				// Uppernode Canvas?
+				if (((JScrollPane) tabbedPane.getSelectedComponent()).getViewport()
+						.getComponent(0) instanceof UpperNodeCanvas) {
+					UpperNodeCanvas uNC = (UpperNodeCanvas) ((JScrollPane) tabbedPane.getSelectedComponent())
+							.getViewport().getComponent(0);
+					for (AbstractCpsObject cps : model.getSelectedCpsObjects()) {
+						if (uNC.upperNode.getNodes().contains(cps)) {
+							controller.delObjUpperNode(cps, uNC.upperNode);
+							// Remove UpperNodeTab if UpperNode deleted
+							if (cps instanceof CpsUpperNode) {
+								for (int i = 3; i < tabbedPane.getTabCount(); i++) {
+									if (((UpperNodeCanvas) ((JScrollPane) tabbedPane.getComponentAt(i)).getViewport()
+											.getComponent(0)).upperNode.getID() == cps.getID()) {
+										tabbedPane.remove(i);
+										i = tabbedPane.getTabCount();
+									}
+								}
+							}
+						}
+					}
+					uNC.repaint();
+
+					// or Canvas?
+				} else if (((JScrollPane) tabbedPane.getSelectedComponent()).getViewport()
+						.getComponent(0) instanceof MyCanvas) {
+					for (AbstractCpsObject cps : model.getSelectedCpsObjects()) {
+						controller.delCanvasObject(cps);
+					}
+					canvas.repaint();
 				}
 				model.getSelectedCpsObjects().clear();
-				canvas.repaint();
 				unitGraph.empty();
 			}
 		});
@@ -619,7 +659,7 @@ public class GUI<E> implements CategoryListener {
 		canvas.setPreferredSize(new Dimension(model.getCanvasX(), model.getCanvasY()));
 		holonCanvas.setBackground(Color.WHITE);
 		holonCanvas.setPreferredSize(new Dimension(model.getCanvasX(), model.getCanvasY()));
-		
+
 		/********************
 		 * RIGHT CONTAINER (INFORMATION)
 		 **********************/
@@ -1584,10 +1624,10 @@ public class GUI<E> implements CategoryListener {
 			int dialogResult = JOptionPane.showConfirmDialog(null, "Old autosave file was found, should it be loaded?",
 					warningText, dialogButton);
 			if (dialogResult == JOptionPane.YES_OPTION) {
-				if(dest.exists()){
-				model.setAutoSaveNr(dest.listFiles().length - 1);
-				mntmRedo.doClick();
-				}else{
+				if (dest.exists()) {
+					model.setAutoSaveNr(dest.listFiles().length - 1);
+					mntmRedo.doClick();
+				} else {
 					JOptionPane.showMessageDialog(frmCyberPhysical, "Autosave could not be loaded.");
 					setUpAutoSave(dest);
 				}
@@ -1596,14 +1636,14 @@ public class GUI<E> implements CategoryListener {
 			}
 		}
 	}
-	
+
 	/**
 	 * Sets up autosave if no old one is loaded at the beginning
 	 * 
 	 * @param dest
-	 * 			path to save-folder
+	 *            path to save-folder
 	 */
-	public void setUpAutoSave(File dest){
+	public void setUpAutoSave(File dest) {
 		controller.deleteDirectory(dest);
 		dest.mkdirs();
 		try {

+ 19 - 16
src/ui/view/UpperNodeCanvas.java

@@ -227,15 +227,17 @@ public class UpperNodeCanvas extends JPanel implements MouseListener, MouseMotio
 			public void actionPerformed(ActionEvent e) {
 				// Remove the selected Object objects
 				for (AbstractCpsObject cps : model.getSelectedCpsObjects()) {
-					controller.delObjUpperNode(cps, upperNode);
-					// Remove UpperNodeTab if UpperNode deleted
-					if (cps instanceof CpsUpperNode) {
-						JTabbedPane tabbedPane = (JTabbedPane) getParent().getParent().getParent();
-						for (int i = 2; i < tabbedPane.getTabCount(); i++) {
-							if (((UpperNodeCanvas) ((JScrollPane) tabbedPane.getComponentAt(i)).getViewport()
-									.getComponent(0)).upperNode.getID() == cps.getID()) {
-								tabbedPane.remove(i);
-								i = tabbedPane.getTabCount();
+					if (upperNode.getNodes().contains(cps)) {
+						controller.delObjUpperNode(cps, upperNode);
+						// Remove UpperNodeTab if UpperNode deleted
+						if (cps instanceof CpsUpperNode) {
+							JTabbedPane tabbedPane = (JTabbedPane) getParent().getParent().getParent();
+							for (int i = 2; i < tabbedPane.getTabCount(); i++) {
+								if (((UpperNodeCanvas) ((JScrollPane) tabbedPane.getComponentAt(i)).getViewport()
+										.getComponent(0)).upperNode.getID() == cps.getID()) {
+									tabbedPane.remove(i);
+									i = tabbedPane.getTabCount();
+								}
 							}
 						}
 					}
@@ -629,11 +631,12 @@ public class UpperNodeCanvas extends JPanel implements MouseListener, MouseMotio
 						} else {
 							controller.addSelectedObject(tempCps);
 						}
-					} /*else if (e.getButton() != MouseEvent.BUTTON3) {
-						controller.setSelectedObjectID(tempCps.getID());
-						model.getSelectedCpsObjects().clear();
-						controller.addSelectedObject(tempCps);
-					}*/
+					} /*
+						 * else if (e.getButton() != MouseEvent.BUTTON3) {
+						 * controller.setSelectedObjectID(tempCps.getID());
+						 * model.getSelectedCpsObjects().clear();
+						 * controller.addSelectedObject(tempCps); }
+						 */
 					// If drawing an Edge (CTRL down)
 					if (tempCps.getClass() == HolonObject.class) {
 						HolonObject tempObj = ((HolonObject) tempCps);
@@ -735,7 +738,7 @@ public class UpperNodeCanvas extends JPanel implements MouseListener, MouseMotio
 			}
 		}
 
-		if (!e.isControlDown() && dragged == false && tempCps != null && e.BUTTON3 != e.getButton()) {
+		if (!e.isControlDown() && dragged == false && tempCps != null && MouseEvent.BUTTON3 != e.getButton()) {
 			model.getSelectedCpsObjects().clear();
 			controller.addSelectedObject(tempCps);
 		}
@@ -744,7 +747,7 @@ public class UpperNodeCanvas extends JPanel implements MouseListener, MouseMotio
 
 		// Rightclick List
 		if (e.getButton() == MouseEvent.BUTTON3) {
-			if (e.getButton() == MouseEvent.BUTTON3 && tempCps != null) {
+			if (tempCps != null) {
 				itemDelete.setEnabled(true);
 				itemCut.setEnabled(true);
 				itemCopy.setEnabled(true);