Browse Source

Better dnd

Kevin Trometer 8 years ago
parent
commit
d2f5473fda

BIN
bin/ui/view/GUI$1.class


BIN
bin/ui/view/GUI$2.class


BIN
bin/ui/view/GUI$3.class


BIN
bin/ui/view/GUI$4.class


BIN
bin/ui/view/GUI$5.class


BIN
bin/ui/view/GUI$6.class


BIN
bin/ui/view/GUI.class


BIN
bin/ui/view/MyCanvas.class


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

@@ -2,6 +2,7 @@ package ui.view;
 
 import java.io.File;
 import java.util.ArrayList;
+import java.util.Enumeration;
 
 import javax.swing.JFrame;
 import javax.swing.JList;
@@ -16,6 +17,8 @@ import javax.swing.JScrollPane;
 import javax.swing.JTabbedPane;
 import javax.swing.JTable;
 import javax.swing.tree.DefaultTreeModel;
+import javax.swing.tree.MutableTreeNode;
+import javax.swing.tree.TreeNode;
 
 import ui.controller.Control;
 import ui.model.*;
@@ -31,6 +34,9 @@ import java.awt.Cursor;
 import java.awt.Image;
 import java.awt.Point;
 import java.awt.Toolkit;
+import java.awt.datatransfer.Clipboard;
+import java.awt.datatransfer.DataFlavor;
+import java.awt.dnd.DragSource;
 import java.awt.BorderLayout;
 
 import javax.swing.JPanel;
@@ -54,6 +60,7 @@ import java.awt.event.ComponentEvent;
 import java.awt.event.ComponentListener;
 import java.awt.event.MouseAdapter;
 import java.awt.event.MouseEvent;
+import java.awt.event.MouseListener;
 import java.awt.event.ActionEvent;
 
 public class GUI implements CategoryListener {
@@ -202,14 +209,29 @@ public class GUI implements CategoryListener {
 						controller.addObject(h);
 						canvas.repaint();
 						dragging = false;
-						tree.clearSelection();
 					}
 				} catch (Exception e2) {
 				}
 				frmCyberPhysical.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
 			}
 		});
+		
+		tree.addMouseListener(new MouseAdapter() {
+			public void mousePressed(MouseEvent e) {
+				try {
+					String name = tree.getPathForLocation(e.getX(), e.getY()).getLastPathComponent().toString();
+					//System.out.println(name);
+					if (name.compareTo("Power Plant") == 0 || name.compareTo("House") == 0
+							|| name.compareTo("Switch") == 0 || name.compareTo("Transformer") == 0) {
+						dragging = true;
+						Cursor cursor = Toolkit.getDefaultToolkit().createCustomCursor(img, new Point(0, 0),"Image");
+						frmCyberPhysical.setCursor(cursor);
+					}
+				} catch (Exception e2) {}
+			}
+		});
 
+		/*
 		tree.addTreeSelectionListener(new TreeSelectionListener() {
 			@Override
 			public void valueChanged(TreeSelectionEvent e) {
@@ -225,8 +247,8 @@ public class GUI implements CategoryListener {
 					}
 				} catch (Exception e2) {}
 			}
-		});
-
+		});*/
+	
 		scrollPane_1.setViewportView(tree);
 
 		scrollPane_1.setColumnHeaderView(panel);

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

@@ -69,6 +69,7 @@ class MyCanvas extends JPanel implements MouseListener, MouseMotionListener {
 	@Override
 	public void mousePressed(MouseEvent e) {
 		// TODO Auto-generated method stub
+		/*
 		x = e.getX();
 		y = e.getY();
 		dropDelete = false;
@@ -85,7 +86,7 @@ class MyCanvas extends JPanel implements MouseListener, MouseMotionListener {
 				}
 			}
 		}
-
+		*/
 	}
 
 	@Override