📄 asyncprocessbase.java
字号:
/******************************************************************************
* The contents of this file are subject to the Compiere License Version 1.1
* ("License"); You may not use this file except in compliance with the License
* You may obtain a copy of the License at http://www.compiere.org/license.html
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
* the specific language governing rights and limitations under the License.
* The Original Code is Compiere ERP & CRM Business Solution
* The Initial Developer of the Original Code is Jorg Janke and ComPiere, Inc.
* Portions created by Jorg Janke are Copyright (C) 1999-2001 Jorg Janke, parts
* created by ComPiere are Copyright (C) ComPiere, Inc.; All Rights Reserved.
* Contributor(s): ______________________________________.
*****************************************************************************/
package org.compiere.apps;
import org.compiere.process.*;
import org.compiere.util.*;
/**
* ASync Process Base Class
*
* @author Jorg Janke
* @version $Id: ASyncProcessBase.java,v 1.4 2003/02/15 06:31:42 jjanke Exp $
*/
public abstract class ASyncProcessBase implements ASyncProcess
{
/**
* Constructor
* @param pi process info
*/
public ASyncProcessBase(ProcessInfo pi)
{
m_pi = pi;
} // ASyncProcessBase
private ProcessInfo m_pi;
private boolean m_isLocked = false;
private Splash m_splash;
/**
* Start ASync Worker
*/
void start()
{
if (isUILocked()) // don't start twice
return;
ASyncWorker worker = new ASyncWorker (this, m_pi);
worker.start(); // calls lockUI, executeASync, unlockUI
} // start
/**
* Lock User Interface.
* Called from the Worker before processing
* @param pi process info
*/
public void lockUI (ProcessInfo pi)
{
m_isLocked = true;
m_splash = new Splash (Msg.getMsg(Env.getCtx(), "Processing"));
m_splash.toFront();
} // lockUI
/**
* Unlock User Interface.
* Called from the Worker when processing is done
* @param pi process info
*/
public void unlockUI (ProcessInfo pi)
{
m_isLocked = false;
m_splash.dispose();
m_splash = null;
} // unlockUI
/**
* Is the UI locked (Internal method)
* @return true, if UI is locked
*/
public boolean isUILocked()
{
return m_isLocked;
} // isLoacked
/**
* Method to be executed async
* Called from the Worker
* @param pi process info
*/
public abstract void executeASync (ProcessInfo pi);
} // ASyncProcessBase
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -