From 5b39b3a18b32f1bf80cb2ff305147ad81dcc33f7 Mon Sep 17 00:00:00 2001
From: buczekp <buczekp>
Date: Tue, 5 Oct 2010 09:13:31 +0000
Subject: [PATCH] [LMS-1773] fixed problems with paging toolbar layout when
 layout is performed inside a hidden tab

SVN: 18140
---
 .../client/application/framework/MainTabPanel.java    | 11 +++++++----
 .../client/application/ui/widget/SectionsPanel.java   |  4 +++-
 2 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/framework/MainTabPanel.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/framework/MainTabPanel.java
index b6bb2d8168f..ef8fbedf4d5 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/framework/MainTabPanel.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/framework/MainTabPanel.java
@@ -20,6 +20,7 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Map;
 
+import com.extjs.gxt.ui.client.Style.HideMode;
 import com.extjs.gxt.ui.client.event.ComponentEvent;
 import com.extjs.gxt.ui.client.event.Events;
 import com.extjs.gxt.ui.client.event.Listener;
@@ -117,6 +118,8 @@ public class MainTabPanel extends TabPanel implements IMainPanel
             final HelpPageIdentifier helpId = tabItemFactory.getHelpPageIdentifier();
             assert helpId != null : "Unspecified help identifier";
             final MainTabItem newTab = new MainTabItem(tabItemFactory.create(), tabId, helpId);
+            // WORKAROUND to fix problems when paging toolbar's layout is performed in a hidden tab
+            newTab.setHideMode(HideMode.OFFSETS); 
             add(newTab);
             openTabs.put(tabId, newTab);
             maybeActivate(newTab, inBackground);
@@ -166,10 +169,10 @@ public class MainTabPanel extends TabPanel implements IMainPanel
                                 new URLMethodWithParameters(
                                         GenericConstants.HELP_REDIRECT_SERVLET_NAME);
                         HelpPageIdentifier helpPageId = selectedTab.getHelpPageIdentifier();
-                        url.addParameter(GenericConstants.HELP_REDIRECT_PAGE_TITLE_KEY, helpPageId
-                                .getHelpPageTitle(viewContext));
-                        url.addParameter(GenericConstants.HELP_REDIRECT_SPECIFIC_KEY, Boolean
-                                .toString(helpPageId.isSpecific()));
+                        url.addParameter(GenericConstants.HELP_REDIRECT_PAGE_TITLE_KEY,
+                                helpPageId.getHelpPageTitle(viewContext));
+                        url.addParameter(GenericConstants.HELP_REDIRECT_SPECIFIC_KEY,
+                                Boolean.toString(helpPageId.isSpecific()));
                         WindowUtils.openWindow(URL.encode(url.toString()));
                     }
                 });
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/widget/SectionsPanel.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/widget/SectionsPanel.java
index f1d0b42dd48..159ca6ce787 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/widget/SectionsPanel.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/widget/SectionsPanel.java
@@ -3,6 +3,7 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.widget
 import java.util.ArrayList;
 import java.util.List;
 
+import com.extjs.gxt.ui.client.Style.HideMode;
 import com.extjs.gxt.ui.client.event.Events;
 import com.extjs.gxt.ui.client.event.Listener;
 import com.extjs.gxt.ui.client.event.TabPanelEvent;
@@ -146,11 +147,12 @@ public class SectionsPanel extends LayoutContainer
                     public void handleEvent(TabPanelEvent be)
                     {
                         tabContent.setContentVisible(true);
-                        layout();
                         viewContext.getDisplaySettingsManager().storeActiveTabSettings(
                                 getDisplayID(), tabContent.getDisplayID(), SectionsPanel.this);
                     }
                 });
+            // WORKAROUND to fix problems when paging toolbar's layout is performed in a hidden tab
+            setHideMode(HideMode.OFFSETS); 
         }
 
         void setTabContent(TabContent tabContent)
-- 
GitLab