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.