Author: jm
Date: 2012-01-25 11:54:59 -0800 (Wed, 25 Jan 2012)
New Revision: 28107
Modified:
core3/api/trunk/work-api/src/main/java/org/cytoscape/work/undo/UndoSupport.java
core3/impl/trunk/session-impl/pom.xml
core3/impl/trunk/session-impl/src/main/java/org/cytoscape/session/internal/CyActivator.java
core3/impl/trunk/session-impl/src/main/java/org/cytoscape/session/internal/CySessionManagerImpl.java
core3/impl/trunk/work-swing-impl/impl/src/main/java/org/cytoscape/work/internal/UndoSupportImpl.java
Log:
Fixes #620: Undo stack now gets cleared when current session is discarded
Modified:
core3/api/trunk/work-api/src/main/java/org/cytoscape/work/undo/UndoSupport.java
===================================================================
---
core3/api/trunk/work-api/src/main/java/org/cytoscape/work/undo/UndoSupport.java
2012-01-25 19:48:22 UTC (rev 28106)
+++
core3/api/trunk/work-api/src/main/java/org/cytoscape/work/undo/UndoSupport.java
2012-01-25 19:54:59 UTC (rev 28107)
@@ -40,4 +40,9 @@
* @param edit The edit to be added to the Cytoscape undo stack.
*/
void postEdit(AbstractCyEdit edit);
+
+ /**
+ * Clears the undo stack.
+ */
+ void reset();
}
Modified: core3/impl/trunk/session-impl/pom.xml
===================================================================
--- core3/impl/trunk/session-impl/pom.xml 2012-01-25 19:48:22 UTC (rev
28106)
+++ core3/impl/trunk/session-impl/pom.xml 2012-01-25 19:54:59 UTC (rev
28107)
@@ -86,6 +86,10 @@
</dependency>
<dependency>
<groupId>org.cytoscape</groupId>
+ <artifactId>work-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.cytoscape</groupId>
<artifactId>session-api</artifactId>
<scope>test</scope>
<type>test-jar</type>
Modified:
core3/impl/trunk/session-impl/src/main/java/org/cytoscape/session/internal/CyActivator.java
===================================================================
---
core3/impl/trunk/session-impl/src/main/java/org/cytoscape/session/internal/CyActivator.java
2012-01-25 19:48:22 UTC (rev 28106)
+++
core3/impl/trunk/session-impl/src/main/java/org/cytoscape/session/internal/CyActivator.java
2012-01-25 19:54:59 UTC (rev 28107)
@@ -14,6 +14,7 @@
import org.cytoscape.session.CySessionManager;
import org.cytoscape.view.model.CyNetworkViewManager;
import org.cytoscape.view.vizmap.VisualMappingManager;
+import org.cytoscape.work.undo.UndoSupport;
import org.osgi.framework.BundleContext;
@@ -33,9 +34,9 @@
CyNetworkTableManager cyNetworkTableManagerServiceRef =
getService(bc,CyNetworkTableManager.class);
CyRootNetworkManager cyRootNetworkManagerServiceRef =
getService(bc,CyRootNetworkManager.class);
CyServiceRegistrar cyServiceRegistrarServiceRef =
getService(bc,CyServiceRegistrar.class);
-
+ UndoSupport undo = getService(bc,UndoSupport.class);
CyNetworkNamingImpl cyNetworkNaming = new
CyNetworkNamingImpl(cyNetworkManagerServiceRef);
- CySessionManagerImpl cySessionManager = new
CySessionManagerImpl(cyEventHelperServiceRef,cyNetworkManagerServiceRef,cyTableManagerServiceRef,cyNetworkTableManagerServiceRef,visualMappingManagerServiceRef,cyNetworkViewManagerServiceRef,cyRootNetworkManagerServiceRef,cyServiceRegistrarServiceRef);
+ CySessionManagerImpl cySessionManager = new
CySessionManagerImpl(cyEventHelperServiceRef,cyNetworkManagerServiceRef,cyTableManagerServiceRef,cyNetworkTableManagerServiceRef,visualMappingManagerServiceRef,cyNetworkViewManagerServiceRef,cyRootNetworkManagerServiceRef,cyServiceRegistrarServiceRef,
undo);
registerService(bc,cyNetworkNaming,CyNetworkNaming.class, new
Properties());
registerService(bc,cySessionManager,CySessionManager.class, new
Properties());
Modified:
core3/impl/trunk/session-impl/src/main/java/org/cytoscape/session/internal/CySessionManagerImpl.java
===================================================================
---
core3/impl/trunk/session-impl/src/main/java/org/cytoscape/session/internal/CySessionManagerImpl.java
2012-01-25 19:48:22 UTC (rev 28106)
+++
core3/impl/trunk/session-impl/src/main/java/org/cytoscape/session/internal/CySessionManagerImpl.java
2012-01-25 19:54:59 UTC (rev 28107)
@@ -71,6 +71,7 @@
import org.cytoscape.view.model.CyNetworkViewManager;
import org.cytoscape.view.vizmap.VisualMappingManager;
import org.cytoscape.view.vizmap.VisualStyle;
+import org.cytoscape.work.undo.UndoSupport;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -92,6 +93,7 @@
private final CyNetworkViewManager nvMgr;
private final CyRootNetworkManager rootNetMgr;
private final CyServiceRegistrar registrar;
+ private final UndoSupport undo;
private final Set<CyProperty<?>> sessionProperties;
@@ -104,7 +106,8 @@
final
VisualMappingManager vmMgr,
final
CyNetworkViewManager nvMgr,
final
CyRootNetworkManager rootNetMgr,
- final
CyServiceRegistrar registrar) {
+ final
CyServiceRegistrar registrar,
+ final
UndoSupport undo) {
this.cyEventHelper = cyEventHelper;
this.netMgr = netMgr;
this.tblMgr = tblMgr;
@@ -114,6 +117,7 @@
this.rootNetMgr = rootNetMgr;
this.registrar = registrar;
this.sessionProperties = new HashSet<CyProperty<?>>();
+ this.undo = undo;
}
@Override
@@ -436,5 +440,8 @@
registrar.unregisterAllServices(cyProps);
}
}
+
+ // Clear undo stack
+ undo.reset();
}
}
Modified:
core3/impl/trunk/work-swing-impl/impl/src/main/java/org/cytoscape/work/internal/UndoSupportImpl.java
===================================================================
---
core3/impl/trunk/work-swing-impl/impl/src/main/java/org/cytoscape/work/internal/UndoSupportImpl.java
2012-01-25 19:48:22 UTC (rev 28106)
+++
core3/impl/trunk/work-swing-impl/impl/src/main/java/org/cytoscape/work/internal/UndoSupportImpl.java
2012-01-25 19:54:59 UTC (rev 28107)
@@ -40,7 +40,6 @@
import javax.swing.undo.UndoableEditSupport;
import javax.swing.undo.AbstractUndoableEdit;
-import org.cytoscape.work.undo.UndoSupport;
import org.cytoscape.work.undo.AbstractCyEdit;
import org.cytoscape.work.swing.undo.SwingUndoSupport;
@@ -83,6 +82,11 @@
if ( edit != null )
m_undoSupport.postEdit( new SwingEditWrapper(edit) );
}
+
+ @Override
+ public void reset() {
+ m_undoManager.discardAllEdits();
+ }
/**
* Creates a Swing UndoableEdit by wrapping a Cytoscape AbstractCyEdit.
--
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.