Author: ruschein
Date: 2010-11-19 09:49:49 -0800 (Fri, 19 Nov 2010)
New Revision: 22928

Added:
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/networkobjects/
   
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
Removed:
   
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/actions/DeleteAction.java
   
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/actions/DeleteEdit.java
Modified:
   core3/core-task-impl/trunk/pom.xml
   
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
   
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
   
core3/swing-application-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
   
core3/swing-application-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
Log:
Moved delete action from swing-application-impl to core-task-impl.

Modified: core3/core-task-impl/trunk/pom.xml
===================================================================
--- core3/core-task-impl/trunk/pom.xml  2010-11-19 17:49:04 UTC (rev 22927)
+++ core3/core-task-impl/trunk/pom.xml  2010-11-19 17:49:49 UTC (rev 22928)
@@ -115,6 +115,11 @@
                        <artifactId>core-task-api</artifactId>
                        <version>3.0.0-alpha2-SNAPSHOT</version>
                </dependency>
+               <dependency>
+                       <groupId>org.cytoscape</groupId>
+                       <artifactId>swing-util</artifactId>
+                       <version>1.0-SNAPSHOT</version>
+               </dependency>
                
                <dependency>
                        <groupId>junit</groupId>

Copied: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/networkobjects/DeleteEdit.java
 (from rev 22912, 
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/actions/DeleteEdit.java)
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/networkobjects/DeleteEdit.java
                         (rev 0)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/networkobjects/DeleteEdit.java
 2010-11-19 17:49:49 UTC (rev 22928)
@@ -0,0 +1,104 @@
+package org.cytoscape.task.internal.networkobjects;
+
+
+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 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.util.swing.CyAbstractEdit;
+
+
+/**
+ * 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;
+       
+       DeleteEdit(CySubNetwork net, Set<CyNode> nodes, Set<CyEdge> edges,
+                  final DeleteSelectedNodesAndEdgesTask deleteAction,
+                  final CyNetworkViewManager netViewMgr)
+       {
+               super("Delete");
+
+               this.deleteAction = deleteAction;
+               if ( net == null )
+                       throw new NullPointerException("network is null");
+               this.net = net;
+
+               if ( netViewMgr == null )
+                       throw new NullPointerException("network manager is 
null");
+               this.netViewMgr = netViewMgr;
+
+               if ( nodes == null )
+                       throw new NullPointerException("nodes is null");
+               this.nodes = nodes; 
+
+               if ( edges == null )
+                       throw new NullPointerException("edges is null");
+               this.edges = edges; 
+
+               // save the positions of the nodes
+               xPos = new double[nodes.size()]; 
+               yPos = new double[nodes.size()]; 
+               CyNetworkView netView = 
netViewMgr.getNetworkView(net.getSUID());
+               if ( netView != null ) {
+                       int i = 0;
+                       for ( CyNode n : nodes ) {
+                               View<CyNode> nv = netView.getNodeView(n);
+                               xPos[i] = nv.getVisualProperty(NODE_X_LOCATION);
+                               yPos[i] = nv.getVisualProperty(NODE_Y_LOCATION);
+                               i++;
+                       }
+               }
+       }
+
+       public void redo() {
+               super.redo();
+
+               for ( CyNode n : nodes )
+                       net.removeNode(n);
+               for ( CyEdge e : edges )
+                       net.removeEdge(e);
+
+               CyNetworkView netView = 
netViewMgr.getNetworkView(net.getSUID());
+               
+               // Manually call update presentation
+               netView.updateView();
+       }
+
+       public void undo() {
+               super.undo();
+
+               for ( CyNode n : nodes )
+                       net.addNode(n);
+               for ( CyEdge e : edges )
+                       net.addEdge(e);
+
+               CyNetworkView netView = 
netViewMgr.getNetworkView(net.getSUID());
+               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] );
+                               i++;
+                       }
+               }
+
+               netView.updateView();
+       }
+}

Added: 
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
                            (rev 0)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/networkobjects/DeleteSelectedNodesAndEdgesTask.java
    2010-11-19 17:49:49 UTC (rev 22928)
@@ -0,0 +1,140 @@
+/*
+  File: DeleteSelectedNodesAndEdgesTask.java
+
+  Copyright (c) 2010, 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
+  by the Free Software Foundation; either version 2.1 of the License, or
+  any later version.
+
+  This library is distributed in the hope that it will be useful, but
+  WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF
+  MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  The software and
+  documentation provided hereunder is on an "as is" basis, and the
+  Institute for Systems Biology and the Whitehead Institute
+  have no obligations to provide maintenance, support,
+  updates, enhancements or modifications.  In no event shall the
+  Institute for Systems Biology and the Whitehead Institute
+  be liable to any party for direct, indirect, special,
+  incidental or consequential damages, including lost profits, arising
+  out of the use of this software and its documentation, even if the
+  Institute for Systems Biology and the Whitehead Institute
+  have been advised of the possibility of such damage.  See
+  the GNU Lesser General Public License for more details.
+
+  You should have received a copy of the GNU Lesser General Public License
+  along with this library; if not, write to the Free Software Foundation,
+  Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+*/
+package org.cytoscape.task.internal.networkobjects;
+
+
+import java.awt.event.ActionEvent;
+import java.awt.event.KeyEvent;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import javax.swing.event.MenuEvent;
+import javax.swing.KeyStroke;
+
+import org.cytoscape.model.CyTableUtil;
+import org.cytoscape.model.CyEdge;
+import org.cytoscape.model.CyNetwork;
+import org.cytoscape.model.CyNode;
+import org.cytoscape.model.CyTableEntry;
+import org.cytoscape.model.subnetwork.CyRootNetworkFactory;
+import org.cytoscape.model.subnetwork.CySubNetwork;
+import org.cytoscape.session.CyApplicationManager;
+import org.cytoscape.view.model.CyNetworkView;
+import org.cytoscape.view.model.CyNetworkViewManager;
+import org.cytoscape.work.AbstractTask;
+import org.cytoscape.work.TaskMonitor;
+import org.cytoscape.work.undo.UndoSupport;
+
+
+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,
+                                              final CyRootNetworkFactory 
rootNetworkFactory,
+                                              final CyApplicationManager 
applicationManager,
+                                              final CyNetworkViewManager 
networkViewManager)
+       {
+               this.undoSupport = undoSupport;
+               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;
+
+               // 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));
+               
+               // delete the actual nodes and edges
+               for (CyNode node : nodes)
+                       cyNet.removeNode(node);
+               for (CyEdge edge : edges)
+                       cyNet.removeEdge(edge);
+
+               myView.updateView();
+       }
+}

Added: 
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
                             (rev 0)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/networkobjects/DeleteSelectedNodesAndEdgesTaskFactory.java
     2010-11-19 17:49:49 UTC (rev 22928)
@@ -0,0 +1,63 @@
+/*
+ File: DeleteSelectedNodesAndEdgesTaskFactory.java
+
+ Copyright (c) 2010, 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
+ by the Free Software Foundation; either version 2.1 of the License, or
+ any later version.
+
+ This library is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF
+ MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  The software and
+ documentation provided hereunder is on an "as is" basis, and the
+ Institute for Systems Biology and the Whitehead Institute
+ have no obligations to provide maintenance, support,
+ updates, enhancements or modifications.  In no event shall the
+ Institute for Systems Biology and the Whitehead Institute
+ be liable to any party for direct, indirect, special,
+ incidental or consequential damages, including lost profits, arising
+ out of the use of this software and its documentation, even if the
+ Institute for Systems Biology and the Whitehead Institute
+ have been advised of the possibility of such damage.  See
+ the GNU Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with this library; if not, write to the Free Software Foundation,
+ Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+*/
+package org.cytoscape.task.internal.networkobjects;
+
+
+import org.cytoscape.model.subnetwork.CyRootNetworkFactory;
+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;
+
+
+public class DeleteSelectedNodesAndEdgesTaskFactory implements TaskFactory {
+       private final UndoSupport undoSupport;
+       private final CyRootNetworkFactory rootNetworkFactory;
+       private final CyApplicationManager applicationManager;
+       private final CyNetworkViewManager networkViewManager;
+
+       public DeleteSelectedNodesAndEdgesTaskFactory(final UndoSupport 
undoSupport,
+                                                     final 
CyRootNetworkFactory rootNetworkFactory,
+                                                     final 
CyApplicationManager applicationManager,
+                                                     final 
CyNetworkViewManager networkViewManager)
+       {
+               this.undoSupport = undoSupport;
+               this.rootNetworkFactory = rootNetworkFactory;
+               this.applicationManager = applicationManager;
+               this.networkViewManager = networkViewManager;
+       }
+
+       public TaskIterator getTaskIterator() {
+               return new TaskIterator(
+                       new DeleteSelectedNodesAndEdgesTask(undoSupport, 
rootNetworkFactory,
+                                                           applicationManager, 
networkViewManager));
+       }
+}

Modified: 
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
===================================================================
--- 
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
       2010-11-19 17:49:04 UTC (rev 22927)
+++ 
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
       2010-11-19 17:49:49 UTC (rev 22928)
@@ -9,6 +9,9 @@
        <osgi:reference id="cyNetworkNamingServiceRef"
                interface="org.cytoscape.session.CyNetworkNaming" />
 
+       <osgi:reference id="undoSupportServiceRef"
+                       interface="org.cytoscape.work.undo.UndoSupport" />
+
        <osgi:reference id="cyNetworkViewFactoryServiceRef"
                interface="org.cytoscape.view.model.CyNetworkViewFactory" />
 
@@ -94,6 +97,15 @@
        </osgi:service>
        
        <!-- selection -->
+       <osgi:service id="deleteSelectedNodesAndEdgesTaskFactoryService" 
ref="deleteSelectedNodesAndEdgesTaskFactory"
+               interface="org.cytoscape.work.TaskFactory">
+               <osgi:service-properties>
+                       <entry key="title" value="Delete Selected Nodes and 
Edges..." />
+                       <entry key="preferredMenu" value="Edit" />
+                       <entry key="enableFor" value="selectedNodesOrEdges" />
+               </osgi:service-properties>
+       </osgi:service>
+
        <osgi:service id="selectAllTaskFactoryService" 
ref="selectAllTaskFactory"
                interface="org.cytoscape.task.NetworkTaskFactory">
                <osgi:service-properties>

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
    2010-11-19 17:49:04 UTC (rev 22927)
+++ 
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
    2010-11-19 17:49:49 UTC (rev 22928)
@@ -52,12 +52,20 @@
                <constructor-arg ref="streamUtilRef" />
        </bean>
 
-<!--To set the Current Network through another TaskFactory-->
+       <!--To set the Current Network through another TaskFactory-->
        <bean id="setCurrentNetworkTaskFactory" 
class="org.cytoscape.task.internal.setcurrent.SetCurrentNetworkTaskFactoryImpl">
                <constructor-arg ref="cyApplicationManagerServiceRef"/>
                <constructor-arg ref="cyNetworkManagerServiceRef"/>
        </bean>
 
+       <bean id="deleteSelectedNodesAndEdgesTaskFactory"
+             
class="org.cytoscape.task.internal.networkobjects.DeleteSelectedNodesAndEdgesTaskFactory">
+               <constructor-arg ref="undoSupportServiceRef" />
+               <constructor-arg ref="cyRootNetworkFactoryServiceRef" />
+               <constructor-arg ref="cyApplicationManagerServiceRef" />
+               <constructor-arg ref="cyNetworkViewManagerServiceRef" />
+       </bean>
+
        <bean id="selectAllTaskFactory"
              class="org.cytoscape.task.internal.select.SelectAllTaskFactory">
                <constructor-arg ref="cyNetworkViewManagerServiceRef" />

Deleted: 
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/actions/DeleteAction.java
===================================================================
--- 
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/actions/DeleteAction.java
   2010-11-19 17:49:04 UTC (rev 22927)
+++ 
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/actions/DeleteAction.java
   2010-11-19 17:49:49 UTC (rev 22928)
@@ -1,176 +0,0 @@
-/* -*-Java-*-
- 
********************************************************************************
- *
- * File:         DeleteAction.java
- * RCS:          $Header: $
- * Description:
- * Author:       Allan Kuchinsky
- * Created:      Tue May 24 06:54:43 2005
- * Modified:     Tue Jan 09 05:16:48 2007 (Michael L. Creech) 
cre...@w235krbza760
- * Language:     Java
- * Package:
- * Status:       Experimental (Do Not Distribute)
- *
- * (c) Copyright 2006, Agilent Technologies, all rights reserved.
- *
- 
********************************************************************************
- *
- * Revisions:
- *
-* Fri May 11 16:58:47 2007 (Michael L. Creech) cre...@w235krbza760
-*  Removed unneeded imports and update some generics.
- * Tue Jan 09 05:15:18 2007 (Michael L. Creech) cre...@w235krbza760
- *  Added setup of Delete keyboard accelerator to constructors.
- * Wed Dec 27 06:54:56 2006 (Michael L. Creech) cre...@w235krbza760
- *  Removed use of _title and removed 2 parameter constructor, removed unused
- *  local variables.
- 
********************************************************************************
- */
-package org.cytoscape.internal.actions;
-
-import java.awt.event.ActionEvent;
-import java.awt.event.KeyEvent;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import javax.swing.event.MenuEvent;
-import javax.swing.KeyStroke;
-
-import org.cytoscape.application.swing.AbstractCyAction;
-import org.cytoscape.model.CyTableUtil;
-import org.cytoscape.model.CyEdge;
-import org.cytoscape.model.CyNetwork;
-import org.cytoscape.model.CyNode;
-import org.cytoscape.model.CyTableEntry;
-import org.cytoscape.model.subnetwork.CyRootNetworkFactory;
-import org.cytoscape.model.subnetwork.CySubNetwork;
-import org.cytoscape.view.model.CyNetworkViewManager;
-import org.cytoscape.session.CyApplicationManager;
-import org.cytoscape.view.model.CyNetworkView;
-import org.cytoscape.work.undo.UndoSupport;
-
-
-
-/**
- *
- * action for deleting selected Cytoscape nodes and edges
- *
- * @author Allan Kuchinsky, Agilent Technologies
- * @version 1.0
- *
- */
-public class DeleteAction extends AbstractCyAction {
-       private static final long serialVersionUID = -5769255815829787466L;
-
-       private CyRootNetworkFactory cyRootNetworkFactory;
-       
-       /**
-        * 
-        */
-       public static final String ACTION_TITLE = "Delete Selected Nodes and 
Edges";
-
-       private CyTableEntry graphObj = null;
-
-       private final UndoSupport undo;
-       private final CyNetworkViewManager networkViewManager;
-
-       /**
-        * action for deleting selected Cytoscape nodes and edges
-        */
-       public DeleteAction(final UndoSupport undo, final CyRootNetworkFactory 
root,
-                           final CyApplicationManager applicationManager,
-                           final CyNetworkViewManager networkViewManager)
-       {
-               this(null,undo,root, applicationManager, 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 DeleteAction(CyTableEntry obj, final UndoSupport undo, final 
CyRootNetworkFactory root, final CyApplicationManager applicationManager, final 
CyNetworkViewManager networkViewManager) {
-               super(ACTION_TITLE,applicationManager);
-               this.networkViewManager = networkViewManager;
-               setPreferredMenu("Edit");
-               
setAcceleratorKeyStroke(KeyStroke.getKeyStroke(KeyEvent.VK_DELETE, 0));
-               graphObj = obj;
-               this.undo = undo;
-               cyRootNetworkFactory = root; 
-       }
-
-
-       /**
-        * Delete all selected nodes, edges, edges adjacent to the selected 
nodes,
-        * and any nodes/edges passed as arguments.
-        */
-       public void actionPerformed(ActionEvent ae) {
-
-               CyNetworkView myView = 
applicationManager.getCurrentNetworkView();
-
-               // delete from the base CySubNetwork so that our changes can be 
undone 
-               CySubNetwork cyNet = cyRootNetworkFactory.convert( 
myView.getModel() ).getBaseNetwork();
-               List<CyEdge> selEdges = 
CyTableUtil.getEdgesInState(cyNet,"selected",true); 
-               List<CyNode> selNodes = 
CyTableUtil.getNodesInState(cyNet,"selected",true); 
-               CyNode cyNode;
-               CyEdge cyEdge;
-
-               // 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 );
-               }
-
-               undo.getUndoableEditSupport().postEdit( new 
DeleteEdit(cyNet,nodes,edges,this, networkViewManager) );
-               
-               // delete the actual nodes and edges
-
-               for ( CyNode nd : nodes )
-                       cyNet.removeNode(nd);
-               for ( CyEdge ed : edges )
-                       cyNet.removeEdge(ed);
-
-               //Cytoscape.firePropertyChange(Cytoscape.NETWORK_MODIFIED, 
null, cyNet);
-       }
-
-    public void menuSelected(MenuEvent me) {
-        CyNetwork n = applicationManager.getCurrentNetwork();
-        if ( n == null ) {
-            setEnabled(false);
-            return;
-        }
-
-        List<CyNode> nodes = CyTableUtil.getNodesInState(n,"selected",true);
-        List<CyEdge> edges = CyTableUtil.getEdgesInState(n,"selected",true);
-
-        if ( nodes.size() > 0 || edges.size() > 0 )
-            setEnabled(true);
-        else
-            setEnabled(false);
-    }
-}

Deleted: 
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/actions/DeleteEdit.java
===================================================================
--- 
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/actions/DeleteEdit.java
     2010-11-19 17:49:04 UTC (rev 22927)
+++ 
core3/swing-application-impl/trunk/src/main/java/org/cytoscape/internal/actions/DeleteEdit.java
     2010-11-19 17:49:49 UTC (rev 22928)
@@ -1,106 +0,0 @@
-
-package org.cytoscape.internal.actions;
-
-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 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.util.swing.CyAbstractEdit;
-
-
-/**
- * An undoable edit that will undo and redo deletion of nodes and edges.
- */ 
-class DeleteEdit extends CyAbstractEdit {
-
-       private static final long serialVersionUID = -1164181258019250610L;
-       Set<CyNode> nodes;
-       Set<CyEdge> edges;
-       double[] xPos;
-       double[] yPos;
-       final CySubNetwork net;
-       final DeleteAction deleteAction;
-       final CyNetworkViewManager netViewMgr;
-       
-       DeleteEdit(CySubNetwork net, Set<CyNode> nodes, Set<CyEdge> edges,      
DeleteAction deleteAction, CyNetworkViewManager netViewMgr) {
-               super("Delete");
-               this.deleteAction = deleteAction;
-               if ( net == null )
-                       throw new NullPointerException("network is null");
-               this.net = net;
-
-               if ( netViewMgr == null )
-                       throw new NullPointerException("network manager is 
null");
-               this.netViewMgr = netViewMgr;
-
-               if ( nodes == null )
-                       throw new NullPointerException("nodes is null");
-               this.nodes = nodes; 
-
-               if ( edges == null )
-                       throw new NullPointerException("edges is null");
-               this.edges = edges; 
-
-               // save the positions of the nodes
-               xPos = new double[nodes.size()]; 
-               yPos = new double[nodes.size()]; 
-               CyNetworkView netView = 
netViewMgr.getNetworkView(net.getSUID());
-               if ( netView != null ) {
-                       int i = 0;
-                       for ( CyNode n : nodes ) {
-                               View<CyNode> nv = netView.getNodeView(n);
-                               xPos[i] = nv.getVisualProperty(NODE_X_LOCATION);
-                               yPos[i] = nv.getVisualProperty(NODE_Y_LOCATION);
-                               i++;
-                       }
-               }
-       }
-
-       public void redo() {
-               super.redo();
-
-               for ( CyNode n : nodes )
-                       net.removeNode(n);
-               for ( CyEdge e : edges )
-                       net.removeEdge(e);
-
-               CyNetworkView netView = 
netViewMgr.getNetworkView(net.getSUID());
-               
-               // Manually call update presentation
-               netView.updateView();
-        
-               deleteAction.setEnabled(false);
-       }
-
-       public void undo() {
-               super.undo();
-
-               for ( CyNode n : nodes )
-                       net.addNode(n);
-               for ( CyEdge e : edges )
-                       net.addEdge(e);
-
-               CyNetworkView netView = 
netViewMgr.getNetworkView(net.getSUID());
-               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] );
-                               i++;
-                       }
-               }
-
-               netView.updateView();
-
-               deleteAction.setEnabled(true);
-       }
-}

Modified: 
core3/swing-application-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
===================================================================
--- 
core3/swing-application-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
       2010-11-19 17:49:04 UTC (rev 22927)
+++ 
core3/swing-application-impl/trunk/src/main/resources/META-INF/spring/bundle-context-osgi.xml
       2010-11-19 17:49:49 UTC (rev 22928)
@@ -96,8 +96,6 @@
                interface="org.cytoscape.application.swing.CyAction" />
        <osgi:service id="redoActionService" ref="redoAction"
                interface="org.cytoscape.application.swing.CyAction" />
-       <osgi:service id="deleteActionService" ref="deleteAction"
-               interface="org.cytoscape.application.swing.CyAction" />
        <osgi:service id="preferenceActionService" ref="preferenceAction"
                interface="org.cytoscape.application.swing.CyAction" />
        <osgi:service id="bookmarkActionService" ref="bookmarkAction"

Modified: 
core3/swing-application-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
===================================================================
--- 
core3/swing-application-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
    2010-11-19 17:49:04 UTC (rev 22927)
+++ 
core3/swing-application-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
    2010-11-19 17:49:49 UTC (rev 22928)
@@ -121,12 +121,6 @@
                <constructor-arg ref="undoSupportServiceRef" />
                <constructor-arg ref="cyApplicationManagerServiceRef" />
        </bean>
-       <bean id="deleteAction" 
class="org.cytoscape.internal.actions.DeleteAction">
-               <constructor-arg ref="undoSupportServiceRef" />
-               <constructor-arg ref="cyRootNetworkFactoryServiceRef" />
-               <constructor-arg ref="cyApplicationManagerServiceRef" />
-               <constructor-arg ref="cyNetworkViewManagerServiceRef" />
-       </bean>
        <bean id="preferenceAction" 
class="org.cytoscape.internal.actions.PreferenceAction">
                <constructor-arg ref="cytoscapeDesktop" />
                <constructor-arg ref="cyApplicationManagerServiceRef" />

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