From 196b531320f39ce8955f97c0db95c9eb841460ba Mon Sep 17 00:00:00 2001
From: buczekp <buczekp>
Date: Thu, 9 Jun 2011 10:57:57 +0000
Subject: [PATCH] minor: change separator in breadcrumbs to >>, add it to
 dictionary for easy modifications

SVN: 21662
---
 .../client/web/client/application/Dict.java   |  2 ++
 .../client/application/ui/AbstractViewer.java | 34 ++++++++-----------
 .../cisd/openbis/public/common-dictionary.js  |  5 +--
 3 files changed, 19 insertions(+), 22 deletions(-)

diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/Dict.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/Dict.java
index 6f6906437f8..66c66880a48 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/Dict.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/Dict.java
@@ -78,6 +78,8 @@ public abstract class Dict
 
     public static final String ENTITY_OPERATIONS = "entity_operations";
 
+    public static final String BREADCRUMBS_SEPARATOR = "breadcrumbs_separator";
+
     //
     // Table Modifications
     //
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 329e6f2c519..65aa0e14d9a 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
@@ -113,7 +113,7 @@ public abstract class AbstractViewer<D extends IEntityInformationHolder> extends
             toolBar = new ToolBar();
             setTopComponent(toolBar);
             titleLabel = new LabelToolItem(title);
-            toolBar.add(breadcrumbContainer = new BreadcrumbContainer());
+            toolBar.add(breadcrumbContainer = new BreadcrumbContainer(viewContext));
             toolBar.add(new FillToolItem());
             if (viewContext.isSimpleOrEmbeddedMode() == false)
             {
@@ -230,16 +230,9 @@ public abstract class AbstractViewer<D extends IEntityInformationHolder> extends
         breadcrumbContainer.removeAll();
         List<Widget> widgets = new ArrayList<Widget>();
         fillBreadcrumbWidgets(widgets);
-        if (widgets.size() == 1)
+        for (Widget widget : widgets)
         {
-            // add raw widget without separator if there is just one widget
-            breadcrumbContainer.addWidget(widgets.get(0));
-        } else
-        {
-            for (Widget widget : widgets)
-            {
-                breadcrumbContainer.addBreadcrumb(widget);
-            }
+            breadcrumbContainer.addBreadcrumb(widget);
         }
         breadcrumbContainer.layout();
         syncSize(); // fixes layout problems in simple view mode
@@ -376,10 +369,11 @@ public abstract class AbstractViewer<D extends IEntityInformationHolder> extends
 
     private static class BreadcrumbContainer extends LayoutContainer
     {
-        private final static String SEPARATOR = "/";
+        private final String separator;
 
-        public BreadcrumbContainer()
+        public BreadcrumbContainer(IMessageProvider messageProvider)
         {
+            this.separator = messageProvider.getMessage(Dict.BREADCRUMBS_SEPARATOR);
             setLayout(createLayout());
         }
 
@@ -392,16 +386,16 @@ public abstract class AbstractViewer<D extends IEntityInformationHolder> extends
             return tableRowLayout;
         }
 
-        /** adds the <var>widget</var> with a separator prefix to breadcrumbs */
+        /**
+         * Adds the <var>widget</var> to breadcrumbs. For every widget but the first one a separator
+         * will be added before the widget.
+         */
         public void addBreadcrumb(Widget widget)
         {
-            add(new Html(SEPARATOR));
-            addWidget(widget);
-        }
-
-        /** adds the <var>widget</var> to breadcrumbs (without separator prefix) */
-        public void addWidget(Widget widget)
-        {
+            if (getItemCount() > 0)
+            {
+                add(new Html(separator));
+            }
             add(widget);
         }
 
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/common-dictionary.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/common-dictionary.js
index c421576f3b1..b79e7b58f57 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/public/common-dictionary.js
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/common-dictionary.js
@@ -57,8 +57,9 @@ var common = {
   auto_resolve_label: "Smart View",
   data_report_label: "Report:",
   explore_label: "Explore:",
-  add_unofficial_vocabulary_term_dialog_title: "Add Ad Hoc Term",
-	
+  add_unofficial_vocabulary_term_dialog_title: "Add Ad Hoc Term",
+  breadcrumbs_separator: "»",
+	 
   //
   // Table Modifications
   //
-- 
GitLab