Author: ruschein
Date: 2011-06-22 15:16:45 -0700 (Wed, 22 Jun 2011)
New Revision: 25882
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
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/networkobjects/DeleteSelectedNodesAndEdgesTaskFactory.java
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
Log:
Partial fix to undo of nodes/edges deletion.
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
2011-06-22 21:16:45 UTC (rev 25881)
+++
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/networkobjects/DeleteEdit.java
2011-06-22 22:16:45 UTC (rev 25882)
@@ -7,12 +7,14 @@
import java.util.List;
import java.util.Set;
+import org.cytoscape.event.CyEventHelper;
import org.cytoscape.model.CyEdge;
import org.cytoscape.model.CyNode;
import org.cytoscape.model.subnetwork.CySubNetwork;
import org.cytoscape.view.model.CyNetworkViewManager;
import org.cytoscape.view.model.CyNetworkView;
import org.cytoscape.view.model.View;
+import org.cytoscape.view.vizmap.VisualMappingManager;
import org.cytoscape.util.swing.CyAbstractEdit;
@@ -20,18 +22,22 @@
/**
* An undoable edit that will undo and redo deletion of nodes and edges.
*/
-class DeleteEdit extends CyAbstractEdit {
- final private List<CyNode> nodes;
- 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;
+final class DeleteEdit extends CyAbstractEdit {
+ private final List<CyNode> nodes;
+ private final Set<CyEdge> edges;
+ private final double[] xPos;
+ private final double[] yPos;
+ private final CySubNetwork net;
+ private final DeleteSelectedNodesAndEdgesTask deleteAction;
+ private final CyNetworkViewManager netViewMgr;
+ private final VisualMappingManager visualMappingManager;
+ private final CyEventHelper eventHelper;
DeleteEdit(final CySubNetwork net, final List<CyNode> nodes, final
Set<CyEdge> edges,
final DeleteSelectedNodesAndEdgesTask deleteAction,
- final CyNetworkViewManager netViewMgr)
+ final CyNetworkViewManager netViewMgr,
+ final VisualMappingManager visualMappingManager,
+ final CyEventHelper eventHelper)
{
super("Delete");
@@ -52,6 +58,14 @@
throw new NullPointerException("edges is null");
this.edges = edges;
+ if (visualMappingManager == null)
+ throw new NullPointerException("visualMappingManager is
null");
+ this.visualMappingManager = visualMappingManager;
+
+ if (eventHelper == null)
+ throw new NullPointerException("eventHelper is null");
+ this.eventHelper = eventHelper;
+
// save the positions of the nodes
xPos = new double[nodes.size()];
yPos = new double[nodes.size()];
@@ -87,16 +101,19 @@
for (CyEdge e : edges)
net.addEdge(e);
+ eventHelper.flushPayloadEvents();
+
CyNetworkView netView =
netViewMgr.getNetworkView(net.getSUID());
- if ( netView != null ) {
+ if (netView != null) {
int i = 0;
- for ( CyNode n : nodes ) {
- View<CyNode> nv = netView.getNodeView(n);
- nv.setVisualProperty(NODE_X_LOCATION, xPos[i]);
- nv.setVisualProperty(NODE_Y_LOCATION, yPos[i] );
+ for (final CyNode node : nodes) {
+ View<CyNode> nodeView =
netView.getNodeView(node);
+ nodeView.setVisualProperty(NODE_X_LOCATION,
xPos[i]);
+ nodeView.setVisualProperty(NODE_Y_LOCATION,
yPos[i] );
i++;
}
}
+ visualMappingManager.getVisualStyle(netView).apply(netView);
netView.updateView();
}
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
2011-06-22 21:16:45 UTC (rev 25881)
+++
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/networkobjects/DeleteSelectedNodesAndEdgesTask.java
2011-06-22 22:16:45 UTC (rev 25882)
@@ -33,6 +33,7 @@
import java.util.List;
import java.util.Set;
+import org.cytoscape.event.CyEventHelper;
import org.cytoscape.model.CyEdge;
import org.cytoscape.model.CyNode;
import org.cytoscape.model.CyTableUtil;
@@ -40,42 +41,51 @@
import org.cytoscape.session.CyApplicationManager;
import org.cytoscape.view.model.CyNetworkView;
import org.cytoscape.view.model.CyNetworkViewManager;
+import org.cytoscape.view.vizmap.VisualMappingManager;
import org.cytoscape.work.AbstractTask;
import org.cytoscape.work.TaskMonitor;
import org.cytoscape.work.undo.UndoSupport;
public class DeleteSelectedNodesAndEdgesTask extends AbstractTask {
- private final UndoSupport undoSupport;
- private final CyApplicationManager applicationManager;
- private final CyNetworkViewManager networkViewManager;
+ private final UndoSupport undoSupport;
+ private final CyApplicationManager applicationManager;
+ private final CyNetworkViewManager networkViewManager;
+ private final CyEventHelper eventHelper;
+ private final VisualMappingManager visualMappingManager;
- public DeleteSelectedNodesAndEdgesTask(final UndoSupport undoSupport,
- final CyApplicationManager applicationManager, final
CyNetworkViewManager networkViewManager) {
- this.undoSupport = undoSupport;
- this.applicationManager = applicationManager;
- this.networkViewManager = networkViewManager;
- }
+ public DeleteSelectedNodesAndEdgesTask(
+ final UndoSupport undoSupport, final CyApplicationManager
applicationManager,
+ final CyNetworkViewManager networkViewManager,
+ final VisualMappingManager visualMappingManager, final
CyEventHelper eventHelper)
+ {
+ this.undoSupport = undoSupport;
+ this.applicationManager = applicationManager;
+ this.networkViewManager = networkViewManager;
+ this.visualMappingManager = visualMappingManager;
+ this.eventHelper = eventHelper;
+ }
- @Override
- public void run(final TaskMonitor taskMonitor) {
- CyNetworkView myView = applicationManager.getCurrentNetworkView();
+ @Override
+ public void run(final TaskMonitor taskMonitor) {
+ CyNetworkView myView =
applicationManager.getCurrentNetworkView();
- // 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 Set<CyEdge> selectedEdges = new
HashSet<CyEdge>(CyTableUtil.getEdgesInState(network, "selected", true));
+ // 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 Set<CyEdge> selectedEdges = new
HashSet<CyEdge>(CyTableUtil.getEdgesInState(network, "selected", true));
- // Make sure we're not loosing any edges for a possible undo!
- for (CyNode selectedNode : selectedNodes)
- selectedEdges.addAll(network.getAdjacentEdgeList(selectedNode,
CyEdge.Type.ANY));
+ // Make sure we're not loosing any edges for a possible undo!
+ for (CyNode selectedNode : selectedNodes)
+
selectedEdges.addAll(network.getAdjacentEdgeList(selectedNode,
CyEdge.Type.ANY));
- undoSupport.getUndoableEditSupport().postEdit(
- new DeleteEdit(network, selectedNodes, selectedEdges, this,
networkViewManager));
+ undoSupport.getUndoableEditSupport().postEdit(
+ new DeleteEdit(network, selectedNodes, selectedEdges,
this,
+ networkViewManager,
visualMappingManager, eventHelper));
- // Delete the actual nodes and edges:
- network.removeNodes(selectedNodes);
- network.removeEdges(selectedEdges);
+ // Delete the actual nodes and edges:
+ network.removeNodes(selectedNodes);
+ network.removeEdges(selectedEdges);
- myView.updateView();
- }
+ myView.updateView();
+ }
}
Modified:
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/networkobjects/DeleteSelectedNodesAndEdgesTaskFactory.java
===================================================================
---
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/networkobjects/DeleteSelectedNodesAndEdgesTaskFactory.java
2011-06-22 21:16:45 UTC (rev 25881)
+++
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/networkobjects/DeleteSelectedNodesAndEdgesTaskFactory.java
2011-06-22 22:16:45 UTC (rev 25882)
@@ -1,7 +1,7 @@
/*
File: DeleteSelectedNodesAndEdgesTaskFactory.java
- Copyright (c) 2010, The Cytoscape Consortium (www.cytoscape.org)
+ Copyright (c) 2010, 2011, The Cytoscape Consortium (www.cytoscape.org)
This library is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published
@@ -30,29 +30,39 @@
package org.cytoscape.task.internal.networkobjects;
+import org.cytoscape.event.CyEventHelper;
import org.cytoscape.work.TaskFactory;
import org.cytoscape.work.TaskIterator;
import org.cytoscape.work.undo.UndoSupport;
import org.cytoscape.session.CyApplicationManager;
import org.cytoscape.view.model.CyNetworkViewManager;
+import org.cytoscape.view.vizmap.VisualMappingManager;
public class DeleteSelectedNodesAndEdgesTaskFactory implements TaskFactory {
private final UndoSupport undoSupport;
private final CyApplicationManager applicationManager;
private final CyNetworkViewManager networkViewManager;
+ private final VisualMappingManager visualMappingManager;
+ private final CyEventHelper eventHelper;
public DeleteSelectedNodesAndEdgesTaskFactory(final UndoSupport
undoSupport,
final
CyApplicationManager applicationManager,
- final
CyNetworkViewManager networkViewManager)
+ final
CyNetworkViewManager networkViewManager,
+ final
VisualMappingManager visualMappingManager,
+ final CyEventHelper
eventHelper)
{
- this.undoSupport = undoSupport;
- this.applicationManager = applicationManager;
- this.networkViewManager = networkViewManager;
+ this.undoSupport = undoSupport;
+ this.applicationManager = applicationManager;
+ this.networkViewManager = networkViewManager;
+ this.visualMappingManager = visualMappingManager;
+ this.eventHelper = eventHelper;
}
public TaskIterator getTaskIterator() {
return new TaskIterator(
- new DeleteSelectedNodesAndEdgesTask(undoSupport,
applicationManager, networkViewManager));
+ new DeleteSelectedNodesAndEdgesTask(undoSupport,
applicationManager,
+ networkViewManager,
+
visualMappingManager, eventHelper));
}
}
Modified:
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
===================================================================
---
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
2011-06-22 21:16:45 UTC (rev 25881)
+++
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
2011-06-22 22:16:45 UTC (rev 25882)
@@ -73,6 +73,8 @@
<constructor-arg ref="undoSupportServiceRef" />
<constructor-arg ref="cyApplicationManagerServiceRef" />
<constructor-arg ref="cyNetworkViewManagerServiceRef" />
+ <constructor-arg ref="visualMappingManagerServiceRef" />
+ <constructor-arg ref="cyEventHelperRef" />
</bean>
<bean id="selectAllTaskFactory"
class="org.cytoscape.task.internal.select.SelectAllTaskFactory">
--
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.