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