Bläddra i källkod

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

dominik.rieder 8 år sedan
förälder
incheckning
7bbbe22f2a

BIN
bin/ui/controller/CategoryController.class


BIN
bin/ui/model/IdCounter.class


BIN
bin/ui/model/Model.class


BIN
bin/ui/view/MyCanvas.class


BIN
res/Images/factory-1.png


BIN
res/Images/factory.png


BIN
res/Images/home-1.png


BIN
res/Images/home-2.png


BIN
res/Images/home.png


BIN
res/Images/power-plant.png


BIN
res/Images/powerplant-1.png


BIN
res/Images/switch-1.png


BIN
res/Images/switch-off.png


BIN
res/Images/switch-on.png


BIN
res/Images/transformer-1.png


BIN
res/Images/transformer.png


+ 4 - 4
src/ui/controller/CategoryController.java

@@ -36,13 +36,13 @@ public class CategoryController {
 		Category component = new Category("Component");
 
 		HolonObject powerp = new HolonObject("Power Plant");
-		powerp.setImage("/Images/Dummy_PowerPlant.png");
+		powerp.setImage("/Images/power-plant.png");
 		HolonObject house = new HolonObject("House");
-		house.setImage("/Images/Dummy_House.png");
+		house.setImage("/Images/home-2.png");
 		HolonTransformer transformer = new HolonTransformer("Transformer");
-		transformer.setImage("/Images/Dummy_Transformator.png");
+		transformer.setImage("/Images/transformer.png");
 		HolonSwitch sw = new HolonSwitch("Switch");
-		sw.setImage("/Images/Dummy_Switch.png");
+		sw.setImage("/Images/switch-on.png");
 
 		addObject(energy, powerp);
 		addObject(building, house);

+ 3 - 4
src/ui/controller/ObjectController.java

@@ -23,18 +23,17 @@ public class ObjectController {
 	public ObjectController(Model model) {
 		this.MODEL = model;
 		this.ID = iDCounter.nextId();
-		initElements();
+		initHolonElements();
 	}
 	
+	
 	/**
 	 * init default Power supply of the Power Plant
 	 */
-	public void initElements(){
+	public void initHolonElements(){
 		addNewElementIntoCategoryObject("Energy", "Power Plant", "Power", 1, 100);
 	}
 
-	
-
 	/**
 	 * Adds Element into a Object
 	 */

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

@@ -34,6 +34,7 @@ public class Model {
 	 */
 	private List<CategoryListener> categoryListeners;
 	private List<ObjectListener> objectListeners;
+	
 
 	/*
 	 * Constructor for the model. It initializes the categories and

+ 32 - 13
src/ui/view/MyCanvas.java

@@ -98,17 +98,26 @@ class MyCanvas extends JPanel implements MouseListener, MouseMotionListener {
 		
 		//Selection
 		if(selectRect != null){
-			g2.setColor(new Color(100, 255, 100));
+			g2.setColor(Color.GREEN);
 		    g2.fillRect((int)selectRect.getX(), (int)selectRect.getY(), (int)selectRect.getWidth(), (int)selectRect.getHeight());
 		}
 		
 		//drawEdges
-		g.setColor(Color.BLACK);
+		g2.setColor(Color.BLACK);
 		if(drawEdge)g2.drawLine(tempCps.getPos().x+GlobalVariables.SCALE_DIVIDED2, tempCps.getPos().y+GlobalVariables.SCALE_DIVIDED2, x, y);
 		
 		for (CpsObject cps : model.getObjectsOnCanvas()) {
 			for (CpsObject con : cps.getConnectedTo()) {
-				g.drawLine(cps.getPos().x+GlobalVariables.SCALE_DIVIDED2, cps.getPos().y+GlobalVariables.SCALE_DIVIDED2, con.getPos().x+GlobalVariables.SCALE_DIVIDED2, con.getPos().y+GlobalVariables.SCALE_DIVIDED2);
+				if(con.getID() != model.getSelectedObjectID() && cps.getID() != model.getSelectedObjectID())
+				g2.drawLine(cps.getPos().x+GlobalVariables.SCALE_DIVIDED2, cps.getPos().y+GlobalVariables.SCALE_DIVIDED2, con.getPos().x+GlobalVariables.SCALE_DIVIDED2, con.getPos().y+GlobalVariables.SCALE_DIVIDED2);
+			}
+		}
+		
+		g2.setColor(Color.GREEN);		
+		for (CpsObject cps : model.getObjectsOnCanvas()) {
+			for (CpsObject con : cps.getConnectedTo()) {
+				if(con.getID() == model.getSelectedObjectID())
+				g2.drawLine(cps.getPos().x+GlobalVariables.SCALE_DIVIDED2, cps.getPos().y+GlobalVariables.SCALE_DIVIDED2, con.getPos().x+GlobalVariables.SCALE_DIVIDED2, con.getPos().y+GlobalVariables.SCALE_DIVIDED2);
 			}
 		}
 		
@@ -163,14 +172,7 @@ class MyCanvas extends JPanel implements MouseListener, MouseMotionListener {
 	public void mouseReleased(MouseEvent e) {
 		if(drawEdge){
 			drawEdge = false;
-			for (CpsObject cps : model.getObjectsOnCanvas()) {
-				cx = cps.getPos().x;
-				cy = cps.getPos().y;
-				if (x - GlobalVariables.SCALE <= cx && y - GlobalVariables.SCALE <= cy && x >= cx && y >= cy) {
-					cps.AddConnection(tempCps);
-					tempCps.AddConnection(cps);
-				}
-			}
+			drawDeleteEdge();
 		}
 		
 		if (dragging) {
@@ -244,11 +246,28 @@ class MyCanvas extends JPanel implements MouseListener, MouseMotionListener {
 		if(tempCps != null){
 			selectRect.setBounds(tempCps.getPos().x-(GlobalVariables.SCALE/20), tempCps.getPos().y-(GlobalVariables.SCALE/20), GlobalVariables.SCALE+GlobalVariables.SCALE/10, GlobalVariables.SCALE+GlobalVariables.SCALE/10);
 			controller.setSelectedObjectID(tempCps.getID());
-			System.out.println("Select");
 		}else {
 			controller.setSelectedObjectID(0);
 			selectRect.setRect(0, 0, 0, 0);
-			System.out.println("Unselect");
+		}
+	}
+	
+	/**
+	 * Draws or Deletes an Edge
+	 */
+	private void drawDeleteEdge() {
+		for (CpsObject cps : model.getObjectsOnCanvas()) {
+			cx = cps.getPos().x;
+			cy = cps.getPos().y;
+			if (x - GlobalVariables.SCALE <= cx && y - GlobalVariables.SCALE <= cy && x >= cx && y >= cy) {
+				if (!cps.getConnectedTo().contains(tempCps)) {
+					cps.AddConnection(tempCps);
+					tempCps.AddConnection(cps);
+				} else {
+					cps.getConnectedTo().remove(tempCps);
+					tempCps.getConnectedTo().remove(cps);
+				}
+			}
 		}
 	}
 }