]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.scenegraph/src/org/simantics/scenegraph/g2d/events/NodeEventHandler.java
Merge "Minor refactorings related to SCL constructors"
[simantics/platform.git] / bundles / org.simantics.scenegraph / src / org / simantics / scenegraph / g2d / events / NodeEventHandler.java
index ec0a4fe5f1a35182901cdb311c9fe7186356b83f..8d3ba3a94482e3405382ea4817faa90c0c107441 100644 (file)
  *******************************************************************************/
 package org.simantics.scenegraph.g2d.events;
 
-import java.awt.Component;
-import java.awt.dnd.DnDConstants;
-import java.awt.dnd.DragGestureEvent;
-import java.awt.dnd.DragGestureListener;
-import java.awt.dnd.DragSource;
-import java.awt.dnd.DragSourceDragEvent;
-import java.awt.dnd.DragSourceDropEvent;
-import java.awt.dnd.DragSourceEvent;
-import java.awt.dnd.DragSourceListener;
-import java.awt.event.InputEvent;
-import java.awt.geom.Point2D;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Comparator;
@@ -33,8 +22,9 @@ import org.simantics.scenegraph.g2d.G2DSceneGraph;
 import org.simantics.scenegraph.g2d.IG2DNode;
 import org.simantics.scenegraph.g2d.events.MouseEvent.MouseButtonPressedEvent;
 import org.simantics.scenegraph.g2d.events.MouseEvent.MouseDragBegin;
-import org.simantics.scenegraph.g2d.events.adapter.AWTMouseEventAdapter;
 import org.simantics.scenegraph.g2d.events.command.CommandEvent;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Delivers events (mouse, key, focus, command, time) to scene graph nodes that
@@ -44,6 +34,8 @@ import org.simantics.scenegraph.g2d.events.command.CommandEvent;
  */
 public class NodeEventHandler implements IEventHandler {
 
+    private static final Logger LOGGER = LoggerFactory.getLogger(NodeEventHandler.class);
+
     private static final boolean DEBUG_EVENTS       = false;
     private static final boolean DEBUG_HANDLER_SORT = false;
 
@@ -197,12 +189,6 @@ public class NodeEventHandler implements IEventHandler {
      */
     protected G2DSceneGraph               sg;
 
-    /**
-     * For proper initiation of native DnD operations within this AWT-based
-     * scenegraph system.
-     */
-    protected DragSource                  ds = new DragSource();
-
     public NodeEventHandler(G2DSceneGraph sg) {
         this.sg = sg;
     }
@@ -221,60 +207,6 @@ public class NodeEventHandler implements IEventHandler {
         return sort;
     }
 
-    public void setRootPane(Component rootPane) {
-        final DragSourceListener dsl = new DragSourceListener() {
-            @Override
-            public void dropActionChanged(DragSourceDragEvent dsde) {
-            }
-            @Override
-            public void dragOver(DragSourceDragEvent dsde) {
-            }
-            @Override
-            public void dragExit(DragSourceEvent dse) {
-            }
-            @Override
-            public void dragEnter(DragSourceDragEvent dsde) {
-            }
-            @Override
-            public void dragDropEnd(DragSourceDropEvent dsde) {
-            }
-        };
-        DragGestureListener dgl = new DragGestureListener() {
-            @Override
-            public void dragGestureRecognized(DragGestureEvent dge) {
-                InputEvent ie = dge.getTriggerEvent();
-                if (ie instanceof java.awt.event.MouseEvent) {
-                    java.awt.event.MouseEvent e = (java.awt.event.MouseEvent) ie;
-                    Point2D controlPos = AWTMouseEventAdapter.getControlPosition(e);
-                    MouseDragBegin event = new MouseDragBegin(NodeEventHandler.this,
-                            e.getWhen(), 0,
-                            AWTMouseEventAdapter.getButtonStatus(e),
-                            AWTMouseEventAdapter.getStateMask(e),
-                            AWTMouseEventAdapter.getMouseButton(e),
-                            // TODO: fix canvas position if necessary
-                            new Point2D.Double(),
-                            controlPos,
-                            controlPos,
-                            AWTMouseEventAdapter.getScreenPosition(e));
-
-                    // Send MouseDragBegin to the scenegraph and see
-                    // if anyone sets event.transferable to start DnD.
-                    handleMouseDragBeginEvent(event, EventTypes.MouseDragBegin);
-                    if (event.transferable != null) {
-                        ds.startDrag(dge, null, event.transferable, dsl);
-                        if (DEBUG_EVENTS)
-                            debug("dragGestureRecognized: startDrag " + event.transferable);
-                    }
-                }
-            }
-        };
-        ds.createDefaultDragGestureRecognizer(
-                rootPane,
-                DnDConstants.ACTION_COPY_OR_MOVE | DnDConstants.ACTION_LINK,
-                dgl);
-        ds.addDragSourceListener(dsl);
-    }
-
     public boolean mousePressed(MouseButtonPressedEvent event) {
         G2DFocusManager.INSTANCE.clearFocus();
         try {