svn commit: r13514 - trunk/src_new/org/argouml: kernel ui uml/ui

[email protected]
Newsgroups gmane.comp.lang.uml.argouml.cvs
Message-ID <[email protected]>
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.