svn commit: r18875 - trunk/src/argouml-app/src/org/argouml/kernel
| Newsgroups | gmane.comp.lang.uml.argouml.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: bobtarling
Date: 2010-12-04 09:19:43-0800
New Revision: 18875
Modified:
trunk/src/argouml-app/src/org/argouml/kernel/DefaultUndoManager.java
trunk/src/argouml-app/src/org/argouml/kernel/ProjectImpl.java
Log:
Make the undo manager project specific
Modified: trunk/src/argouml-app/src/org/argouml/kernel/DefaultUndoManager.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/kernel/DefaultUndoManager.java?view=diff&pathrev=18875&r1=18874&r2=18875
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/kernel/DefaultUndoManager.java (original)
+++ trunk/src/argouml-app/src/org/argouml/kernel/DefaultUndoManager.java 2010-12-04 09:19:43-0800
@@ -75,6 +75,11 @@
private boolean newInteraction = true;
/**
+ * The project to which this undo manager relates
+ */
+ private final Project project;
+
+ /**
* A description of the user interaction taking place.
* Often this is the label of an Action.
*/
@@ -83,21 +88,30 @@
private UndoStack undoStack = new UndoStack();
private RedoStack redoStack = new RedoStack();
+ /**
+ * @deprecated in 0.32 alpha by Bob Tarling use DefaultUndoManager(Project)
+ */
+ @Deprecated
private static final UndoManager INSTANCE = new DefaultUndoManager();
+ /**
+ * @deprecated in 0.32 alpha by Bob Tarling use DefaultUndoManager(Project)
+ */
+ @Deprecated
private DefaultUndoManager() {
super();
+ project = null;
+ }
+
+ DefaultUndoManager(Project project) {
+ super();
+ this.project = project;
}
/**
- * Get the UndoManager singleton instance.
- *
- * @deprecated The DefaultUndoManager is only temporarily a singleton until
- * changes are made to GEF at which point there will be one undo
- * manager per ArgoUML project and this method will disappear.
- * @return the singleton undo manager
+ * @deprecated in 0.32 alpha by Bob Tarling use DefaultUndoManager(Project)
*/
- @Deprecated
+ @Deprecated
public static UndoManager getInstance() {
return INSTANCE;
}
Modified: trunk/src/argouml-app/src/org/argouml/kernel/ProjectImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-app/src/org/argouml/kernel/ProjectImpl.java?view=diff&pathrev=18875&r1=18874&r2=18875
==============================================================================
--- trunk/src/argouml-app/src/org/argouml/kernel/ProjectImpl.java (original)
+++ trunk/src/argouml-app/src/org/argouml/kernel/ProjectImpl.java 2010-12-04 09:19:43-0800
@@ -167,7 +167,7 @@
// TODO: Change this to use an UndoManager instance per project when
// GEF has been enhanced.
- private UndoManager undoManager = DefaultUndoManager.getInstance();
+ private UndoManager undoManager = new DefaultUndoManager(this);
private boolean dirty = false;
------------------------------------------------------
http://argouml.tigris.org/ds/viewMessage.do?dsForumId=5905&dsMessageId=2687847
To unsubscribe from this discussion, e-mail: [[email protected]].