From 83ca8fc1ff0b11199bad662c71f3e6c27b558981 Mon Sep 17 00:00:00 2001
From: buczekp <buczekp>
Date: Tue, 4 May 2010 12:45:05 +0000
Subject: [PATCH] [LMS-1504] hide custom columns and filters tabs in table
 settings in simple mode; partly disabled history in application mode

SVN: 15756
---
 .../application/renderer/LinkRenderer.java    |  9 ++-
 .../ui/grid/ColumnSettingsDialog.java         | 56 ++++++++++++++-----
 2 files changed, 45 insertions(+), 20 deletions(-)

diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/renderer/LinkRenderer.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/renderer/LinkRenderer.java
index c112c37dd3b..d01cb125552 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/renderer/LinkRenderer.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/renderer/LinkRenderer.java
@@ -154,13 +154,12 @@ public class LinkRenderer
         Anchor link = new Anchor();
         link.setText(text);
         link.setStyleName(LINK_STYLE);
-        if (listener != null && ClientStaticState.isSimpleMode() == false)
-        {
-            link.addClickHandler(listener);
-        }
-        if (historyHref != null)
+        if (historyHref != null && ClientStaticState.isSimpleMode())
         {
             link.setHref("#" + historyHref);
+        } else if (listener != null)
+        {
+            link.addClickHandler(listener);
         }
         if (invalidate)
         {
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/ColumnSettingsDialog.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/ColumnSettingsDialog.java
index d66b52f10dc..072dae5fd61 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/ColumnSettingsDialog.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/grid/ColumnSettingsDialog.java
@@ -20,6 +20,7 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.help.HelpP
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.expressions.column.GridCustomColumnGrid;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.expressions.filter.GridCustomFilterGrid;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.DialogWithOnlineHelpUtils;
+import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.IDelegatedAction;
 
 /**
  * {@link Dialog} displaying {@link ColumnSettingsChooser}.
@@ -79,17 +80,45 @@ public class ColumnSettingsDialog extends Dialog
             });
         panel.add(columnsTab);
 
-        final IDisposableComponent filters =
-                GridCustomFilterGrid.create(viewContext, gridDisplayId, columnDataModelProvider);
-        TabItem customFiltersTab =
-                createTabItem(filters.getComponent(), Dict.GRID_CUSTOM_FILTERS, FILTERS_TAB);
-        panel.add(customFiltersTab);
-
-        final IDisposableComponent columns =
-                GridCustomColumnGrid.create(viewContext, gridDisplayId, columnDataModelProvider);
-        TabItem customColumnsTab =
-                createTabItem(columns.getComponent(), Dict.GRID_CUSTOM_COLUMNS, COLUMNS_TAB);
-        panel.add(customColumnsTab);
+        final IDelegatedAction onCloseAction;
+
+        if (viewContext.isSimpleMode() == false)
+        {
+            final IDisposableComponent columns =
+                    GridCustomColumnGrid
+                            .create(viewContext, gridDisplayId, columnDataModelProvider);
+            TabItem customColumnsTab =
+                    createTabItem(columns.getComponent(), Dict.GRID_CUSTOM_COLUMNS, COLUMNS_TAB);
+            panel.add(customColumnsTab);
+
+            final IDisposableComponent filters =
+                    GridCustomFilterGrid
+                            .create(viewContext, gridDisplayId, columnDataModelProvider);
+            TabItem customFiltersTab =
+                    createTabItem(filters.getComponent(), Dict.GRID_CUSTOM_FILTERS, FILTERS_TAB);
+            panel.add(customFiltersTab);
+
+            onCloseAction = new IDelegatedAction()
+                {
+                    public void execute()
+                    {
+                        columnDataModelProvider.onClose(columnChooser.getModels());
+                        hide();
+                        filters.dispose();
+                        columns.dispose();
+                    }
+                };
+        } else
+        {
+            onCloseAction = new IDelegatedAction()
+                {
+                    public void execute()
+                    {
+                        columnDataModelProvider.onClose(columnChooser.getModels());
+                        hide();
+                    }
+                };
+        }
 
         add(panel);
         super.show();
@@ -100,10 +129,7 @@ public class ColumnSettingsDialog extends Dialog
                 @Override
                 public void componentSelected(ButtonEvent ce)
                 {
-                    columnDataModelProvider.onClose(columnChooser.getModels());
-                    filters.dispose();
-                    columns.dispose();
-                    hide();
+                    onCloseAction.execute();
                 }
             });
     }
-- 
GitLab