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