From a42d572902246dd3e9182dbbedcc136a6a077e35 Mon Sep 17 00:00:00 2001 From: Heng Sin Low Date: Fri, 27 Mar 2009 09:00:51 +0000 Subject: [PATCH] https://sourceforge.net/tracker/?func=detail&atid=879332&aid=2716555&group_id=176962 --- .../webui/panel/AbstractADWindowPanel.java | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/zkwebui/WEB-INF/src/org/adempiere/webui/panel/AbstractADWindowPanel.java b/zkwebui/WEB-INF/src/org/adempiere/webui/panel/AbstractADWindowPanel.java index ca397f374f..54a00d0be7 100644 --- a/zkwebui/WEB-INF/src/org/adempiere/webui/panel/AbstractADWindowPanel.java +++ b/zkwebui/WEB-INF/src/org/adempiere/webui/panel/AbstractADWindowPanel.java @@ -791,8 +791,6 @@ public abstract class AbstractADWindowPanel extends AbstractUIPart implements To return false; } - back = (newTabIndex < oldTabIndex); - IADTabpanel oldTabpanel = curTabpanel; IADTabpanel newTabpanel = adTab.getSelectedTabpanel(); curTab = newTabpanel.getGridTab(); @@ -801,6 +799,25 @@ public abstract class AbstractADWindowPanel extends AbstractUIPart implements To oldTabpanel.activate(false); newTabpanel.activate(true); + back = (newTabIndex < oldTabIndex); + if (back) + { + if (newTabpanel.getTabLevel() >= oldTabpanel.getTabLevel()) + back = false; + else if ((newTabIndex - oldTabIndex) > 1) + { + for (int i = oldTabIndex - 1; i > newTabIndex; i--) + { + IADTabpanel next = adTab.getADTabpanel(i); + if (next != null && next.getTabLevel() <= newTabpanel.getTabLevel()) + { + back = false; + break; + } + } + } + } + if (!back) { newTabpanel.query();