From 7c4d064aad2e2fbf6b1a89913f4fa826e95c6255 Mon Sep 17 00:00:00 2001
From: kohleman <kohleman>
Date: Mon, 25 Jan 2010 15:04:33 +0000
Subject: [PATCH] [LMS-1208] changed the question mark to an info icon

SVN: 14430
---
 .../ui/field/PropertyFieldFactory.java        |  4 ++-
 .../application/ui/widget/FieldUtil.java      | 28 ++++++++-----------
 .../cisd/openbis/public/css/openbis.css       |  6 +++-
 3 files changed, 20 insertions(+), 18 deletions(-)

diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/field/PropertyFieldFactory.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/field/PropertyFieldFactory.java
index e3da8724c6f..e6fa76e123b 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/field/PropertyFieldFactory.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/field/PropertyFieldFactory.java
@@ -19,6 +19,7 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.field;
 import java.util.Date;
 
 import com.extjs.gxt.ui.client.widget.form.Field;
+import com.google.gwt.user.client.ui.AbstractImagePrototype;
 
 import ch.systemsx.cisd.openbis.generic.client.web.client.ICommonClientServiceAsync;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.IViewContext;
@@ -48,7 +49,8 @@ public class PropertyFieldFactory
         String description = pt.getDescription();
         if (StringUtils.isBlank(description) == false)
         {
-            FieldUtil.addInfoIcon(field, description);
+            AbstractImagePrototype infoIcon = AbstractImagePrototype.create(viewContext.getImageBundle().getInfoIcon());
+            FieldUtil.addInfoIcon(field, description, infoIcon.createImage());
         }
         return fieldHolder;
     }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/widget/FieldUtil.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/widget/FieldUtil.java
index a8a9c25dcb1..52ee8a3ea5f 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/widget/FieldUtil.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/widget/FieldUtil.java
@@ -25,14 +25,10 @@ import com.extjs.gxt.ui.client.widget.MessageBox;
 import com.extjs.gxt.ui.client.widget.WidgetComponent;
 import com.extjs.gxt.ui.client.widget.form.Field;
 import com.extjs.gxt.ui.client.widget.form.TextField;
-import com.google.gwt.event.dom.client.ClickEvent;
-import com.google.gwt.event.dom.client.ClickHandler;
 import com.google.gwt.user.client.Command;
 import com.google.gwt.user.client.DeferredCommand;
 import com.google.gwt.user.client.Element;
-import com.google.gwt.user.client.ui.Widget;
-
-import ch.systemsx.cisd.openbis.generic.client.web.client.application.renderer.LinkRenderer;
+import com.google.gwt.user.client.ui.Image;
 
 /**
  * Utilities for {@link Field} class.
@@ -41,7 +37,6 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.renderer.L
  */
 public class FieldUtil
 {
-    private static final String INFO_LINK_LABEL = "[?]";
 
     private static final int[] INFO_LINK_FIELD_OFFSETS = new int[]
         { 20, 3 };
@@ -108,8 +103,9 @@ public class FieldUtil
 
     /**
      * Adds '?' to the field and allows to display chosen message in the info box.
+     * @param image 
      */
-    public static void addInfoIcon(final Field<?> field, final String message)
+    public static void addInfoIcon(final Field<?> field, final String message, final Image image)
     {
         // WORKAROUND: Based on GXT functionality for displaying error icon, until there is no
         // dedicated mechanism for showing info icons in GXT
@@ -117,15 +113,15 @@ public class FieldUtil
             {
                 public void handleEvent(BaseEvent be)
                 {
-                    final Widget detailsLink =
-                            LinkRenderer.getLinkWidget(INFO_LINK_LABEL, new ClickHandler()
-                                {
-                                    public void onClick(ClickEvent event)
-                                    {
-                                        MessageBox.info("Info", message, null);
-                                    }
-                                });
-                    final WidgetComponent info = new WidgetComponent(detailsLink);
+                    final WidgetComponent info = new WidgetComponent(image);
+                    info.setStyleName("hands");
+                    info.sinkEvents(Events.OnClick.getEventCode());
+                    info.addListener(Events.OnClick, new Listener<BaseEvent>(){
+                        public void handleEvent(BaseEvent e)
+                        {
+                            MessageBox.info("Info", message, null);
+                        }});
+                    
                     Element parent = field.el().getParent().dom;
                     info.render(parent);
                     info.setStyleAttribute("display", "block");
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/css/openbis.css b/openbis/source/java/ch/systemsx/cisd/openbis/public/css/openbis.css
index 17dcd47b640..4e2041944d0 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/public/css/openbis.css
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/css/openbis.css
@@ -228,4 +228,8 @@ body,div,td {
 
 .cisd-hidden {
 	visibility: hidden !important;
-}
\ No newline at end of file
+}
+
+.hands {
+    cursor:hand;
+}
-- 
GitLab