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

Jessey Widhalm 8 years ago
parent
commit
54f354d0ad

BIN
bin/Images/Thumbs.db


BIN
bin/ui/view/MyCanvas.class


BIN
res/Images/Thumbs.db


BIN
res/Images/switch-off.png


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

@@ -212,6 +212,8 @@ public class GUI implements CategoryListener {
 			public void mouseReleased(MouseEvent e) {
 			public void mouseReleased(MouseEvent e) {
 				try {
 				try {
 					if (dragging) {
 					if (dragging) {
+						int x = (int) canvas.getMousePosition().getX();
+						int y = (int) canvas.getMousePosition().getY();
 						CpsObject h = null;
 						CpsObject h = null;
 						if (tempCps.getClass() == HolonObject.class) {
 						if (tempCps.getClass() == HolonObject.class) {
 							h = new HolonObject(tempCps);
 							h = new HolonObject(tempCps);
@@ -223,7 +225,7 @@ public class GUI implements CategoryListener {
 							h = new HolonTransformer(tempCps);
 							h = new HolonTransformer(tempCps);
 						}
 						}
 
 
-						h.setPosition((int) canvas.getMousePosition().getX(), (int) canvas.getMousePosition().getY());
+						h.setPosition(x, y);
 						controller.addObjectCanvas(h);
 						controller.addObjectCanvas(h);
 						for (int i = 0; i < model.getObjectsOnCanvas().size(); i++) {
 						for (int i = 0; i < model.getObjectsOnCanvas().size(); i++) {
 							CpsObject temp = model.getObjectsOnCanvas().get(i);
 							CpsObject temp = model.getObjectsOnCanvas().get(i);

+ 37 - 6
src/ui/view/MyCanvas.java

@@ -19,6 +19,8 @@ import java.awt.event.MouseMotionListener;
 import java.awt.geom.Line2D;
 import java.awt.geom.Line2D;
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.LinkedList;
 import java.util.LinkedList;
+import java.util.Timer;
+import java.util.TimerTask;
 
 
 import javax.swing.AbstractButton;
 import javax.swing.AbstractButton;
 import javax.swing.ImageIcon;
 import javax.swing.ImageIcon;
@@ -32,6 +34,8 @@ import javax.swing.JToolTip;
 import classes.CpsObject;
 import classes.CpsObject;
 import classes.HolonElement;
 import classes.HolonElement;
 import classes.HolonObject;
 import classes.HolonObject;
+import classes.HolonSwitch;
+import classes.HolonTransformer;
 import ui.controller.Control;
 import ui.controller.Control;
 import ui.model.*;
 import ui.model.*;
 
 
@@ -46,9 +50,9 @@ class MyCanvas extends JPanel implements MouseListener, MouseMotionListener {
 	private int cx;
 	private int cx;
 	private int cy;
 	private int cy;
 
 
-	boolean dragging = false;
-	boolean drawEdge = false;
-	boolean dropDelete = false;
+	private boolean dragging = false;	//for dragging
+	private boolean drawEdge = false;	//for drawing edges
+	private boolean click = false; 		// for double click
 	private CpsObject tempCps = null;
 	private CpsObject tempCps = null;
 	private Rectangle selectRect = new Rectangle();
 	private Rectangle selectRect = new Rectangle();
 
 
@@ -144,7 +148,17 @@ class MyCanvas extends JPanel implements MouseListener, MouseMotionListener {
 
 
 	@Override
 	@Override
 	public void mouseClicked(MouseEvent e) {
 	public void mouseClicked(MouseEvent e) {
-		// TODO Auto-generated method stub
+		if (doubleClick() && tempCps != null && tempCps.getClass() == HolonSwitch.class) {
+			System.out.println("trans double click");
+			if (tempCps.getImage().compareTo("/Images/switch-on.png") == 0) {
+				tempCps.setImage("/Images/switch-off.png");
+				System.out.println("off");
+			} else {
+				tempCps.setImage("/Images/switch-on.png");
+				System.out.println("on");
+			}
+		}
+		repaint();
 	}
 	}
 
 
 	@Override
 	@Override
@@ -232,7 +246,7 @@ class MyCanvas extends JPanel implements MouseListener, MouseMotionListener {
 						tempCps.getPosition().y - (controller.getScale() / 20));
 						tempCps.getPosition().y - (controller.getScale() / 20));
 
 
 				objectTT.setTipText(tempCps.getName());
 				objectTT.setTipText(tempCps.getName());
-				objectTT.setLocation(tempCps.getPosition().x, tempCps.getPosition().y);
+				objectTT.setLocation(tempCps.getPosition().x, tempCps.getPosition().y+controller.getScale());
 				repaint();
 				repaint();
 			} catch (Exception e2) {
 			} catch (Exception e2) {
 				// TODO: handle exception
 				// TODO: handle exception
@@ -253,7 +267,7 @@ class MyCanvas extends JPanel implements MouseListener, MouseMotionListener {
 			if (x - controller.getScale() <= cx && y - controller.getScale() <= cy && x >= cx && y >= cy) {
 			if (x - controller.getScale() <= cx && y - controller.getScale() <= cy && x >= cx && y >= cy) {
 
 
 				objectTT.setTipText(cps.getName());
 				objectTT.setTipText(cps.getName());
-				objectTT.setLocation(cx, cy);
+				objectTT.setLocation(cx, cy+controller.getScale());
 				on = true;
 				on = true;
 			}
 			}
 		}
 		}
@@ -301,4 +315,21 @@ class MyCanvas extends JPanel implements MouseListener, MouseMotionListener {
 			}
 			}
 		}
 		}
 	}
 	}
+	
+	private boolean doubleClick(){
+		if (click) {
+	        click = false;
+	        return true;
+	    } else {
+	    	click = true;
+	        Timer t = new Timer("doubleclickTimer", false);
+	        t.schedule(new TimerTask() {
+	            @Override
+	            public void run() {
+	            	click = false;
+	            }
+	        }, 500);
+	    }
+		return false;
+	}
 }
 }