Browse Source

Merge branch 'Ohne_Drag_and_Drop' of https://git.tk.informatik.tu-darmstadt.de/carlos.garcia/praktikum-holons into Ohne_Drag_and_Drop

Conflicts:
	src/ui/view/GUI.java
Edgardo Palza 8 years ago
parent
commit
61b63b14ea

BIN
.gradle/2.2.1/taskArtifacts/cache.properties.lock


BIN
.gradle/2.2.1/taskArtifacts/fileHashes.bin


BIN
.gradle/2.2.1/taskArtifacts/fileSnapshots.bin


BIN
.gradle/2.2.1/taskArtifacts/taskArtifacts.bin


+ 4 - 0
src/ui/controller/Control.java

@@ -79,6 +79,10 @@ public class Control {
 	public void removeEdgesOnCanvas(CpsEdge edge) {
 		canvasController.removeEdgesOnCanvas(edge);
 	}
+	
+	public void setSelecteEdge(CpsEdge edge){
+		MODEL.setSelectedEdge(edge);
+	}
 
 	public void addObjectCanvas(CpsObject object) {
 		canvasController.addObjectIntoCanvas(object);

+ 20 - 0
src/ui/model/Model.java

@@ -23,6 +23,7 @@ public class Model {
 	// ID of the Selected Object
 	private CpsObject selectedCpsObject;
 	private HolonElement selectedHolonElement;
+	private CpsEdge selectedEdge;
 
 	private int selectedID = 0;
 	// eventuell wenn Canvasgröße gewählt werden kann
@@ -257,4 +258,23 @@ public class Model {
 		return CUR_ITERATION;
 	}
 
+	/**
+	 * Set the selected Edge
+	 * 
+	 * @param edge
+	 * 
+	 */
+	public void setSelectedEdge(CpsEdge edge) {
+		this.selectedEdge = edge;
+	}
+	
+	/**
+	 * Returns the selected Edge
+	 * 
+	 * @return selectedEdge
+	 */
+	public CpsEdge getSelectedEdge(){
+		return selectedEdge;
+	}
+
 }

+ 5 - 0
src/ui/view/AddElementPopUp.java

@@ -148,6 +148,11 @@ public class AddElementPopUp extends JDialog {
 				JButton cancelButton = new JButton("Cancel");
 				cancelButton.setActionCommand("Cancel");
 				buttonPane.add(cancelButton);
+				cancelButton.addActionListener(new ActionListener() {
+					public void actionPerformed(ActionEvent e) {
+						dispose();
+					}
+				});
 			}
 		}
 	}

+ 27 - 9
src/ui/view/GUI.java

@@ -606,6 +606,15 @@ public class GUI implements CategoryListener {
 							}
 						}
 					}
+				} else if (model.getSelectedEdge() != null) {
+					Object[] tempName = { "Name", "Edge: " + model.getSelectedEdge().getA().getName() + " to "
+							+ model.getSelectedEdge().getB().getName() };
+					tableModelProperties.addRow(tempName);
+					Object[] tempFlow = { "Current flow", model.getSelectedEdge().getFlow() };
+					tableModelProperties.addRow(tempFlow);
+					Object[] tempCapacity = { "Max. Capacity", model.getSelectedEdge().getCapacity() };
+					tableModelProperties.addRow(tempCapacity);
+
 				}
 			}
 
@@ -624,16 +633,17 @@ public class GUI implements CategoryListener {
 							for (int c = 0; c < tableModelHolonElement.getColumnCount(); c++) {
 								temp.add(tableHolonElement.getValueAt(r, c));
 							}
-							float ch;
-							if (temp.get(1).toString().compareTo("-") == 0) {
-								ch = -1;
-							} else {
-								ch = 1;
-							}
-							float fa = Float.parseFloat(temp.get(2).toString());
-							int i = Integer.parseInt(temp.get(3).toString());
+							// float ch;
+							// if (temp.get(1).toString().compareTo("-") == 0) {
+							// ch = -1;
+							// } else {
+							// ch = 1;
+							// }
+							float fa = Float.parseFloat(temp.get(1).toString());
+							int i = Integer.parseInt(temp.get(2).toString());
 							((HolonObject) tempCps).getElements().get(r).setEleName((String) temp.get(0));
-							((HolonObject) tempCps).getElements().get(r).setSign(ch);
+							// ((HolonObject)
+							// tempCps).getElements().get(r).setSign(ch);
 							((HolonObject) tempCps).getElements().get(r).setEnergy(fa);
 							((HolonObject) tempCps).getElements().get(r).setAmount(i);
 							// System.out.println(tableHolonElement.getRowCount()
@@ -867,10 +877,18 @@ public class GUI implements CategoryListener {
 		deleteRows();
 		if (canvas.dataSelected != null) {
 			fillElementTable(canvas.dataSelected);
+<<<<<<< HEAD
 		} /**
 			 * hinzugef�gt damit man auch nach dem objekt platziert wurde
 			 * elemente von Objekten in Kategorien ansehen kann
 			 */
+=======
+		}
+		/**
+		 * hinzugef�gt damit man auch nach dem objekt platziert wurde elemente
+		 * von Objekten in Kategorien ansehen kann
+		 */
+>>>>>>> 20576a4b5d0fa38909435f477849c16d57f2d047
 		canvas.dataSelected = null;
 
 	}

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

@@ -108,6 +108,7 @@ class MyCanvas extends JPanel implements MouseListener, MouseMotionListener {
 		for (CpsEdge con : model.getEdgesOnCanvas()) {
 			if (con.getA().getID() != model.getSelectedObjectID() && con.getB().getID() != model.getSelectedObjectID()
 					&& con != edgeHighlight) {
+				g2.setStroke(new BasicStroke(con.getFlow()/con.getCapacity()*4));
 				g2.drawLine(con.getA().getPosition().x + controller.getScaleDiv2(),
 						con.getA().getPosition().y + controller.getScaleDiv2(),
 						con.getB().getPosition().x + controller.getScaleDiv2(),
@@ -151,7 +152,7 @@ class MyCanvas extends JPanel implements MouseListener, MouseMotionListener {
 			File checkPath = new File(cps.getImage());
 			if (checkPath.exists()) {
 				img = new ImageIcon(cps.getImage()).getImage();
-
+				
 			} else {
 				img = new ImageIcon(this.getClass().getResource(cps.getImage())).getImage();
 			}
@@ -192,6 +193,7 @@ class MyCanvas extends JPanel implements MouseListener, MouseMotionListener {
 		tempCps = null;
 		dataSelected = null;
 		edgeHighlight = null;
+		controller.setSelecteEdge(null);
 		// Object Selection
 		for (CpsObject cps : model.getObjectsOnCanvas()) {
 			cx = cps.getPosition().x;
@@ -212,6 +214,7 @@ class MyCanvas extends JPanel implements MouseListener, MouseMotionListener {
 		// Edge Selection
 		if (tempCps == null) {
 			edgeHighlight = mousePositionOnEdge(x, y);
+			controller.setSelecteEdge(edgeHighlight);
 		}
 		// Object Selection Highlighting (selectRect)
 		objectSelectionHighlighting();

+ 36 - 24
src/ui/view/UnitGraph.java

@@ -82,7 +82,11 @@ class UnitGraph extends JPanel implements MouseListener, MouseMotionListener, Co
 			g2.drawLine((i) * this.getWidth() / (ITERATIONS - 1), MAXIMUM, (i) * this.getWidth() / (ITERATIONS - 1),
 					this.getHeight());
 		}
-		g2.drawLine(0, MAXIMUM, this.getWidth(), MAXIMUM);
+		
+		for (int i = 0; i < ITERATIONS; i++) {
+			g2.drawLine(0, (i) * this.getHeight() / (ITERATIONS - 1), this.getWidth(),
+					(i) * this.getHeight() / (ITERATIONS - 1));
+		}
 
 		// Draw the Lines
 		g2.setColor(Color.BLACK);
@@ -93,28 +97,7 @@ class UnitGraph extends JPanel implements MouseListener, MouseMotionListener, Co
 			 * 1).getX() * scaleX), (int) (pointList.get(i + 1).getY() *
 			 * scaleY));
 			 */
-			x1 = (int) pointList.get(i).getX();
-			y1 = (int) pointList.get(i).getY();
-			x2 = (int) pointList.get(i + 1).getX();
-			y2 = (int) pointList.get(i + 1).getY();
-			ctrlx1 = (int) pointList.get(i).getX()
-					+ ((int) pointList.get(i + 1).getX() - (int) pointList.get(i).getX()) / 2;
-			ctrlx2 = (int) pointList.get(i + 1).getX()
-					- ((int) pointList.get(i + 1).getX() - (int) pointList.get(i).getX()) / 2;
-			if (y1 < y2) {
-				ctrly1 = (int) pointList.get(i).getY()
-						+ ((int) pointList.get(i + 1).getY() - (int) pointList.get(i).getY()) / 10;
-				ctrly2 = (int) pointList.get(i + 1).getY()
-						- ((int) pointList.get(i + 1).getY() - (int) pointList.get(i).getY()) / 10;
-			} else {
-				ctrly1 = (int) pointList.get(i).getY()
-						- ((int) pointList.get(i).getY() - (int) pointList.get(i + 1).getY()) / 10;
-				ctrly2 = (int) pointList.get(i + 1).getY()
-						+ ((int) pointList.get(i).getY() - (int) pointList.get(i + 1).getY()) / 10;
-			}
-
-			c.setCurve(x1 * scaleX, y1 * scaleY, ctrlx1 * scaleX, ctrly1 * scaleY, ctrlx2 * scaleX, ctrly2 * scaleY,
-					x2 * scaleX, y2 * scaleY);
+			c = buildCurve(pointList.get(i), pointList.get(i+1));
 			g2.draw(c);
 		}
 
@@ -237,9 +220,12 @@ class UnitGraph extends JPanel implements MouseListener, MouseMotionListener, Co
 				height = this.getHeight();
 			}
 
+			scaleX = this.getWidth() / width;
+			scaleY = this.getHeight() / height;
+			
 			if (pointList.isEmpty()) {
 				pointList.addFirst(new Point(0, MAXIMUM));
-				pointList.addLast(new Point(this.getWidth(), MAXIMUM));
+				pointList.addLast(new Point((int) (this.getWidth()/scaleX), MAXIMUM));
 			}
 		}
 		scaleX = this.getWidth() / width;
@@ -300,4 +286,30 @@ class UnitGraph extends JPanel implements MouseListener, MouseMotionListener, Co
 		repaint();
 	}
 
+	public CubicCurve2D buildCurve(Point p1, Point p2){
+		x1 = (int) p1.getX();
+		y1 = (int) p1.getY();
+		x2 = (int) p2.getX();
+		y2 = (int) p2.getY();
+		ctrlx1 = (int) p1.getX()
+				+ ((int) p2.getX() - (int) p1.getX()) / 2;
+		ctrlx2 = (int) p2.getX()
+				- ((int) p2.getX() - (int) p1.getX()) / 2;
+		if (y1 < y2) {
+			ctrly1 = (int) p1.getY()
+					+ ((int) p2.getY() - (int) p1.getY()) / 10;
+			ctrly2 = (int) p2.getY()
+					- ((int) p2.getY() - (int) p1.getY()) / 10;
+		} else {
+			ctrly1 = (int) p1.getY()
+					- ((int) p1.getY() - (int) p2.getY()) / 10;
+			ctrly2 = (int) p2.getY()
+					+ ((int) p1.getY() - (int) p2.getY()) / 10;
+		}
+
+		c.setCurve(x1 * scaleX, y1 * scaleY, ctrlx1 * scaleX, ctrly1 * scaleY, ctrlx2 * scaleX, ctrly2 * scaleY,
+				x2 * scaleX, y2 * scaleY);
+		return c;
+	}
+	
 }