From 9cda55182546c5cec2240c5bccb12a8b26356a9c Mon Sep 17 00:00:00 2001 From: Heng Sin Low Date: Fri, 15 Mar 2013 17:51:09 +0800 Subject: [PATCH] IDEMPIERE-740 clicking green button should not close the window if there is selected one record. Do not enabled generated button when there's no record selected. Do not enabled generate tab until after the generate process have been completed. --- .../org/adempiere/webui/apps/form/WGenForm.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WGenForm.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WGenForm.java index dc3b3e61ec..e26bec1d38 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WGenForm.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WGenForm.java @@ -25,6 +25,7 @@ import org.adempiere.webui.LayoutUtils; import org.adempiere.webui.apps.AEnv; import org.adempiere.webui.apps.BusyDialog; import org.adempiere.webui.apps.WProcessCtl; +import org.adempiere.webui.component.Button; import org.adempiere.webui.component.ConfirmPanel; import org.adempiere.webui.component.DesktopTabpanel; import org.adempiere.webui.component.Grid; @@ -189,6 +190,7 @@ public class WGenForm extends ADForm implements EventListener, WTableMode tabpanel.appendChild(genPanel); tab = new Tab(Msg.getMsg(Env.getCtx(), "Generate")); tabs.appendChild(tab); + tab.setDisabled(true); genPanel.setWidth("99%"); genPanel.setHeight("90%"); genPanel.setStyle("border: none; position: absolute"); @@ -216,6 +218,9 @@ public class WGenForm extends ADForm implements EventListener, WTableMode statusBar.setStatusDB(" "); // Tabbed Pane Listener tabbedPane.addEventListener(Events.ON_SELECT, this); + + Button button = confirmPanelSel.getButton(ConfirmPanel.A_OK); + button.setEnabled(false); } // dynInit public void postQueryEvent() @@ -264,6 +269,10 @@ public class WGenForm extends ADForm implements EventListener, WTableMode { int index = tabbedPane.getSelectedIndex(); genForm.setSelectionActive(index == 0); + if (index == 0) + { + tabbedPane.getTabpanel(1).getLinkedTab().setDisabled(true); + } if (index == 0 && miniTable.getSelectedCount() > 0) { postQueryEvent(); @@ -295,6 +304,11 @@ public class WGenForm extends ADForm implements EventListener, WTableMode rowsSelected++; } statusBar.setStatusDB(" " + rowsSelected + " "); + if (tabbedPane.getSelectedIndex() == 0) + { + Button button = confirmPanelSel.getButton(ConfirmPanel.A_OK); + button.setEnabled(rowsSelected > 0); + } } // tableChanged /** @@ -344,7 +358,8 @@ public class WGenForm extends ADForm implements EventListener, WTableMode } // Switch Tabs - tabbedPane.setSelectedIndex(1); + tabbedPane.getTabpanel(1).getLinkedTab().setDisabled(false); + tabbedPane.setSelectedIndex(1); // ProcessInfoUtil.setLogFromDB(genForm.getProcessInfo()); StringBuilder iText = new StringBuilder();