浏览代码

uppernode in uppernode öffnen

Kevin Trometer 8 年之前
父节点
当前提交
0952f2acd1
共有 1 个文件被更改,包括 34 次插入14 次删除
  1. 34 14
      src/ui/view/GUI.java

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

@@ -1015,12 +1015,14 @@ public class GUI<E> implements CategoryListener {
 			public void mouseReleased(MouseEvent e) {
 				try {
 					if (dragging) {
-						if (((JScrollPane) tabbedPane.getSelectedComponent()).getViewport().getComponent(0) instanceof UpperNodeCanvas) {
-							UpperNodeCanvas unc =  ((UpperNodeCanvas)((JScrollPane) tabbedPane.getSelectedComponent()).getViewport().getComponent(0));
-							
+						if (((JScrollPane) tabbedPane.getSelectedComponent()).getViewport()
+								.getComponent(0) instanceof UpperNodeCanvas) {
+							UpperNodeCanvas unc = ((UpperNodeCanvas) ((JScrollPane) tabbedPane.getSelectedComponent())
+									.getViewport().getComponent(0));
+
 							int x = (int) unc.getMousePosition().getX();
 							int y = (int) unc.getMousePosition().getY();
-							
+
 							AbstractCpsObject h = null;
 							if (tempCps instanceof HolonObject) {
 								h = new HolonObject(tempCps);
@@ -1040,7 +1042,7 @@ public class GUI<E> implements CategoryListener {
 						} else {
 							int x = (int) canvas.getMousePosition().getX();
 							int y = (int) canvas.getMousePosition().getY();
-							
+
 							AbstractCpsObject h = null;
 							if (tempCps instanceof HolonObject) {
 								h = new HolonObject(tempCps);
@@ -1339,15 +1341,7 @@ public class GUI<E> implements CategoryListener {
 				}
 				// New Tab with NodeOfNode
 				if (doubleClick() && temp instanceof CpsUpperNode) {
-					UpperNodeCanvas unc = new UpperNodeCanvas(model, controller, (CpsUpperNode) temp);
-					unc.setBorder(null);
-					unc.setBackground(Color.WHITE);
-					unc.setPreferredSize(new Dimension(model.getCanvasX(), model.getCanvasY()));
-					JScrollPane sp = new JScrollPane(unc);
-					sp.setBorder(null);
-					tabbedPane.add(temp.getName(), sp);
-					tabbedPane.setSelectedComponent(sp);
-					tabbedPane.setTabComponentAt(tabbedPane.getTabCount() - 1, new ButtonTabComponent(tabbedPane));
+					openNewUpperNodeTab();
 				}
 			}
 
@@ -2058,4 +2052,30 @@ public class GUI<E> implements CategoryListener {
 		}
 		return false;
 	}
+
+	/*
+	 * Open a new Tab with an UpperNodeCanvas
+	 */
+	private void openNewUpperNodeTab() {
+		UpperNodeCanvas unc = new UpperNodeCanvas(model, controller, (CpsUpperNode) temp);
+		unc.setBorder(null);
+		unc.setBackground(Color.WHITE);
+		unc.setPreferredSize(new Dimension(model.getCanvasX(), model.getCanvasY()));
+
+		unc.addMouseListener(new MouseAdapter() {
+			@Override
+			public void mousePressed(MouseEvent e) {
+				if (doubleClick()) {
+					openNewUpperNodeTab();
+				}
+			}
+		});
+
+		JScrollPane sp = new JScrollPane(unc);
+		sp.setBorder(null);
+		tabbedPane.add(temp.getName(), sp);
+		tabbedPane.setSelectedComponent(sp);
+		tabbedPane.setTabComponentAt(tabbedPane.getTabCount() - 1, new ButtonTabComponent(tabbedPane));
+	}
+
 }