diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADWindowToolbar.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADWindowToolbar.java index 1e80032b19..765ddd3ec0 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADWindowToolbar.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ADWindowToolbar.java @@ -54,6 +54,7 @@ import org.zkoss.zk.ui.event.Events; import org.zkoss.zk.ui.event.KeyEvent; import org.zkoss.zk.ui.util.Clients; import org.zkoss.zul.Space; +import org.zkoss.zul.Toolbarbutton; /** * @@ -641,8 +642,10 @@ public class ADWindowToolbar extends FToolbar implements EventListener } public void dynamicDisplay() { + List customButtons = new ArrayList(); for(ToolbarCustomButton toolbarCustomBtn : toolbarCustomButtons) { toolbarCustomBtn.dynamicDisplay(); + customButtons.add(toolbarCustomBtn.getToolbarbutton()); } ADWindow adwindow = ADWindow.findADWindow(this); @@ -653,7 +656,7 @@ public class ADWindowToolbar extends FToolbar implements EventListener for (Component p = this.getFirstChild(); p != null; p = p.getNextSibling()) { if (p instanceof ToolBarButton) { - if (!p.isVisible()) + if (!customButtons.contains(p) && !p.isVisible()) p.setVisible(true); } } diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ToolbarCustomButton.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ToolbarCustomButton.java index a142f98f6a..e6b65fa6e0 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ToolbarCustomButton.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/adwindow/ToolbarCustomButton.java @@ -80,4 +80,8 @@ public class ToolbarCustomButton implements EventListener, Evaluatee { boolean visible = Evaluator.evaluateLogic(this, displayLogic); toolbarButton.setVisible(visible); } + + public Toolbarbutton getToolbarbutton() { + return toolbarButton; + } }