Author: bobtarling
Date: 2007-09-08 17:59:20-0700
New Revision: 13514
Modified:
trunk/src_new/org/argouml/kernel/DefaultUndoManager.java
trunk/src_new/org/argouml/kernel/ProjectImpl.java
trunk/src_new/org/argouml/kernel/ProjectManager.java
trunk/src_new/org/argouml/kernel/UndoManager.java
trunk/src_new/org/argouml/ui/ProjectBrowser.java
trunk/src_new/org/argouml/uml/ui/ActionSaveProject.java
Log:
Provide an execute method to execute a Command on its way into the UndoManager
Modified: trunk/src_new/org/argouml/kernel/DefaultUndoManager.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/kernel/DefaultUndoManager.java?view=diff&rev=13514&p1=trunk/src_new/org/argouml/kernel/DefaultUndoManager.java&p2=trunk/src_new/org/argouml/kernel/DefaultUndoManager.java&r1=13513&r2=13514
==============================================================================
--- trunk/src_new/org/argouml/kernel/DefaultUndoManager.java (original)
+++ trunk/src_new/org/argouml/kernel/DefaultUndoManager.java 2007-09-08 17:59:20-0700
@@ -80,6 +80,11 @@
return INSTANCE;
}
+ public void execute(Command command) {
+ command.execute();
+ addCommand(command);
+ }
+
public void addCommand(Command command) {
ProjectManager.getManager().setSaveEnabled(true);
Modified: trunk/src_new/org/argouml/kernel/ProjectImpl.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/kernel/ProjectImpl.java?view=diff&rev=13514&p1=trunk/src_new/org/argouml/kernel/ProjectImpl.java&p2=trunk/src_new/org/argouml/kernel/ProjectImpl.java&r1=13513&r2=13514
==============================================================================
--- trunk/src_new/org/argouml/kernel/ProjectImpl.java (original)
+++ trunk/src_new/org/argouml/kernel/ProjectImpl.java 2007-09-08 17:59:20-0700
@@ -435,9 +435,7 @@
authorname = oldAuthorName;
}
};
- undoManager.addCommand(command);
- command.execute();
- setSaveEnabled(true);
+ undoManager.execute(command);
}
@@ -448,7 +446,7 @@
public void setAuthoremail(final String s) {
final String oldAuthorEmail = authoremail;
- AbstractCommand memento = new AbstractCommand() {
+ AbstractCommand command = new AbstractCommand() {
public void execute() {
authoremail = s;
}
@@ -457,9 +455,7 @@
authoremail = oldAuthorEmail;
}
};
- undoManager.addCommand(memento);
- memento.execute();
- setSaveEnabled(true);
+ undoManager.execute(command);
}
@@ -480,7 +476,7 @@
public void setDescription(final String s) {
final String oldDescription = description;
- AbstractCommand memento = new AbstractCommand() {
+ AbstractCommand command = new AbstractCommand() {
public void execute() {
description = s;
}
@@ -489,9 +485,7 @@
description = oldDescription;
}
};
- undoManager.addCommand(memento);
- memento.execute();
- setSaveEnabled(true);
+ undoManager.execute(command);
}
Modified: trunk/src_new/org/argouml/kernel/ProjectManager.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/kernel/ProjectManager.java?view=diff&rev=13514&p1=trunk/src_new/org/argouml/kernel/ProjectManager.java&p2=trunk/src_new/org/argouml/kernel/ProjectManager.java&r1=13513&r2=13514
==============================================================================
--- trunk/src_new/org/argouml/kernel/ProjectManager.java (original)
+++ trunk/src_new/org/argouml/kernel/ProjectManager.java 2007-09-08 17:59:20-0700
@@ -273,8 +273,7 @@
}
}
};
- cmd.execute();
- currentProject.getUndoManager().addCommand(cmd);
+ currentProject.getUndoManager().execute(cmd);
return currentProject;
}
Modified: trunk/src_new/org/argouml/kernel/UndoManager.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/kernel/UndoManager.java?view=diff&rev=13514&p1=trunk/src_new/org/argouml/kernel/UndoManager.java&p2=trunk/src_new/org/argouml/kernel/UndoManager.java&r1=13513&r2=13514
==============================================================================
--- trunk/src_new/org/argouml/kernel/UndoManager.java (original)
+++ trunk/src_new/org/argouml/kernel/UndoManager.java 2007-09-08 17:59:20-0700
@@ -44,6 +44,12 @@
public abstract void addCommand(Command command);
/**
+ * Executes a command and add it to the undo stack.
+ * @param command the command.
+ */
+ public abstract void execute(Command command);
+
+ /**
* Set the maximum number of interactions the stack can hold.
* @param max the maximum chain count
*/
Modified: trunk/src_new/org/argouml/ui/ProjectBrowser.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/ui/ProjectBrowser.java?view=diff&rev=13514&p1=trunk/src_new/org/argouml/ui/ProjectBrowser.java&p2=trunk/src_new/org/argouml/ui/ProjectBrowser.java&r1=13513&r2=13514
==============================================================================
--- trunk/src_new/org/argouml/ui/ProjectBrowser.java (original)
+++ trunk/src_new/org/argouml/ui/ProjectBrowser.java 2007-09-08 17:59:20-0700
@@ -1661,6 +1661,10 @@
project.getProjectSettings().init();
Command cmd = new NonUndoableCommand() {
public void execute() {
+ // This is temporary. Load project
+ // should create a new project
+ // with its own UndoManager and so
+ // there should be no Command
}
};
project.getUndoManager().addCommand(cmd);
Modified: trunk/src_new/org/argouml/uml/ui/ActionSaveProject.java
Url: http://argouml.tigris.org/source/browse/argouml/trunk/src_new/org/argouml/uml/ui/ActionSaveProject.java?view=diff&rev=13514&p1=trunk/src_new/org/argouml/uml/ui/ActionSaveProject.java&p2=trunk/src_new/org/argouml/uml/ui/ActionSaveProject.java&r1=13513&r2=13514
==============================================================================
--- trunk/src_new/org/argouml/uml/ui/ActionSaveProject.java (original)
+++ trunk/src_new/org/argouml/uml/ui/ActionSaveProject.java 2007-09-08 17:59:20-0700
@@ -106,9 +106,8 @@
return "save enabled = " + isEnabled;
}
};
- command.execute();
Project p = ProjectManager.getManager().getCurrentProject();
- p.getUndoManager().addCommand(command);
+ p.getUndoManager().execute(command);
}
/**
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.