Browse Source

select stuff

Kevin Trometer 7 years ago
parent
commit
eb5f4157c0
1 changed files with 38 additions and 14 deletions
  1. 38 14
      src/ui/view/UpperNodeCanvas.java

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

@@ -215,19 +215,19 @@ public class UpperNodeCanvas extends JPanel implements MouseListener, MouseMotio
 			@Override
 			public void actionPerformed(ActionEvent e) {
 				// Remove the selected Object objects
-				for (AbstractCpsObject cps : model.getSelectedCpsObjects()) {
+				for (AbstractCpsObject cps : model.getSelectedCpsObjects()) {
 					controller.delObjUpperNode(cps, UpperNode);
 					// Remove UpperNodeTab if UpperNode deleted
-					if(cps instanceof CpsUpperNode){
+					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()) {
+							if (((UpperNodeCanvas) ((JScrollPane) tabbedPane.getComponentAt(i)).getViewport()
+									.getComponent(0)).upperNode.getID() == cps.getID()) {
 								tabbedPane.remove(i);
-								i = tabbedPane.getTabCount();				
+								i = tabbedPane.getTabCount();
 							}
 						}
-					}
+					}
 				}
 				model.getSelectedCpsObjects().clear();
 				tempCps = null;
@@ -281,12 +281,11 @@ public class UpperNodeCanvas extends JPanel implements MouseListener, MouseMotio
 		g2.setRenderingHints(rh);
 
 		// Left Border
-		borderPos = (int) (model.getScale()+scalediv20+scalediv20+10);
+		borderPos = (int) (model.getScale() + scalediv20 + scalediv20 + 10);
 		g2.setColor(new Color(230, 230, 230));
 		g2.fillRect(0, 0, borderPos, this.getHeight());
 		g2.setColor(Color.BLACK);
 		g2.drawLine(0, 0, this.getWidth(), 0);
-		
 
 		// Test SubNet Coloring
 		int i = 0;
@@ -462,13 +461,18 @@ public class UpperNodeCanvas extends JPanel implements MouseListener, MouseMotio
 		// Objects connected to upperNode
 		int count = 0;
 		for (CpsEdge e : upperNode.getConnections()) {
-
 			AbstractCpsObject cps;
 			if (e.getA().equals(this.upperNode)) {
 				cps = e.getB();
 			} else {
 				cps = e.getA();
 			}
+			//Show and Highlight 
+			if (model.getSelectedCpsObjects().contains(cps)) {
+				for (CpsEdge ed: cps.getConnections()) {
+					
+				}
+			}
 
 			// Border Highlighting
 			g2.setColor(cps.getBorderColor());
@@ -520,11 +524,11 @@ public class UpperNodeCanvas extends JPanel implements MouseListener, MouseMotio
 					controller.getScale(), null);
 			count++;
 		}
-		
+
 		// Dragg Highlighting
+		g2.setStroke(new BasicStroke(1));
 		if (doMark) {
 			g2.setColor(Color.BLACK);
-			g2.setStroke(new BasicStroke(1));
 			if (sx > x && sy > y) {
 				g2.drawRect(x, y, sx - x, sy - y);
 			} else if (sx < x && sy < y) {
@@ -535,8 +539,8 @@ public class UpperNodeCanvas extends JPanel implements MouseListener, MouseMotio
 				g2.drawRect(sx, y, x - sx, sy - y);
 			}
 		}
-		
-		//Border Line
+
+		// Border Line
 		g2.setColor(Color.BLACK);
 		g2.drawLine(borderPos, 0, borderPos, this.getHeight());
 	}
@@ -585,6 +589,7 @@ public class UpperNodeCanvas extends JPanel implements MouseListener, MouseMotio
 				}
 			}
 		} else {
+			int count = 0;
 			for (CpsEdge ed : upperNode.getConnections()) {
 				AbstractCpsObject cps;
 				if (ed.getA().equals(this.upperNode)) {
@@ -592,7 +597,26 @@ public class UpperNodeCanvas extends JPanel implements MouseListener, MouseMotio
 				} else {
 					cps = ed.getA();
 				}
-
+				if (x - controller.getScale() <= ((borderPos >> 1) - model.getScaleDiv2())
+						&& y - controller.getScale() <= (scalediv20 + 5 + (model.getScale() + scalediv20 + 10) * count)
+						&& x >= (borderPos >> 1) - model.getScaleDiv2()
+						&& y >= (scalediv20 + 5 + (model.getScale() + scalediv20 + 10) * count)) {
+					tempCps = cps;
+					controller.addTextToConsole("Selected: ", Color.BLACK, 12, false, false, false);
+					controller.addTextToConsole("" + cps.getName(), Color.BLUE, 12, true, false, false);
+					controller.addTextToConsole(", ID:", Color.BLACK, 12, false, false, false);
+					controller.addTextToConsole("" + cps.getID(), Color.RED, 12, true, false, true);
+					controller.setSelectedObjectID(tempCps.getID());
+					// If drawing an Edge (CTRL down)
+					if (tempCps.getClass() == HolonObject.class) {
+						HolonObject tempObj = ((HolonObject) tempCps);
+						dataSelected = tempObj.getElements();
+					}
+					if (e.isShiftDown()) {
+						drawEdge = true;
+					}
+				}
+				count++;
 			}
 		}