소스 검색

breadcrump und uppernodeception

Kevin Trometer 8 년 전
부모
커밋
c66583f91e
2개의 변경된 파일22개의 추가작업 그리고 8개의 파일을 삭제
  1. 8 1
      src/ui/view/GUI.java
  2. 14 7
      src/ui/view/UpperNodeCanvas.java

+ 8 - 1
src/ui/view/GUI.java

@@ -2057,7 +2057,14 @@ public class GUI<E> implements CategoryListener {
 	 * Open a new Tab with an UpperNodeCanvas
 	 */
 	private void openNewUpperNodeTab() {
-		UpperNodeCanvas unc = new UpperNodeCanvas(model, controller, (CpsUpperNode) temp);
+		UpperNodeCanvas unc;
+		if(((JScrollPane) tabbedPane.getSelectedComponent()).getViewport()
+		.getComponent(0) instanceof MyCanvas){
+			unc = new UpperNodeCanvas(model, controller, (CpsUpperNode) temp, "" );
+		} else {
+			unc = new UpperNodeCanvas(model, controller, (CpsUpperNode) temp, ((UpperNodeCanvas)((JScrollPane) tabbedPane.getSelectedComponent()).getViewport().getComponent(0)).path+" -> " );	
+		}
+		
 		unc.setBorder(null);
 		unc.setBackground(Color.WHITE);
 		unc.setPreferredSize(new Dimension(model.getCanvasX(), model.getCanvasY()));

+ 14 - 7
src/ui/view/UpperNodeCanvas.java

@@ -6,7 +6,6 @@ import java.awt.Graphics;
 import java.awt.Graphics2D;
 import java.awt.Image;
 import java.awt.Point;
-import java.awt.Rectangle;
 import java.awt.RenderingHints;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
@@ -21,12 +20,12 @@ import java.util.Timer;
 import java.util.TimerTask;
 
 import javax.swing.ImageIcon;
+import javax.swing.JLabel;
 import javax.swing.JMenuItem;
 import javax.swing.JPanel;
 import javax.swing.JPopupMenu;
 import javax.swing.JToolTip;
 
-import api.CpsAPI;
 import classes.CpsEdge;
 import classes.CpsNode;
 import classes.CpsUpperNode;
@@ -57,12 +56,16 @@ public class UpperNodeCanvas extends JPanel implements MouseListener, MouseMotio
 	private int sx, sy; // Mark Coords
 	private float scalediv20;
 
+	// Path
+	public String path;
+	private JLabel breadCrumb;
+
 	ArrayList<HolonElement> dataSelected = new ArrayList<HolonElement>();
 	ArrayList<AbstractCpsObject> tempSelected = new ArrayList<AbstractCpsObject>();
-	
-	//The UpperNode
+
+	// The UpperNode
 	public CpsUpperNode upperNode;
-	
+
 	private boolean[] showedInformation = new boolean[3];
 	private boolean dragging = false; // for dragging
 	private boolean dragged = false; // if an object/objects was/were dragged
@@ -97,13 +100,17 @@ public class UpperNodeCanvas extends JPanel implements MouseListener, MouseMotio
 	 * @param control
 	 *            the Controller
 	 */
-	public UpperNodeCanvas(Model mod, Control control, CpsUpperNode UpperNode) {
+	public UpperNodeCanvas(Model mod, Control control, CpsUpperNode UpperNode, String parentPath) {
 		this.add(objectTT);
 		this.controller = control;
 		this.model = mod;
 
 		this.upperNode = UpperNode;
-		
+
+		this.path = parentPath + upperNode.getName();
+		this.breadCrumb = new JLabel(path);
+		this.add(breadCrumb);
+
 		scalediv20 = model.getScale() / 20;
 
 		showedInformation[0] = true;