From 4be3eaf83d3d8f99df81c6506aae791dce6fd6f5 Mon Sep 17 00:00:00 2001 From: izabel <izabel> Date: Wed, 15 Sep 2010 10:37:33 +0000 Subject: [PATCH] [LMS-1689], [LMS-1757]: save "collapse" state of "Properties Panel" SVN: 17839 --- .../framework/DisplaySettingsManager.java | 8 +++++--- .../client/application/ui/AbstractViewer.java | 4 +++- .../shared/basic/dto/DisplaySettings.java | 19 +++++++++++++++++++ 3 files changed, 27 insertions(+), 4 deletions(-) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/framework/DisplaySettingsManager.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/framework/DisplaySettingsManager.java index 25b9faf114c..dd99e9639d3 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/framework/DisplaySettingsManager.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/framework/DisplaySettingsManager.java @@ -466,17 +466,19 @@ public class DisplaySettingsManager return tabModifications.get(tabDisplayTypeID); } - // TODO work in progress, ignore for now. /** * @return True if the given section is collapsed */ - public final Boolean getPanelCollapsedSetting(String panelId) + @SuppressWarnings("deprecation") + public final Boolean tryGetPanelCollapsedSetting(String panelId) { - return Boolean.FALSE; + return displaySettings.getPanelCollapsedSettings().get(panelId); } + @SuppressWarnings("deprecation") public final void updatePanelCollapsedSetting(String panelId, Boolean value) { + displaySettings.getPanelCollapsedSettings().put(panelId, value); } // diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/AbstractViewer.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/AbstractViewer.java index f75eed575d6..be0e8132a73 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/AbstractViewer.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/AbstractViewer.java @@ -266,7 +266,9 @@ public abstract class AbstractViewer<D extends IEntityInformationHolder> extends protected boolean isLeftPanelInitiallyCollapsed(final String displayIdSuffix) { final String panelId = LEFT_PANEL_PREFIX + displayIdSuffix; - return viewContext.getDisplaySettingsManager().getPanelCollapsedSetting(panelId); + Boolean collapsedOrNull = + viewContext.getDisplaySettingsManager().tryGetPanelCollapsedSetting(panelId); + return collapsedOrNull == null ? false : collapsedOrNull.booleanValue(); } public void notify(List<IModule> modules) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DisplaySettings.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DisplaySettings.java index c5d5e6229ff..0cd85f9cbe1 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DisplaySettings.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/shared/basic/dto/DisplaySettings.java @@ -59,6 +59,8 @@ public class DisplaySettings implements Serializable, IsSerializable private RealNumberFormatingParameters realNumberFormatingParameters = new RealNumberFormatingParameters(); + private Map<String, Boolean> panelCollapsedSettings = new HashMap<String, Boolean>(); + /** @deprecated Should be used only by DisplaySettingsManager. */ @Deprecated public final Map<String, List<ColumnSetting>> getColumnSettings() @@ -77,6 +79,17 @@ public class DisplaySettings implements Serializable, IsSerializable return tabSettings; } + /** @deprecated Should be used only by DisplaySettingsManager. */ + @Deprecated + public Map<String, Boolean> getPanelCollapsedSettings() + { + if (panelCollapsedSettings == null) + { + panelCollapsedSettings = new HashMap<String, Boolean>(); + } + return panelCollapsedSettings; + } + /** @deprecated Should be used only by DisplaySettingsManager. */ @Deprecated public Map<String, String> getDropDownSettings() @@ -114,6 +127,12 @@ public class DisplaySettings implements Serializable, IsSerializable this.columnSettings = columnSettings; } + @SuppressWarnings("unused") + private final void setPanelCollapsedSettings(Map<String, Boolean> panelCollapsedSettings) + { + this.panelCollapsedSettings = panelCollapsedSettings; + } + @SuppressWarnings("unused") private final void setTabSettings(Map<String, String> tabSettings) { -- GitLab