Author: ruschein
Date: 2011-07-28 16:18:49 -0700 (Thu, 28 Jul 2011)
New Revision: 26326

Modified:
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/hide/HideSelectedNodesTask.java
   
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/hide/HideSelectedNodesTaskFactory.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/HideSelectedNodesTaskFactoryTest.java
   
core3/core-task-impl/trunk/src/test/java/org/cytoscape/task/internal/hide/HideSelectedNodesTaskTest.java
Log:
Added undo/redo support for hiding of selected nodes.

Modified: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/hide/HideSelectedNodesTask.java
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/hide/HideSelectedNodesTask.java
        2011-07-28 22:58:31 UTC (rev 26325)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/hide/HideSelectedNodesTask.java
        2011-07-28 23:18:49 UTC (rev 26326)
@@ -1,15 +1,8 @@
 /*
   File: HideSelectedNodesTask.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,31 +27,43 @@
   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.CyNetwork;
 import org.cytoscape.model.CyNode;
 import org.cytoscape.task.AbstractNetworkViewTask;
 import org.cytoscape.view.model.CyNetworkView;
 import org.cytoscape.work.TaskMonitor;
+import org.cytoscape.work.undo.UndoSupport;
 
 
 public class HideSelectedNodesTask extends AbstractNetworkViewTask {
+       private final UndoSupport undoSupport;
+       private final CyEventHelper eventHelper;
 
-       public HideSelectedNodesTask(CyNetworkView v) {
+       public HideSelectedNodesTask(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, CyNetwork.SELECTED ,true);
+               final CyNetwork network = view.getModel();
+               undoSupport.getUndoableEditSupport().postEdit(
+                       new HideEdit(eventHelper, "Hide Selected Nodes", 
network, view));
 
-               HideUtils.setVisibleNodes( selectedNodes, false, view );
+               final List<CyNode> selectedNodes =
+                       CyTableUtil.getNodesInState(network, CyNetwork.SELECTED 
,true);
 
+               HideUtils.setVisibleNodes(selectedNodes, false, view);
+
                view.updateView();
        } 
 }

Modified: 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/hide/HideSelectedNodesTaskFactory.java
===================================================================
--- 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/hide/HideSelectedNodesTaskFactory.java
 2011-07-28 22:58:31 UTC (rev 26325)
+++ 
core3/core-task-impl/trunk/src/main/java/org/cytoscape/task/internal/hide/HideSelectedNodesTaskFactory.java
 2011-07-28 23:18:49 UTC (rev 26326)
@@ -1,7 +1,7 @@
 /*
   File: HideSelectedNodesTaskFactory.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
@@ -27,17 +27,27 @@
   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 org.cytoscape.event.CyEventHelper;
 import org.cytoscape.task.AbstractNetworkViewTaskFactory;
 import org.cytoscape.work.TaskIterator;
+import org.cytoscape.work.undo.UndoSupport;
 
 
 public class HideSelectedNodesTaskFactory extends 
AbstractNetworkViewTaskFactory {
+       private final UndoSupport undoSupport;
+       private final CyEventHelper eventHelper;
 
+       public HideSelectedNodesTaskFactory(final UndoSupport undoSupport,
+                                           final CyEventHelper eventHelper)
+       {
+               this.undoSupport = undoSupport;
+               this.eventHelper = eventHelper;
+       }
+
        public TaskIterator getTaskIterator() {
-               return new TaskIterator(new HideSelectedNodesTask(view));
+               return new TaskIterator(new HideSelectedNodesTask(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 22:58:31 UTC (rev 26325)
+++ 
core3/core-task-impl/trunk/src/main/resources/META-INF/spring/bundle-context.xml
    2011-07-28 23:18:49 UTC (rev 26326)
@@ -183,6 +183,8 @@
 
        <bean id="hideSelectedNodesTaskFactory"
                
class="org.cytoscape.task.internal.hide.HideSelectedNodesTaskFactory">
+               <constructor-arg ref="undoSupportServiceRef" />
+               <constructor-arg ref="cyEventHelperRef" />
        </bean>
 
        <bean id="hideSelectedEdgesTaskFactory"

Modified: 
core3/core-task-impl/trunk/src/test/java/org/cytoscape/task/internal/hide/HideSelectedNodesTaskFactoryTest.java
===================================================================
--- 
core3/core-task-impl/trunk/src/test/java/org/cytoscape/task/internal/hide/HideSelectedNodesTaskFactoryTest.java
     2011-07-28 22:58:31 UTC (rev 26325)
+++ 
core3/core-task-impl/trunk/src/test/java/org/cytoscape/task/internal/hide/HideSelectedNodesTaskFactoryTest.java
     2011-07-28 23:18:49 UTC (rev 26326)
@@ -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 HideSelectedNodesTaskFactoryTest {
        @Test
        public void testRun() throws Exception {
+               UndoSupport undoSupport = mock(UndoSupport.class);
+               CyEventHelper eventHelper = mock(CyEventHelper.class);
+               HideSelectedNodesTaskFactory factory =
+                       new HideSelectedNodesTaskFactory(undoSupport, 
eventHelper);
 
                CyNetworkView view = mock(CyNetworkView.class);
-
-               HideSelectedNodesTaskFactory factory = new 
HideSelectedNodesTaskFactory();
                factory.setNetworkView(view);
                
                TaskIterator ti = factory.getTaskIterator();

Modified: 
core3/core-task-impl/trunk/src/test/java/org/cytoscape/task/internal/hide/HideSelectedNodesTaskTest.java
===================================================================
--- 
core3/core-task-impl/trunk/src/test/java/org/cytoscape/task/internal/hide/HideSelectedNodesTaskTest.java
    2011-07-28 22:58:31 UTC (rev 26325)
+++ 
core3/core-task-impl/trunk/src/test/java/org/cytoscape/task/internal/hide/HideSelectedNodesTaskTest.java
    2011-07-28 23:18:49 UTC (rev 26326)
@@ -1,20 +1,31 @@
 package org.cytoscape.task.internal.hide;
 
+
+import javax.swing.undo.UndoableEditSupport;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import org.cytoscape.event.CyEventHelper;
 import org.cytoscape.task.AbstractNetworkViewTaskTest;
 import org.cytoscape.test.support.NetworkViewTestSupport;
 import org.cytoscape.view.model.CyNetworkView;
 import org.cytoscape.work.TaskMonitor;
+import org.cytoscape.work.undo.UndoSupport;
+
 import org.junit.Before;
 import org.junit.Test;
+
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 
 
 public class HideSelectedNodesTaskTest extends AbstractNetworkViewTaskTest {
-       
        private final NetworkViewTestSupport viewSupport = new 
NetworkViewTestSupport();
        private CyNetworkView view = viewSupport.getNetworkView();
        @Mock TaskMonitor tm;
+       @Mock CyEventHelper eventHelper;
+       @Mock UndoSupport undoSupport;
        
        @Before
        public void initMocks() {
@@ -23,8 +34,11 @@
        
        @Test
        public void testHideSelectedEdgesTask() throws Exception {
+               UndoableEditSupport undoableEditSupport = 
mock(UndoableEditSupport.class);
+               
when(undoSupport.getUndoableEditSupport()).thenReturn(undoableEditSupport);
                
-               final HideSelectedNodesTask task = new 
HideSelectedNodesTask(view);
+               final HideSelectedNodesTask task =
+                       new HideSelectedNodesTask(undoSupport, eventHelper, 
view);
                task.run(tm);
        }
 

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