Author: paperwing
Date: 2012-03-29 15:04:36 -0700 (Thu, 29 Mar 2012)
New Revision: 28698

Modified:
   
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/input/NetworkChangeInputHandler.java
   
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/tools/NetworkToolkit.java
Log:
Fixed bug regarding nodes remaining in CyTable after deletion via delete 
button. Bug was introduced during recent changes to selection mechanism to 
accommodate toolbar buttons. Fix is included in today's release (0.6).

Modified: 
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/input/NetworkChangeInputHandler.java
===================================================================
--- 
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/input/NetworkChangeInputHandler.java
  2012-03-29 21:34:37 UTC (rev 28697)
+++ 
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/input/NetworkChangeInputHandler.java
  2012-03-29 22:04:36 UTC (rev 28698)
@@ -1,6 +1,7 @@
 package org.cytoscape.paperwing.internal.input;
 
 import java.awt.event.KeyEvent;
+import java.util.HashSet;
 import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Set;
@@ -106,8 +107,6 @@
        
        private static void processDeleteSelection(Set<Integer> pressed, 
GraphicsData graphicsData) {
                
-               Set<Integer> selectedNodeIndices = 
graphicsData.getSelectionData().getSelectedNodeIndices();
-               Set<Integer> selectedEdgeIndices = 
graphicsData.getSelectionData().getSelectedEdgeIndices();
                CyNetworkView networkView = graphicsData.getNetworkView();
                
                List<CyNode> selectedNodes = 
CyTableUtil.getNodesInState(networkView.getModel(), "selected", true);
@@ -122,6 +121,7 @@
                        for (CyNode node : selectedNodes) {
 
                                nodesToBeRemoved.add(node);
+
                                edgesToBeRemoved.addAll(networkView.getModel()
                                                .getAdjacentEdgeList(node,
                                                                Type.ANY));
@@ -133,14 +133,11 @@
                        }
                        
                        // Remove the node and edge entries from the CyTable
-                       NetworkToolkit.deselectEdges(selectedEdgeIndices, 
networkView);
-                       NetworkToolkit.deselectNodes(selectedNodeIndices, 
networkView);
+                       NetworkToolkit.deselectEdges(edgesToBeRemoved, 
networkView);
+                       NetworkToolkit.deselectNodes(nodesToBeRemoved, 
networkView);
                        
                        networkView.getModel().removeEdges(edgesToBeRemoved);
                        networkView.getModel().removeNodes(nodesToBeRemoved);
-
-                       selectedNodeIndices.clear();
-                       selectedEdgeIndices.clear();
                        
                        // TODO: Not sure if this call is needed
                        networkView.updateView();

Modified: 
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/tools/NetworkToolkit.java
===================================================================
--- 
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/tools/NetworkToolkit.java
     2012-03-29 21:34:37 UTC (rev 28697)
+++ 
csplugins/trunk/toronto/yuedong/paperwing-impl/src/main/java/org/cytoscape/paperwing/internal/tools/NetworkToolkit.java
     2012-03-29 22:04:36 UTC (rev 28698)
@@ -248,16 +248,13 @@
        
        
        // Updates data in CyTable as well as View<CyNode>
-       public static void deselectNodes(Set<Integer> nodeIndices, 
CyNetworkView networkView) {
+       public static void deselectNodes(Set<CyNode> nodes, CyNetworkView 
networkView) {
                CyNetwork network = networkView.getModel();
                CyTable table = network.getDefaultNodeTable();
                
-               CyNode node;
                CyRow row;
                
-               for (int index : nodeIndices) {
-                       node = network.getNode(index);
-                       
+               for (CyNode node : nodes) {
                        if (node != null) {
                                row = table.getRow(node.getSUID());
                                
@@ -291,15 +288,13 @@
        }
        
        // Updates data in CyTable as well as View<CyNode>
-       public static void deselectEdges(Set<Integer> edgeIndices, 
CyNetworkView networkView) {
+       public static void deselectEdges(Set<CyEdge> edges, CyNetworkView 
networkView) {
                CyNetwork network = networkView.getModel();
                CyTable table = network.getDefaultEdgeTable();
                
-               CyEdge edge;
                CyRow row;
                
-               for (int index : edgeIndices) {
-                       edge = network.getEdge(index);
+               for (CyEdge edge : edges) {
                        
                        if (edge != null) {
                                

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