svn commit: r18875 - trunk/src/argouml-app/src/org/argouml/kernel

[email protected]
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]].
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.