Browse Source

uppernode delete tab on canvas fix

Kevin Trometer 7 years ago
parent
commit
29852d201d
2 changed files with 11 additions and 1 deletions
  1. 10 0
      src/ui/view/GUI.java
  2. 1 1
      src/ui/view/MyCanvas.java

+ 10 - 0
src/ui/view/GUI.java

@@ -450,6 +450,16 @@ public class GUI<E> implements CategoryListener {
 						.getComponent(0) instanceof MyCanvas) {
 					for (AbstractCpsObject cps : model.getSelectedCpsObjects()) {
 						controller.delCanvasObject(cps);
+						// 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();
+								}
+							}
+						}
 					}
 					canvas.repaint();
 				}

+ 1 - 1
src/ui/view/MyCanvas.java

@@ -326,7 +326,7 @@ public class MyCanvas extends JPanel implements MouseListener, MouseMotionListen
 					// Remove UpperNodeTab if UpperNode deleted
 					if (cps instanceof CpsUpperNode) {
 						JTabbedPane tabbedPane = (JTabbedPane) getParent().getParent().getParent();
-						for (int i = 2; i < tabbedPane.getTabCount(); i++) {
+						for (int i = 3; i < tabbedPane.getTabCount(); i++) {
 							if (((UpperNodeCanvas) ((JScrollPane) tabbedPane.getComponentAt(i)).getViewport()
 									.getComponent(0)).upperNode.getID() == cps.getID()) {
 								tabbedPane.remove(i);