Greg Sheremeta has uploaded a new change for review.

Change subject: userportal, webadmin: automatically show header tooltip 
underline
......................................................................

userportal, webadmin: automatically show header tooltip underline

Previously, grid headers with tooltips needed the tooltip style (underline)
manually switched on. This patch makes it automatic -- if a tooltip is
set on a grid header, the header text will have an underline -- giving the
visual clue that it can be hovered over.

Change-Id: I7392b13a30bfb23bcd026e0491e415e0e87d6e54
Signed-off-by: Greg Sheremeta <gsher...@redhat.com>
---
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/header/ResizeableCheckboxHeader.java
M 
frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/header/SafeHtmlHeader.java
M 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterManageNetworkPopupView.java
3 files changed, 28 insertions(+), 23 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/98/41298/1

diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/header/ResizeableCheckboxHeader.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/header/ResizeableCheckboxHeader.java
index c6dc1fa..0de401e 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/header/ResizeableCheckboxHeader.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/header/ResizeableCheckboxHeader.java
@@ -20,7 +20,7 @@
 
     public ResizeableCheckboxHeader(AbstractCheckboxHeader checkboxHeader,
             Column<T, ?> column, HasResizableColumns<T> table) {
-        super(new SafeHtmlHeader(SafeHtmlUtils.fromSafeConstant(""), 
checkboxHeader.getTooltip(), false, //$NON-NLS-1$
+        super(new SafeHtmlHeader(SafeHtmlUtils.fromSafeConstant(""), 
checkboxHeader.getTooltip(), //$NON-NLS-1$
                 createSafeHtmlCell()), column, table, true);
         this.checkboxHeaderDelegate = checkboxHeader;
     }
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/header/SafeHtmlHeader.java
 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/header/SafeHtmlHeader.java
index 00682a0..a8dc840 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/header/SafeHtmlHeader.java
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/header/SafeHtmlHeader.java
@@ -15,16 +15,13 @@
 /**
  * A Header that renders SafeHtml. Supports tooltips. Supports element-id 
framework.
  *
- * If you want to show an underline on the header to indicate the presence of 
a tooltip, use the
- * constructor with showUnderline and set it to true.
- *
  * @param <H> Cell data type.
  */
 public class SafeHtmlHeader extends AbstractHeader<SafeHtml> implements 
ColumnWithElementId, TooltipHeader {
 
     private SafeHtml headerText;
+    private SafeHtml renderedHeaderText;
     private SafeHtml tooltipText;
-    boolean showUnderline = false;
 
     public static final SafeHtmlHeader BLANK_HEADER = new 
SafeHtmlHeader(SafeHtmlUtils.fromSafeConstant("")); //$NON-NLS-1$
 
@@ -36,7 +33,7 @@
     private static final CellTemplate templates = 
GWT.create(CellTemplate.class);
 
     public SafeHtmlHeader(SafeHtmlCell safeHtmlCell) {
-        this(null, null, false, safeHtmlCell);
+        this(null, null, safeHtmlCell);
     }
 
     public SafeHtmlHeader(SafeHtml headerText) {
@@ -44,22 +41,17 @@
     }
 
     public SafeHtmlHeader(SafeHtml headerText, SafeHtmlCell safeHtmlCell) {
-        this(headerText, null, false, safeHtmlCell);
+        this(headerText, null, safeHtmlCell);
     }
 
     public SafeHtmlHeader(SafeHtml headerText, SafeHtml tooltipText) {
-        this(headerText, tooltipText, false, createSafeHtmlCell());
+        this(headerText, tooltipText, createSafeHtmlCell());
     }
 
-    public SafeHtmlHeader(SafeHtml headerText, SafeHtml tooltipText, boolean 
showUnderline) {
-        this(headerText, tooltipText, showUnderline, createSafeHtmlCell());
-    }
-
-    public SafeHtmlHeader(SafeHtml headerText, SafeHtml tooltipText, boolean 
showUnderline, SafeHtmlCell safeHtmlCell) {
+    public SafeHtmlHeader(SafeHtml headerText, SafeHtml tooltipText, 
SafeHtmlCell safeHtmlCell) {
         super(safeHtmlCell);
-        this.tooltipText = tooltipText;
-        this.showUnderline = showUnderline;
         setValue(headerText);
+        setTooltip(tooltipText);
     }
 
     public static SafeHtmlCell createSafeHtmlCell() {
@@ -86,22 +78,35 @@
         return tooltipText;
     }
 
+    /**
+     * Return the SafeHtml to be rendered.
+     * @see com.google.gwt.user.cellview.client.Header#getValue()
+     */
     @Override
     public SafeHtml getValue() {
-        return headerText;
+        return renderedHeaderText;
     }
 
     protected void setValue(SafeHtml headerText) {
-        if (showUnderline) {
-            this.headerText = templates.hasTooltip(headerText);
-        }
-        else {
-            this.headerText = headerText;
-        }
+        this.headerText = headerText;
+        setHeaderTooltipStyle(this.tooltipText);
     }
 
     protected void setTooltip(SafeHtml tooltipText) {
         this.tooltipText = tooltipText;
+        setHeaderTooltipStyle(tooltipText);
+    }
+
+    /**
+     * Toggle the header tooltip style (to give a visual clue that this header 
can be hovered over).
+     */
+    protected void setHeaderTooltipStyle(SafeHtml tooltipText) {
+        if (tooltipText == null || tooltipText.asString().isEmpty()) {
+            renderedHeaderText = this.headerText;
+        }
+        else {
+            renderedHeaderText = templates.hasTooltip(headerText);
+        }
     }
 
 }
diff --git 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterManageNetworkPopupView.java
 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterManageNetworkPopupView.java
index 9f7e6d9..181e85a 100644
--- 
a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterManageNetworkPopupView.java
+++ 
b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/cluster/ClusterManageNetworkPopupView.java
@@ -97,7 +97,7 @@
                 new DisplayNetworkIndicatorCheckboxColumn(multiCluster,
                         new DisplayNetworkIndicatorFieldUpdater()),
                 new 
SafeHtmlHeader(SafeHtmlUtils.fromSafeConstant(constants.displayNetwork()),
-                        
SafeHtmlUtils.fromSafeConstant(constants.changeDisplayNetworkWarning()), true),
+                        
SafeHtmlUtils.fromSafeConstant(constants.changeDisplayNetworkWarning())),
                 "100px"); //$NON-NLS-1$
 
         networks.addColumn(


-- 
To view, visit https://gerrit.ovirt.org/41298
To unsubscribe, visit https://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I7392b13a30bfb23bcd026e0491e415e0e87d6e54
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Greg Sheremeta <gsher...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to