Revision: 3584
Author: [email protected]
Date: Wed Jun  2 11:58:22 2010
Log: Made an addition of objects to the PlayPen occur in one transaction.
http://code.google.com/p/power-architect/source/detail?r=3584

Modified:
 /trunk/src/main/java/ca/sqlpower/architect/swingui/PlayPen.java

=======================================
--- /trunk/src/main/java/ca/sqlpower/architect/swingui/PlayPen.java Mon May 31 15:36:25 2010 +++ /trunk/src/main/java/ca/sqlpower/architect/swingui/PlayPen.java Wed Jun 2 11:58:22 2010
@@ -142,6 +142,8 @@
 import ca.sqlpower.swingui.ProgressWatcher;
 import ca.sqlpower.swingui.SPSwingWorker;
 import ca.sqlpower.swingui.dbtree.SQLObjectSelection;
+import ca.sqlpower.swingui.event.TaskTerminationEvent;
+import ca.sqlpower.swingui.event.TaskTerminationListener;
 import ca.sqlpower.util.SQLPowerUtils;
 import ca.sqlpower.util.TransactionEvent;
 import ca.sqlpower.util.TransactionEvent.TransactionState;
@@ -1462,9 +1464,20 @@
                                      "...", //$NON-NLS-1$
                                      0,
                                          100);
+
+               contentPane.begin("PlayPen.copyingObjectsToThePlaypen"); 
//$NON-NLS-1$
                AddObjectsTask t = new AddObjectsTask(list,
                                preferredLocation, pm, session, transferStyle);
                t.setNextProcess(nextProcess);
+               t.addTaskTerminationListener(new TaskTerminationListener() {
+            public void taskFinished(TaskTerminationEvent e) {
+                session.runInForeground(new Runnable() {
+                    public void run() {
+                        contentPane.commit();
+                    }
+                });
+            }
+               });
                new Thread(t, "Objects-Adder").start(); //$NON-NLS-1$
        }

Reply via email to