Author: kono
Date: 2011-07-21 16:57:57 -0700 (Thu, 21 Jul 2011)
New Revision: 26245

Modified:
   
core3/ding-presentation-impl/trunk/src/main/java/org/cytoscape/ding/impl/DGraphView.java
Log:
fixes #330 Add an additional if statement to avoid infinite event loop.

Modified: 
core3/ding-presentation-impl/trunk/src/main/java/org/cytoscape/ding/impl/DGraphView.java
===================================================================
--- 
core3/ding-presentation-impl/trunk/src/main/java/org/cytoscape/ding/impl/DGraphView.java
    2011-07-21 23:02:35 UTC (rev 26244)
+++ 
core3/ding-presentation-impl/trunk/src/main/java/org/cytoscape/ding/impl/DGraphView.java
    2011-07-21 23:57:57 UTC (rev 26245)
@@ -1940,15 +1940,8 @@
                return false;
        }
 
-       // Auxillary methods specific to this GraphView implementation:
-       /**
-        * DOCUMENT ME!
-        *
-        * @param x
-        *            DOCUMENT ME!
-        * @param y
-        *            DOCUMENT ME!
-        */
+       // Auxiliary methods specific to this GraphView implementation:
+       
        public void setCenter(double x, double y) {
                synchronized (m_lock) {
                        m_networkCanvas.m_xCenter = x;
@@ -1959,19 +1952,12 @@
                        
this.cyNetworkView.setVisualProperty(MinimalVisualLexicon.NETWORK_CENTER_X_LOCATION,
 m_networkCanvas.m_xCenter);
                        
this.cyNetworkView.setVisualProperty(MinimalVisualLexicon.NETWORK_CENTER_Y_LOCATION,
 m_networkCanvas.m_yCenter);
                }
-
-               // updateView();
        }
 
-       /**
-        * DOCUMENT ME!
-        *
-        * @return DOCUMENT ME!
-        */
+       
        public Point2D getCenter() {
                synchronized (m_lock) {
-                       return new Point2D.Double(m_networkCanvas.m_xCenter,
-                                       m_networkCanvas.m_yCenter);
+                       return new Point2D.Double(m_networkCanvas.m_xCenter, 
m_networkCanvas.m_yCenter);
                }
        }
 
@@ -2751,8 +2737,7 @@
                        return;
        
                for ( ViewChangeRecord<CyNetwork> record : 
e.getPayloadCollection() ) {
-                       View<CyNetwork> target = record.getView();
-                       VisualProperty<?> vp = record.getVisualProperty();
+                       final VisualProperty<?> vp = record.getVisualProperty();
                        Object value = record.getValue();
                        
                        if (value == null) 
@@ -2773,9 +2758,13 @@
                        } else if (vp == 
MinimalVisualLexicon.NETWORK_BACKGROUND_PAINT) {
                                setBackgroundPaint((Paint) value);
                        } else if (vp == 
MinimalVisualLexicon.NETWORK_CENTER_X_LOCATION) {
-                               setCenter(((Double) value).doubleValue(), 
m_networkCanvas.m_yCenter);
+                               final double x = (Double) value;
+                               if(x != m_networkCanvas.m_xCenter)
+                                       setCenter(x, m_networkCanvas.m_yCenter);
                        } else if (vp == 
MinimalVisualLexicon.NETWORK_CENTER_Y_LOCATION) {
-                               setCenter(m_networkCanvas.m_xCenter, ((Double) 
value).doubleValue());
+                               final double y = (Double) value;
+                               if(y != m_networkCanvas.m_yCenter)
+                                       setCenter(m_networkCanvas.m_xCenter, y);
                        } else if (vp == 
MinimalVisualLexicon.NETWORK_SCALE_FACTOR) {
                                setZoom(((Double) value).doubleValue());
                        }

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