1 14 package org.compiere.apps; 15 16 import org.compiere.process.*; 17 import org.compiere.util.*; 18 19 25 public abstract class ASyncProcessBase implements ASyncProcess 26 { 27 31 public ASyncProcessBase(ProcessInfo pi) 32 { 33 m_pi = pi; 34 } 36 private ProcessInfo m_pi; 37 private boolean m_isLocked = false; 38 private Splash m_splash; 39 40 43 void start() 44 { 45 if (isUILocked()) return; 47 ASyncWorker worker = new ASyncWorker (this, m_pi); 48 worker.start(); } 51 56 public void lockUI (ProcessInfo pi) 57 { 58 m_isLocked = true; 59 m_splash = new Splash (Msg.getMsg(Env.getCtx(), "Processing")); 60 m_splash.toFront(); 61 } 63 68 public void unlockUI (ProcessInfo pi) 69 { 70 m_isLocked = false; 71 m_splash.dispose(); 72 m_splash = null; 73 } 75 79 public boolean isUILocked() 80 { 81 return m_isLocked; 82 } 84 89 public abstract void executeASync (ProcessInfo pi); 90 91 } | Popular Tags |