Author: ruschein
Date: 2011-07-28 16:28:32 -0700 (Thu, 28 Jul 2011)
New Revision: 26327

Modified:
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/hide/HideSelectedTask.java
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/hide/HideSelectedTaskFactory.java
   
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
   
core3/core-task-impl/trunk/src/test/java/org/cytoscape/task/internal/hide/HideSelectedTaskFactoryTest.java
Log:
Added undo/redo support for hiding of selected nodes & edges.

Modified: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/hide/HideSelectedTask.java
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/hide/HideSelectedTask.java
     2011-07-28 23:18:49 UTC (rev 26326)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/hide/HideSelectedTask.java
     2011-07-28 23:28:32 UTC (rev 26327)
@@ -1,15 +1,8 @@
 /*
   File: HideSelectedTask.java
 
-  Copyright (c) 2006, The Cytoscape Consortium (www.cytoscape.org)
+  Copyright (c) 2006, 2011, The Cytoscape Consortium (www.cytoscape.org)
 
-  The Cytoscape Consortium is:
-  - Institute for Systems Biology
-  - University of California San Diego
-  - Memorial Sloan-Kettering Cancer Center
-  - Institut Pasteur
-  - Agilent Technologies
-
   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
@@ -34,11 +27,12 @@
   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.hide;
 
+
 import java.util.List;
 
+import org.cytoscape.event.CyEventHelper;
 import org.cytoscape.model.CyTableUtil;
 import org.cytoscape.model.CyEdge;
 import org.cytoscape.model.CyNetwork;
@@ -46,22 +40,34 @@
 import org.cytoscape.task.AbstractNetworkViewTask;
 import org.cytoscape.view.model.CyNetworkView;
 import org.cytoscape.work.TaskMonitor;
+import org.cytoscape.work.undo.UndoSupport;
 
 
 public class HideSelectedTask extends AbstractNetworkViewTask {
+       private final UndoSupport undoSupport;
+       private final CyEventHelper eventHelper;
 
-       public HideSelectedTask(CyNetworkView v) {
+       public HideSelectedTask(final UndoSupport undoSupport, final 
CyEventHelper eventHelper,
+                               final CyNetworkView v)
+       {
                super(v);
+               this.undoSupport = undoSupport;
+               this.eventHelper = eventHelper;
        }
 
        public void run(TaskMonitor e) {
-               final CyNetwork curr = view.getModel();
-               final List<CyNode> selectedNodes = 
CyTableUtil.getNodesInState(curr,"selected",true);
-               final List<CyEdge> selectedEdges = 
CyTableUtil.getEdgesInState(curr,"selected",true); 
+               final CyNetwork network = view.getModel();
+               undoSupport.getUndoableEditSupport().postEdit(
+                       new HideEdit(eventHelper, "Hide Selected Nodes & 
Edges", network, view));
 
-               HideUtils.setVisibleNodes( selectedNodes, false, view );
-               HideUtils.setVisibleEdges( selectedEdges, false, view );
+               final List<CyNode> selectedNodes =
+                       CyTableUtil.getNodesInState(network, 
CyNetwork.SELECTED, true);
+               final List<CyEdge> selectedEdges =
+                       CyTableUtil.getEdgesInState(network, 
CyNetwork.SELECTED, true); 
 
+               HideUtils.setVisibleNodes(selectedNodes, false, view);
+               HideUtils.setVisibleEdges(selectedEdges, false, view);
+
                view.updateView();
        } 
 }

Modified: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/hide/HideSelectedTaskFactory.java
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/hide/HideSelectedTaskFactory.java
      2011-07-28 23:18:49 UTC (rev 26326)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/hide/HideSelectedTaskFactory.java
      2011-07-28 23:28:32 UTC (rev 26327)
@@ -1,7 +1,7 @@
 /*
   File: HideSelectedTaskFactory.java
 
-  Copyright (c) 2006, 2010, The Cytoscape Consortium (www.cytoscape.org)
+  Copyright (c) 2006, 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,13 +30,24 @@
 package org.cytoscape.task.internal.hide;
 
 
+import org.cytoscape.event.CyEventHelper;
 import org.cytoscape.task.AbstractNetworkViewTaskFactory;
 import org.cytoscape.work.TaskIterator;
+import org.cytoscape.work.undo.UndoSupport;
 
 
 public class HideSelectedTaskFactory extends AbstractNetworkViewTaskFactory {
+       private final UndoSupport undoSupport;
+       private final CyEventHelper eventHelper;
 
+       public HideSelectedTaskFactory(final UndoSupport undoSupport,
+                                      final CyEventHelper eventHelper)
+       {
+               this.undoSupport = undoSupport;
+               this.eventHelper = eventHelper;
+       }
+
        public TaskIterator getTaskIterator() {
-               return new TaskIterator(new HideSelectedTask(view));
+               return new TaskIterator(new HideSelectedTask(undoSupport, 
eventHelper, view));
        } 
 }

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-07-28 23:18:49 UTC (rev 26326)
+++ 
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
    2011-07-28 23:28:32 UTC (rev 26327)
@@ -179,6 +179,8 @@
        <!-- show/hide -->
        <bean id="hideSelectedTaskFactory"
                
class="org.cytoscape.task.internal.hide.HideSelectedTaskFactory">
+               <constructor-arg ref="undoSupportServiceRef" />
+               <constructor-arg ref="cyEventHelperRef" />
        </bean>
 
        <bean id="hideSelectedNodesTaskFactory"

Modified: 
core3/core-task-impl/trunk/src/test/java/org/cytoscape/task/internal/hide/HideSelectedTaskFactoryTest.java
===================================================================
--- 
core3/core-task-impl/trunk/src/test/java/org/cytoscape/task/internal/hide/HideSelectedTaskFactoryTest.java
  2011-07-28 23:18:49 UTC (rev 26326)
+++ 
core3/core-task-impl/trunk/src/test/java/org/cytoscape/task/internal/hide/HideSelectedTaskFactoryTest.java
  2011-07-28 23:28:32 UTC (rev 26327)
@@ -1,21 +1,30 @@
 package org.cytoscape.task.internal.hide;
 
+
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.mock;
 
+import javax.swing.undo.UndoableEditSupport;
+
+import org.cytoscape.event.CyEventHelper;
 import org.cytoscape.view.model.CyNetworkView;
 import org.cytoscape.work.Task;
 import org.cytoscape.work.TaskIterator;
+import org.cytoscape.work.undo.UndoSupport;
+
 import org.junit.Test;
 
+
 public class HideSelectedTaskFactoryTest {
        @Test
        public void testRun() throws Exception {
+               UndoSupport undoSupport = mock(UndoSupport.class);
+               CyEventHelper eventHelper = mock(CyEventHelper.class);
+               HideSelectedTaskFactory factory =
+                       new HideSelectedTaskFactory(undoSupport, eventHelper);
 
                CyNetworkView view = mock(CyNetworkView.class);
-
-               HideSelectedTaskFactory factory = new HideSelectedTaskFactory();
                factory.setNetworkView(view);
                
                TaskIterator ti = factory.getTaskIterator();

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