-// @Override
-// public void mouseReleased(MouseEvent event) {
-// Point op = event.getPoint();
-// for (MouseListener l : mouseListeners.getListeners()) {
-// MouseEvent e = (MouseEvent) NodeUtil.transformEvent(event,(IG2DNode) l);
-// l.mouseReleased(e);
-// event.translatePoint((int)(op.getX()-event.getX()), (int)(op.getY()-event.getY()));
-// if (e.isConsumed())
-// break;
-// }
-// }
-//
-// @Override
-// public void mouseMoved(MouseEvent event) {
-// for (MouseMotionListener l : mouseMotionListeners.getListeners()) {
-// MouseEvent e = (MouseEvent) NodeUtil.transformEvent(event,(IG2DNode) l);
-// l.mouseMoved(e);
-// if (e.isConsumed())
-// break;
-// }
-// }
+ public void setRootPane(Component rootPane) {\r
+ final DragSourceListener dsl = new DragSourceListener() {\r
+ @Override\r
+ public void dropActionChanged(DragSourceDragEvent dsde) {\r
+ }\r
+ @Override\r
+ public void dragOver(DragSourceDragEvent dsde) {\r
+ }\r
+ @Override\r
+ public void dragExit(DragSourceEvent dse) {\r
+ }\r
+ @Override\r
+ public void dragEnter(DragSourceDragEvent dsde) {\r
+ }\r
+ @Override\r
+ public void dragDropEnd(DragSourceDropEvent dsde) {\r
+ }\r
+ };\r
+ DragGestureListener dgl = new DragGestureListener() {\r
+ @Override\r
+ public void dragGestureRecognized(DragGestureEvent dge) {\r
+ InputEvent ie = dge.getTriggerEvent();\r
+ if (ie instanceof java.awt.event.MouseEvent) {\r
+ java.awt.event.MouseEvent e = (java.awt.event.MouseEvent) ie;\r
+ Point2D controlPos = AWTMouseEventAdapter.getControlPosition(e);\r
+ MouseDragBegin event = new MouseDragBegin(NodeEventHandler.this,\r
+ e.getWhen(), 0,\r
+ AWTMouseEventAdapter.getButtonStatus(e),\r
+ AWTMouseEventAdapter.getStateMask(e),\r
+ AWTMouseEventAdapter.getMouseButton(e),\r
+ // TODO: fix canvas position if necessary\r
+ new Point2D.Double(),\r
+ controlPos,\r
+ controlPos,\r
+ AWTMouseEventAdapter.getScreenPosition(e));\r
+\r
+ // Send MouseDragBegin to the scenegraph and see\r
+ // if anyone sets event.transferable to start DnD.\r
+ handleMouseDragBeginEvent(event, EventTypes.MouseDragBegin);\r
+ if (event.transferable != null) {\r
+ ds.startDrag(dge, null, event.transferable, dsl);\r
+ if (DEBUG_EVENTS)\r
+ debug("dragGestureRecognized: startDrag " + event.transferable);\r
+ }\r
+ }\r
+ }\r
+ };\r
+ ds.createDefaultDragGestureRecognizer(\r
+ rootPane,\r
+ DnDConstants.ACTION_COPY_OR_MOVE | DnDConstants.ACTION_LINK,\r
+ dgl);\r
+ ds.addDragSourceListener(dsl);\r
+ }\r