Author: mes
Date: 2011-09-27 11:21:01 -0700 (Tue, 27 Sep 2011)
New Revision: 26984

Modified:
   
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/select/RowViewTracker.java
Log:
offloading some of the processing to a thread

Modified: 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/select/RowViewTracker.java
===================================================================
--- 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/select/RowViewTracker.java
     2011-09-27 18:19:33 UTC (rev 26983)
+++ 
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/select/RowViewTracker.java
     2011-09-27 18:21:01 UTC (rev 26984)
@@ -6,6 +6,8 @@
 import java.util.HashMap;
 import java.util.Map;
 
+import javax.swing.SwingUtilities;
+
 import org.cytoscape.model.CyEdge;
 import org.cytoscape.model.CyNode;
 import org.cytoscape.model.CyRow;
@@ -32,34 +34,54 @@
                rowViewMap = new HashMap<CyRow,View<?>>();
        }
 
-       public void handleEvent(NetworkViewAddedEvent e) {
-               final CyNetworkView view = e.getNetworkView();
+       public void handleEvent(final NetworkViewAddedEvent e) {
+               SwingUtilities.invokeLater(new Runnable() {
+                       public void run() {
+                               final CyNetworkView view = e.getNetworkView();
 
-               for ( View<CyNode> nv : view.getNodeViews() )
-                       rowViewMap.put( nv.getModel().getCyRow(), nv);
+                               for ( View<CyNode> nv : view.getNodeViews() )
+                                       rowViewMap.put( 
nv.getModel().getCyRow(), nv);
                
-               for ( View<CyEdge> ev : view.getEdgeViews() ) 
-                       rowViewMap.put( ev.getModel().getCyRow(), ev);
+                               for ( View<CyEdge> ev : view.getEdgeViews() ) 
+                                       rowViewMap.put( 
ev.getModel().getCyRow(), ev);
+                       }
+               });
        }
        
-       public void handleEvent(AddedNodeViewsEvent e) {
-               for ( View<CyNode> v : e.getNodeViews()) 
-                       rowViewMap.put( v.getModel().getCyRow(), v );
+       public void handleEvent(final AddedNodeViewsEvent e) {
+               SwingUtilities.invokeLater(new Runnable() {
+                       public void run() {
+                               for ( View<CyNode> v : e.getNodeViews()) 
+                                       rowViewMap.put( 
v.getModel().getCyRow(), v );
+                       }
+               });
        }
        
-       public void handleEvent(AddedEdgeViewsEvent e) {
-               for ( View<CyEdge> v : e.getEdgeViews()) 
-                       rowViewMap.put( v.getModel().getCyRow(), v );
+       public void handleEvent(final AddedEdgeViewsEvent e) {
+               SwingUtilities.invokeLater(new Runnable() {
+                       public void run() {
+                               for ( View<CyEdge> v : e.getEdgeViews()) 
+                                       rowViewMap.put( 
v.getModel().getCyRow(), v );
+                       }
+               });
        }
        
-       public void handleEvent(AboutToRemoveNodeViewsEvent e) {
-               for ( View<CyNode> v : e.getNodeViews()) 
-                       rowViewMap.remove( v.getModel().getCyRow() );
+       public void handleEvent(final AboutToRemoveNodeViewsEvent e) {
+               SwingUtilities.invokeLater(new Runnable() {
+                       public void run() {
+                               for ( View<CyNode> v : e.getNodeViews()) 
+                                       rowViewMap.remove( 
v.getModel().getCyRow() );
+                       }
+               });
        }
        
-       public void handleEvent(AboutToRemoveEdgeViewsEvent e) {
-               for ( View<CyEdge> v : e.getEdgeViews()) 
-                       rowViewMap.remove( v.getModel().getCyRow() );
+       public void handleEvent(final AboutToRemoveEdgeViewsEvent e) {
+               SwingUtilities.invokeLater(new Runnable() {
+                       public void run() {
+                               for ( View<CyEdge> v : e.getEdgeViews()) 
+                                       rowViewMap.remove( 
v.getModel().getCyRow() );
+                       }
+               });
        }
        
        public Map<CyRow,View<?>> getRowViewMap() {

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