Author: clopes
Date: 2012-11-15 08:38:50 -0800 (Thu, 15 Nov 2012)
New Revision: 30789

Modified:
   
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/BirdsEyeView.java
Log:
Fixes #1581 : The user can no longer move the viewport through the Birds Eye 
View when the visual properties NETWORK_CENTER_X_LOCATION and 
NETWORK_CENTER_Y_LOCATION are locked

Modified: 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/BirdsEyeView.java
===================================================================
--- 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/BirdsEyeView.java
   2012-11-14 21:31:24 UTC (rev 30788)
+++ 
core3/impl/trunk/ding-impl/ding-presentation-impl/src/main/java/org/cytoscape/ding/impl/BirdsEyeView.java
   2012-11-15 16:38:50 UTC (rev 30789)
@@ -60,6 +60,7 @@
 import org.cytoscape.view.model.VisualLexicon;
 import org.cytoscape.view.model.VisualProperty;
 import org.cytoscape.view.presentation.RenderingEngine;
+import org.cytoscape.view.presentation.property.BasicVisualLexicon;
 
 /**
  * Swing component to display overview of the network.
@@ -326,26 +327,34 @@
         *
         */
        private final class InnerMouseMotionListener extends MouseMotionAdapter 
{
-               @Override public void mouseDragged(MouseEvent e) {
-                                               
+               @Override
+               public void mouseDragged(MouseEvent e) {
                        if (m_currMouseButton == 1) {
                                final int currX = e.getX();
                                final int currY = e.getY();
-                               final double deltaX = (currX - m_lastXMousePos)
-                                               / m_myScaleFactor;
-                               final double deltaY = (currY - m_lastYMousePos)
-                                               / m_myScaleFactor;
-                               m_lastXMousePos = currX;
-                               m_lastYMousePos = currY;
-
-                               final Point2D pt = viewModel.getCenter();
-                               viewModel.setCenter(pt.getX() + deltaX, 
pt.getY() + deltaY);
-                               viewModel.updateView();
+                               double deltaX = 0;
+                               double deltaY = 0;
+                               
+                               if 
(!viewModel.isValueLocked(BasicVisualLexicon.NETWORK_CENTER_X_LOCATION)) {
+                                       deltaX = (currX - m_lastXMousePos) / 
m_myScaleFactor;
+                                       m_lastXMousePos = currX;
+                               }
+                               if 
(!viewModel.isValueLocked(BasicVisualLexicon.NETWORK_CENTER_Y_LOCATION)) {
+                                       deltaY = (currY - m_lastYMousePos) / 
m_myScaleFactor;
+                                       m_lastYMousePos = currY;
+                               }
+                               
+                               if (deltaX != 0 || deltaY != 0) {
+                                       final Point2D pt = 
viewModel.getCenter();
+                                       viewModel.setCenter(pt.getX() + deltaX, 
pt.getY() + deltaY);
+                                       viewModel.updateView();
+                               }
                        }
                }
        }
 
-       @Override public Dimension getMinimumSize() {
+       @Override
+       public Dimension getMinimumSize() {
                return MIN_SIZE;
        }
 

-- 
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