Author: ruschein
Date: 2011-05-11 15:21:35 -0700 (Wed, 11 May 2011)
New Revision: 25012

Modified:
   
core3/ding-presentation-impl/trunk/src/main/java/org/cytoscape/ding/impl/InnerCanvas.java
Log:
Mouse-move fix for nodes on Linux and Window?
Provided by Aur?\195?\169lien Naldi.

Modified: 
core3/ding-presentation-impl/trunk/src/main/java/org/cytoscape/ding/impl/InnerCanvas.java
===================================================================
--- 
core3/ding-presentation-impl/trunk/src/main/java/org/cytoscape/ding/impl/InnerCanvas.java
   2011-05-11 22:11:58 UTC (rev 25011)
+++ 
core3/ding-presentation-impl/trunk/src/main/java/org/cytoscape/ding/impl/InnerCanvas.java
   2011-05-11 22:21:35 UTC (rev 25012)
@@ -313,7 +313,7 @@
        //
 
        public void mouseDragged(MouseEvent e) {
-               mouseDraggedDelegator.delegateMouseEvent(e);
+               mouseDraggedDelegator.delegateMouseDragEvent(e);
        }
 
        public void mouseMoved(MouseEvent e) {
@@ -1277,6 +1277,11 @@
 
        private class MouseDraggedDelegator extends ButtonDelegator {
 
+               // emulate right click and middle click with a left clic and a 
modifier
+               // TODO: make sure to be consistent with other emulation inside 
cytoscape and on Mac OSX
+               static final int FAKEMIDDLECLIC = MouseEvent.BUTTON1_DOWN_MASK 
| MouseEvent.META_DOWN_MASK;
+               static final int FAKERIGHTCLIC  = MouseEvent.BUTTON1_DOWN_MASK 
| MouseEvent.CTRL_DOWN_MASK;
+               
                @Override
                void singleLeftClick(MouseEvent e) {
                        //System.out.println("MouseDragged ----> 
singleLeftClick");
@@ -1361,6 +1366,23 @@
                        repaint();
                }
 
+               public void delegateMouseDragEvent(MouseEvent e) {
+                       // Note: the fake clic are here for OSX but I do not 
see a reason to disable them on other systems
+                       switch (e.getModifiersEx()) {
+                       case MouseEvent.BUTTON1_DOWN_MASK:
+                               singleLeftClick(e);
+                               break;
+                       case MouseEvent.BUTTON2_DOWN_MASK:
+                       case FAKEMIDDLECLIC:
+                               singleMiddleClick(e);
+                               break;
+                       case MouseEvent.BUTTON3_DOWN_MASK:
+                       case FAKERIGHTCLIC:
+                               singleRightClick(e);
+                               break;
+                       }
+               }
+
                @Override
                void singleMiddleClick(MouseEvent e) {
                        //System.out.println("MouseDragged ----> 
singleMiddleClick");

-- 
You received this message because you are subscribed to the Google Groups 
"cytoscape-cvs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/cytoscape-cvs?hl=en.

Reply via email to