package org.adempiere.webui.desktop;
import java.util.ArrayList;
import java.util.List;
import org.adempiere.webui.ClientInfo;
import org.adempiere.webui.component.Window;
import org.adempiere.webui.exception.ApplicationException;
import org.adempiere.webui.part.AbstractUIPart;
import org.compiere.model.MMenu;
import org.compiere.util.CLogger;
import org.compiere.util.Env;
import org.zkoss.zk.ui.event.Events;
public abstract class AbstractDesktop extends AbstractUIPart
implements IDesktop {
private transient ClientInfo clientInfo;
private List<Object> windows = null;
@SuppressWarnings("unused")
private static final CLogger logger = CLogger.getCLogger(AbstractDesktop.class);
windows = new ArrayList<Object>();
}
public void (int menuId)
{
MMenu menu = new MMenu(Env.getCtx(), menuId, null);
if(menu == null)
{
return;
}
if(menu.getAction().equals(MMenu.ACTION_Window))
{
openWindow(menu.getAD_Window_ID());
}
else if(menu.getAction().equals(MMenu.ACTION_Process) ||
menu.getAction().equals(MMenu.ACTION_Report))
{
openProcessDialog(menu.getAD_Process_ID(), menu.isSOTrx());
}
else if(menu.getAction().equals(MMenu.ACTION_Form))
{
openForm(menu.getAD_Form_ID());
}
else if(menu.getAction().equals(MMenu.ACTION_WorkFlow))
{
openWorkflow(menu.getAD_Workflow_ID());
}
else if(menu.getAction().equals(MMenu.ACTION_Task))
{
openTask(menu.getAD_Task_ID());
}
else if(menu.getAction().equals("S"))
{
openSmartBrowser((Integer)menu.get_Value("AD_Browse_ID"));
}
else
{
throw new ApplicationException("Menu Action not yet implemented: " + menu.getAction());
}
}
return clientInfo;
}
this.clientInfo = clientInfo;
}
int retValue = windows.size();
windows.add(win);
return retValue;
}
if (WindowNo < windows.size())
windows.set(WindowNo, null);
Env.clearWinContext(WindowNo);
}
if (WindowNo < windows.size())
return windows.get(WindowNo);
else
return null;
}
{
String pos = win.getPosition();
this.showWindow(win, pos);
}
{
win.setPage(page);
Object objMode = win.getAttribute(Window.MODE_KEY);
String mode = Window.MODE_MODAL;
if (objMode != null)
{
mode = objMode.toString();
}
if (Window.MODE_MODAL.equals(mode))
{
showModal(win);
}
else if (Window.MODE_POPUP.equals(mode))
{
showPopup(win, pos);
}
else if (Window.MODE_OVERLAPPED.equals(mode))
{
showOverlapped(win, pos);
}
else if (Window.MODE_EMBEDDED.equals(mode))
{
showEmbedded(win);
}
else if (Window.MODE_HIGHLIGHTED.equals(mode))
{
showHighlighted(win, pos);
}
}
{
if (Events.inEventListener())
{
try
{
win.doModal();
}
catch(InterruptedException e)
{
}
}
else
{
showHighlighted(win, null);
}
}
protected void (Window win, String position)
{
if (position == null)
win.setPosition("center");
else
win.setPosition(position);
win.doPopup();
}
{
if (position == null)
win.setPosition("center");
else
win.setPosition(position);
win.doOverlapped();
}
{
if (position == null)
win.setPosition("center");
else
win.setPosition(position);
win.doHighlighted();
}
protected String
stripHtml(String htmlString,
boolean all) {
htmlString = htmlString
.replace("<html>", "")
.replace("</html>", "")
.replace("<body>", "")
.replace("</body>", "")
.replace("<head>", "")
.replace("</head>", "");
if (all)
htmlString = htmlString
.replace(">", ">")
.replace("<", "<");
return htmlString;
}
}