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/MyCanvas.java
Edgardo Palza 8 years ago
parent
commit
49413fef1f

+ 2 - 9
src/classes/Edge.java → src/classes/CpsEdge.java

@@ -1,21 +1,14 @@
 package classes;
 
-public class Edge {
+public class CpsEdge {
 
 	final float maxCapacity;
 	float curCapacity;
 	
 	CpsObject A;
 	CpsObject B;
-	
-
-	
-	
-
-
-
 
-	Edge(CpsObject A, CpsObject B, float maxCapacity){
+	CpsEdge(CpsObject A, CpsObject B, float maxCapacity){
 		setA(A);
 		setB(B);
 		this.maxCapacity = maxCapacity;

+ 4 - 2
src/classes/CpsNode.java

@@ -1,11 +1,13 @@
 package classes;
 
-public class CpsNode extends CpsObject{
+import ui.model.idCounter;
+
+public class CpsNode extends CpsObject {
 
 	public CpsNode(String objName) {
 		super(objName);
 		this.setImage("/Images/node.png");
-		this.setID(-1);
+		this.setID(idCounter.nextId());
 	}
 
 }

+ 2 - 2
src/ui/model/Model.java

@@ -169,8 +169,8 @@ public class Model {
 		return SCALE_DIV2;
 	}
 	
-	public void setScale(int s){
-		SCALE = s;
+	public void setScale(int scale){
+		SCALE = scale;
 		SCALE_DIV2 = SCALE/2;
 	}
 

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

@@ -147,6 +147,7 @@ public class GUI implements CategoryListener {
 	private CpsObject tempCps = null;
 
 	private MyCanvas canvas;
+	private UnitGraph testgraph; // for testing, remove later
 	private final JSplitPane splitPane_3 = new JSplitPane();
 	private final JSlider slider = new JSlider();
 	private final JLabel lblImageSize = new JLabel("Image Size");
@@ -158,6 +159,8 @@ public class GUI implements CategoryListener {
 		this.controller = control;
 		this.model = control.getModel();
 		this.canvas = new MyCanvas(model, control);
+		this.testgraph = new UnitGraph(model, control); // for testing, remove
+														// later
 		control.initListener(this);
 		initialize();
 		updateCategories(model.getCategories());
@@ -210,6 +213,8 @@ public class GUI implements CategoryListener {
 
 		mnHelp.add(aboutUs);
 
+		testgraph.setBackground(Color.WHITE);
+
 		canvas.setBackground(Color.WHITE);
 		canvas.setPreferredSize(new Dimension(10000, 10000));
 		JScrollPane canvasSP = new JScrollPane(canvas);
@@ -259,7 +264,7 @@ public class GUI implements CategoryListener {
 		 */
 		scrollProperties.setViewportView(tableProperties);
 		scrollElements.setViewportView(tableHolonElement);
-		scrollGraph.setViewportView(tableGraph);
+		scrollGraph.setViewportView(testgraph);
 
 		frmCyberPhysical.getContentPane().setLayout(new BorderLayout(0, 0));
 

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

@@ -6,6 +6,8 @@ import java.util.ArrayList;
 import javax.swing.UIManager;
 import javax.swing.UnsupportedLookAndFeelException;
 
+import com.sun.javafx.geom.Edge;
+
 import ui.controller.*;
 import ui.model.*;
 
@@ -29,6 +31,9 @@ public class Main {
 					Model MODEL = new Model();
 					Control CONTROL = new Control(MODEL);
 					GUI VIEW = new GUI(CONTROL);
+					
+					
+					
 
 					VIEW.getFrmCyberPhysical().setVisible(true);
 

+ 19 - 0
src/ui/view/MyCanvas.java

@@ -1,5 +1,6 @@
 package ui.view;
 
+import java.awt.BasicStroke;
 import java.awt.Color;
 import java.awt.Graphics;
 import java.awt.Graphics2D;
@@ -21,11 +22,14 @@ import javax.swing.JPanel;
 import javax.swing.JPopupMenu;
 import javax.swing.JToolTip;
 
+import com.sun.javafx.geom.Edge;
+
 import classes.CpsNode;
 import classes.CpsObject;
 import classes.HolonElement;
 import classes.HolonObject;
 import classes.HolonSwitch;
+import javafx.util.Pair;
 import ui.controller.Control;
 import ui.model.*;
 
@@ -95,6 +99,7 @@ class MyCanvas extends JPanel implements MouseListener, MouseMotionListener {
 
 		// drawEdges
 		g2.setColor(Color.BLACK);
+		g2.setStroke(new BasicStroke(2));
 		if (drawEdge)
 			g2.drawLine(tempCps.getPosition().x + controller.getScaleDiv2(),
 					tempCps.getPosition().y + controller.getScaleDiv2(), x, y);
@@ -106,8 +111,12 @@ class MyCanvas extends JPanel implements MouseListener, MouseMotionListener {
 							cps.getPosition().y + controller.getScaleDiv2(),
 							con.getPosition().x + controller.getScaleDiv2(),
 							con.getPosition().y + controller.getScaleDiv2());
+<<<<<<< .merge_file_5vsGyG
 				g2.drawString("Capacity", (cps.getPosition().x + con.getPosition().x) / 2 + model.getScaleDiv2(),
 						(cps.getPosition().y + con.getPosition().y) / 2 + model.getScaleDiv2());
+=======
+				g2.drawString("100", (cps.getPosition().x+con.getPosition().x)/2+model.getScaleDiv2(), (cps.getPosition().y+con.getPosition().y)/2+model.getScaleDiv2());
+>>>>>>> .merge_file_XQl6Qh
 			}
 		}
 
@@ -123,6 +132,8 @@ class MyCanvas extends JPanel implements MouseListener, MouseMotionListener {
 			}
 		}
 
+		
+		
 		// Objects
 		for (CpsObject cps : model.getObjectsOnCanvas()) {
 			img = new ImageIcon(this.getClass().getResource(cps.getImage())).getImage();
@@ -172,9 +183,17 @@ class MyCanvas extends JPanel implements MouseListener, MouseMotionListener {
 				// If drawing an Edge (CTRL down)
 				if (e.isControlDown()) {
 					drawEdge = true;
+<<<<<<< .merge_file_5vsGyG
+					controller.deleteElementCanvas(1, "Rehab");
+					System.out.println(((HolonObject) model.getCategories().get(0).getObjects().get(0)).getElements()
+							.get(2).getAmount());
+=======
+					/*
 					controller.deleteElementCanvas(1, "Rehab");
 					System.out.println(((HolonObject) model.getCategories().get(0).getObjects().get(0)).getElements()
 							.get(2).getAmount());
+					*/
+>>>>>>> .merge_file_XQl6Qh
 				}
 				if (tempCps.getClass() == HolonObject.class) {
 					HolonObject tempObj = ((HolonObject) tempCps);

+ 140 - 0
src/ui/view/UnitGraph.java

@@ -0,0 +1,140 @@
+package ui.view;
+
+import java.awt.BasicStroke;
+import java.awt.Color;
+import java.awt.Graphics;
+import java.awt.Graphics2D;
+import java.awt.RenderingHints;
+import java.awt.event.ComponentEvent;
+import java.awt.event.ComponentListener;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
+import java.awt.event.MouseMotionListener;
+import java.util.ArrayList;
+import java.awt.Point;
+
+import javax.swing.ImageIcon;
+import javax.swing.JButton;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+
+import com.sun.xml.internal.bind.v2.runtime.unmarshaller.XsiNilLoader.Array;
+
+import classes.CpsObject;
+import ui.controller.Control;
+import ui.model.Model;
+
+class UnitGraph extends JPanel implements MouseListener, MouseMotionListener, ComponentListener {
+
+	private final int NUMBER = 50;
+	private static final long serialVersionUID = 1L;
+	private Control controller;
+	private Model model;
+	private Graphics2D g2;
+	Point[] pointList = new Point[NUMBER];
+
+	private boolean pointDrag = false;
+	private int tempP;
+
+	public UnitGraph(final Model model, Control control) {
+		
+		
+		this.controller = control;
+		this.model = model;
+		for (int i = 0; i < pointList.length; i++) {
+			pointList[i] = new Point(0,0);
+		}
+		this.addMouseListener(this);
+		this.addMouseMotionListener(this);
+		this.addComponentListener(this);
+	}
+
+	/**
+	 * Paints all Components on the Canvas
+	 * 
+	 * @param Graphics
+	 * 
+	 */
+	public void paintComponent(Graphics g) {
+		super.paintComponent(g);
+		g2 = (Graphics2D) g;
+		RenderingHints rh = new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
+		g2.setRenderingHints(rh);
+		g2.setStroke(new BasicStroke(1));
+
+		for (int i = 0; i < pointList.length-1; i++) {
+			g2.drawLine((int)pointList[i].getX(), (int)pointList[i].getY(), (int)pointList[i+1].getX(), (int)pointList[i+1].getY());
+		}
+		g2.drawLine((int)pointList[NUMBER-1].getX(), (int)pointList[NUMBER-1].getY(), this.getWidth(), this.getHeight()/2);
+	}
+
+	@Override
+	public void mouseDragged(MouseEvent e) {
+		if (pointDrag) {
+			pointList[tempP].setLocation(pointList[tempP].getX(), e.getY());
+			pointList[tempP-1].setLocation(pointList[tempP-1].getX(), pointList[tempP-1].getY()+(e.getY()-pointList[tempP-1].getY())/10);
+			pointList[tempP+1].setLocation(pointList[tempP+1].getX(), pointList[tempP-1].getY()+(e.getY()-pointList[tempP-1].getY())/10);
+		}
+		repaint();
+	}
+
+	@Override
+	public void mouseMoved(MouseEvent e) {
+		// TODO Auto-generated method stub
+	}
+
+	@Override
+	public void mouseClicked(MouseEvent e) {
+		// TODO Auto-generated method stub
+	}
+
+	@Override
+	public void mouseEntered(MouseEvent e) {
+		// TODO Auto-generated method stub
+	}
+
+	@Override
+	public void mouseExited(MouseEvent e) {
+		// TODO Auto-generated method stub
+	}
+
+	@Override
+	public void mousePressed(MouseEvent e){
+		for (int i = 0; i < pointList.length; i++) {
+			if(e.getX()-this.getWidth()/NUMBER<pointList[i].getX() && e.getX()+this.getWidth()/NUMBER>pointList[i].getX() && e.getY()-10<pointList[i].getY() && e.getY()+10>pointList[i].getY()){
+				pointDrag = true;
+				tempP = i;
+			}
+		}
+	}
+
+	@Override
+	public void mouseReleased(MouseEvent e) {
+		if (pointDrag) {
+			pointDrag = false;
+		}
+	}
+
+	public void componentResized(ComponentEvent e) {
+		// resize listener
+		System.out.println("resize");
+		for (int i = 0; i < pointList.length; i++) {
+			pointList[i] = new Point((i)*this.getWidth()/NUMBER,this.getHeight()/2);
+		}
+		repaint();
+	}
+
+	@Override
+	public void componentHidden(ComponentEvent e) {
+	}
+
+	@Override
+	public void componentMoved(ComponentEvent e) {
+		
+	}
+
+	@Override
+	public void componentShown(ComponentEvent e) {
+	}
+
+}