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$
}