Author: ruschein
Date: 2010-11-19 13:34:56 -0800 (Fri, 19 Nov 2010)
New Revision: 22942
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:
Greatly simplified the code.
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 20:58:51 UTC (rev 22941)
+++
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/networkobjects/DeleteEdit.java
2010-11-19 21:34:56 UTC (rev 22942)
@@ -4,7 +4,7 @@
import static
org.cytoscape.view.presentation.property.TwoDVisualLexicon.NODE_X_LOCATION;
import static
org.cytoscape.view.presentation.property.TwoDVisualLexicon.NODE_Y_LOCATION;
-import java.util.Set;
+import java.util.List;
import org.cytoscape.model.CyEdge;
import org.cytoscape.model.CyNode;
@@ -20,34 +20,34 @@
* An undoable edit that will undo and redo deletion of nodes and edges.
*/
class DeleteEdit extends CyAbstractEdit {
- Set<CyNode> nodes;
- Set<CyEdge> edges;
- double[] xPos;
- double[] yPos;
- final CySubNetwork net;
- final DeleteSelectedNodesAndEdgesTask deleteAction;
- final CyNetworkViewManager netViewMgr;
+ final private List<CyNode> nodes;
+ final private List<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, Set<CyNode> nodes, Set<CyEdge> edges,
+ DeleteEdit(CySubNetwork net, List<CyNode> nodes, List<CyEdge> edges,
final DeleteSelectedNodesAndEdgesTask deleteAction,
final CyNetworkViewManager netViewMgr)
{
super("Delete");
this.deleteAction = deleteAction;
- if ( net == null )
+ if (net == null)
throw new NullPointerException("network is null");
this.net = net;
- if ( netViewMgr == null )
+ if (netViewMgr == null)
throw new NullPointerException("network manager is
null");
this.netViewMgr = netViewMgr;
- if ( nodes == null )
+ if (nodes == null)
throw new NullPointerException("nodes is null");
this.nodes = nodes;
- if ( edges == null )
+ if (edges == null)
throw new NullPointerException("edges is null");
this.edges = edges;
@@ -55,9 +55,9 @@
xPos = new double[nodes.size()];
yPos = new double[nodes.size()];
CyNetworkView netView =
netViewMgr.getNetworkView(net.getSUID());
- if ( netView != null ) {
+ if (netView != null) {
int i = 0;
- for ( CyNode n : nodes ) {
+ for (CyNode n : nodes) {
View<CyNode> nv = netView.getNodeView(n);
xPos[i] = nv.getVisualProperty(NODE_X_LOCATION);
yPos[i] = nv.getVisualProperty(NODE_Y_LOCATION);
@@ -69,9 +69,9 @@
public void redo() {
super.redo();
- for ( CyNode n : nodes )
+ for (CyNode n : nodes)
net.removeNode(n);
- for ( CyEdge e : edges )
+ for (CyEdge e : edges)
net.removeEdge(e);
CyNetworkView netView =
netViewMgr.getNetworkView(net.getSUID());
@@ -83,9 +83,9 @@
public void undo() {
super.undo();
- for ( CyNode n : nodes )
+ for (CyNode n : nodes)
net.addNode(n);
- for ( CyEdge e : edges )
+ for (CyEdge e : edges)
net.addEdge(e);
CyNetworkView netView =
netViewMgr.getNetworkView(net.getSUID());
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 20:58:51 UTC (rev 22941)
+++
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/networkobjects/DeleteSelectedNodesAndEdgesTask.java
2010-11-19 21:34:56 UTC (rev 22942)
@@ -55,19 +55,12 @@
public class DeleteSelectedNodesAndEdgesTask extends AbstractTask {
- private final CyTableEntry graphObj;
private final UndoSupport undoSupport;
private final CyRootNetworkFactory rootNetworkFactory;
private final CyApplicationManager applicationManager;
private final CyNetworkViewManager networkViewManager;
- /**
- * perform deletion on the input object. if object is a Node, then this
will
- * result in also deleting the edges adjacent to the node
- *
- * @param obj the object to be deleted
- */
- public DeleteSelectedNodesAndEdgesTask(final CyTableEntry obj, final
UndoSupport undoSupport,
+ public DeleteSelectedNodesAndEdgesTask(final UndoSupport undoSupport,
final CyRootNetworkFactory
rootNetworkFactory,
final CyApplicationManager
applicationManager,
final CyNetworkViewManager
networkViewManager)
@@ -76,64 +69,25 @@
this.rootNetworkFactory = rootNetworkFactory;
this.applicationManager = applicationManager;
this.networkViewManager = networkViewManager;
- this.graphObj = obj;
}
- public DeleteSelectedNodesAndEdgesTask(final UndoSupport undoSupport,
- final CyRootNetworkFactory
rootNetworkFactory,
- final CyApplicationManager
applicationManager,
- final CyNetworkViewManager
networkViewManager)
- {
- this(null, undoSupport, rootNetworkFactory, applicationManager,
networkViewManager);
- }
-
@Override
public void run(final TaskMonitor taskMonitor) {
CyNetworkView myView =
applicationManager.getCurrentNetworkView();
- // delete from the base CySubNetwork so that our changes can be
undone
- CySubNetwork cyNet =
rootNetworkFactory.convert(myView.getModel()).getBaseNetwork();
- List<CyEdge> selEdges = CyTableUtil.getEdgesInState(cyNet,
"selected", true);
- List<CyNode> selNodes = CyTableUtil.getNodesInState(cyNet,
"selected", true);
- CyNode cyNode;
- CyEdge cyEdge;
+ // Delete from the base network so that our changes can be
undone:
+ CySubNetwork network =
rootNetworkFactory.convert(myView.getModel()).getBaseNetwork();
+ final List<CyNode> selectedNodes =
CyTableUtil.getNodesInState(network, "selected", true);
+ final List<CyEdge> selectedEdges =
CyTableUtil.getEdgesInState(network, "selected", true);
- // if an argument exists, add it to the appropriate list
- if (graphObj != null ) {
- if (graphObj instanceof CyNode) {
- cyNode = (CyNode) graphObj;
- if (!selNodes.contains(cyNode))
- selNodes.add(cyNode);
- } else if (graphObj instanceof CyEdge) {
- cyEdge = (CyEdge) graphObj;
- if (!selEdges.contains(cyEdge))
- selEdges.add(cyEdge);
- }
- }
-
- Set<CyEdge> edges = new HashSet<CyEdge>();
- Set<CyNode> nodes = new HashSet<CyNode>();
-
- // add all node indices
- for (int i = 0; i < selNodes.size(); i++) {
- cyNode = selNodes.get(i);
- nodes.add(cyNode);
- }
-
- // add all selected edge indices
- for (int i = 0; i < selEdges.size(); i++) {
- cyEdge = selEdges.get(i);
- edges.add( cyEdge );
- }
-
undoSupport.getUndoableEditSupport().postEdit(
- new DeleteEdit(cyNet, nodes, edges, this,
networkViewManager));
+ new DeleteEdit(network, selectedNodes, selectedEdges,
this, networkViewManager));
- // delete the actual nodes and edges
- for (CyNode node : nodes)
- cyNet.removeNode(node);
- for (CyEdge edge : edges)
- cyNet.removeEdge(edge);
+ // Delete the actual nodes and edges:
+ for (CyNode selectedNode : selectedNodes)
+ network.removeNode(selectedNode);
+ for (CyEdge selectedEdge : selectedEdges)
+ network.removeEdge(selectedEdge);
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.