Author: ruschein
Date: 2010-11-19 14:43:57 -0800 (Fri, 19 Nov 2010)
New Revision: 22948

Modified:
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/networkobjects/DeleteEdit.java
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/networkobjects/DeleteSelectedNodesAndEdgesTask.java
Log:
Made sure we're loosing any edges.

Modified: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/networkobjects/DeleteEdit.java
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/networkobjects/DeleteEdit.java
 2010-11-19 22:29:08 UTC (rev 22947)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/networkobjects/DeleteEdit.java
 2010-11-19 22:43:57 UTC (rev 22948)
@@ -5,6 +5,7 @@
 import static 
org.cytoscape.view.presentation.property.TwoDVisualLexicon.NODE_Y_LOCATION;
 
 import java.util.List;
+import java.util.Set;
 
 import org.cytoscape.model.CyEdge;
 import org.cytoscape.model.CyNode;
@@ -21,14 +22,14 @@
  */ 
 class DeleteEdit extends CyAbstractEdit {
        final private List<CyNode> nodes;
-       final private List<CyEdge> edges;
+       final private Set<CyEdge> edges;
        final private double[] xPos;
        final private double[] yPos;
        final private CySubNetwork net;
        final private DeleteSelectedNodesAndEdgesTask deleteAction;
        final private CyNetworkViewManager netViewMgr;
        
-       DeleteEdit(CySubNetwork net, List<CyNode> nodes, List<CyEdge> edges,
+       DeleteEdit(final CySubNetwork net, final List<CyNode> nodes, final 
Set<CyEdge> edges,
                   final DeleteSelectedNodesAndEdgesTask deleteAction,
                   final CyNetworkViewManager netViewMgr)
        {

Modified: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/networkobjects/DeleteSelectedNodesAndEdgesTask.java
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/networkobjects/DeleteSelectedNodesAndEdgesTask.java
    2010-11-19 22:29:08 UTC (rev 22947)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/networkobjects/DeleteSelectedNodesAndEdgesTask.java
    2010-11-19 22:43:57 UTC (rev 22948)
@@ -41,6 +41,7 @@
 
 import org.cytoscape.model.CyTableUtil;
 import org.cytoscape.model.CyEdge;
+import org.cytoscape.model.CyEdge.Type;
 import org.cytoscape.model.CyNetwork;
 import org.cytoscape.model.CyNode;
 import org.cytoscape.model.CyTableEntry;
@@ -73,18 +74,20 @@
 
                // Delete from the base network so that our changes can be 
undone:
                final CySubNetwork network = (CySubNetwork)myView.getModel();
-               final List<CyNode> selectedNodes = 
CyTableUtil.getNodesInState(network, "selected", true); 
-               final List<CyEdge> selectedEdges = 
CyTableUtil.getEdgesInState(network, "selected", true); 
+               final List<CyNode> selectedNodes = 
CyTableUtil.getNodesInState(network, "selected", true);
+               final Set<CyEdge> selectedEdges = new 
HashSet<CyEdge>(CyTableUtil.getEdgesInState(network, "selected", true));
 
-               undoSupport.getUndoableEditSupport().postEdit(
-                       new DeleteEdit(network, selectedNodes, selectedEdges, 
this, networkViewManager));
-               
                // Delete the actual nodes and edges:
-               for (CyNode selectedNode : selectedNodes)
+               for (CyNode selectedNode : selectedNodes) {
+                       
selectedEdges.addAll(network.getAdjacentEdgeList(selectedNode, 
CyEdge.Type.ANY));
                        network.removeNode(selectedNode);
+               }
                for (CyEdge selectedEdge : selectedEdges)
                        network.removeEdge(selectedEdge);
 
+               undoSupport.getUndoableEditSupport().postEdit(
+                       new DeleteEdit(network, selectedNodes, selectedEdges, 
this, networkViewManager));
+
                myView.updateView();
        }
 }

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