Author: clopes
Date: 2012-06-13 12:50:12 -0700 (Wed, 13 Jun 2012)
New Revision: 29554

Modified:
   
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/networkobjects/DeleteSelectedNodesAndEdgesTask.java
Log:
Fixes #1112 (Deleting nodes/edges doesn't update view immediately)

Modified: 
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/networkobjects/DeleteSelectedNodesAndEdgesTask.java
===================================================================
--- 
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/networkobjects/DeleteSelectedNodesAndEdgesTask.java
       2012-06-13 19:24:29 UTC (rev 29553)
+++ 
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/networkobjects/DeleteSelectedNodesAndEdgesTask.java
       2012-06-13 19:50:12 UTC (rev 29554)
@@ -29,17 +29,18 @@
  */
 package org.cytoscape.task.internal.networkobjects;
 
+import java.util.Collection;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
-import org.cytoscape.application.CyApplicationManager;
 import org.cytoscape.event.CyEventHelper;
 import org.cytoscape.model.CyEdge;
+import org.cytoscape.model.CyNetwork;
 import org.cytoscape.model.CyNode;
 import org.cytoscape.model.CyTableUtil;
 import org.cytoscape.model.subnetwork.CySubNetwork;
-import org.cytoscape.model.CyNetwork;
+import org.cytoscape.view.model.CyNetworkView;
 import org.cytoscape.view.model.CyNetworkViewManager;
 import org.cytoscape.view.vizmap.VisualMappingManager;
 import org.cytoscape.work.AbstractTask;
@@ -57,8 +58,7 @@
                                               final UndoSupport undoSupport, 
                                               final CyNetworkViewManager 
networkViewManager,
                                               final VisualMappingManager 
visualMappingManager, 
-                                              final CyEventHelper eventHelper)
-       {
+                                              final CyEventHelper eventHelper) 
{
                this.network              = network;
                this.undoSupport          = undoSupport;
                this.networkViewManager   = networkViewManager;
@@ -68,7 +68,6 @@
 
        @Override
        public void run(final TaskMonitor taskMonitor) {
-
                if (network == null)
                        return;
 
@@ -79,6 +78,7 @@
                taskMonitor.setProgress(0.1);
                final Set<CyEdge> selectedEdges = new 
HashSet<CyEdge>(CyTableUtil.getEdgesInState(network, "selected", true));
                taskMonitor.setProgress(0.2);
+               
                // Make sure we're not loosing any edges for a possible undo!
                for (CyNode selectedNode : selectedNodes)
                        
selectedEdges.addAll(network.getAdjacentEdgeList(selectedNode, 
CyEdge.Type.ANY));
@@ -93,6 +93,14 @@
                network.removeNodes(selectedNodes);
                taskMonitor.setProgress(0.7);
                network.removeEdges(selectedEdges);
+               taskMonitor.setProgress(0.9);
+               
+               // Update network views
+               final Collection<CyNetworkView> views = 
networkViewManager.getNetworkViews(network);
+               
+               for (final CyNetworkView netView : views)
+                       netView.updateView();
+               
                taskMonitor.setProgress(1.0);
        }
 }

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