Greg Sheremeta has uploaded a new change for review. Change subject: userportal, webadmin: convert LabelWithTextTruncation to use PatternFly tooltips ......................................................................
userportal, webadmin: convert LabelWithTextTruncation to use PatternFly tooltips Renamed LabelWithTextOverflow --> LabelWithTextTruncation. "overflow" has a very specific meaning in CSS, and what is actually happening in this Label is "truncation." Converted LabelWithTextTruncation to use PatternFly tooltips. Change-Id: I4c22d5003c26ef2df418d2df7c76af009ab383e4 Signed-off-by: Greg Sheremeta <gsher...@redhat.com> --- R frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/label/LabelWithTextTruncation.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/profile/ProfileInstanceTypeEditor.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/profile/ProfileInstanceTypeEditor.ui.xml M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkLabelPanel.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/host/StatisticsPanel.java 5 files changed, 48 insertions(+), 44 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/62/37762/1 diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/label/LabelWithTextOverflow.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/label/LabelWithTextTruncation.java similarity index 69% rename from frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/label/LabelWithTextOverflow.java rename to frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/label/LabelWithTextTruncation.java index 6978e1c..82fd499 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/label/LabelWithTextOverflow.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/label/LabelWithTextTruncation.java @@ -1,6 +1,7 @@ package org.ovirt.engine.ui.common.widget.label; import org.ovirt.engine.ui.common.utils.ElementUtils; +import org.ovirt.engine.ui.common.widget.tooltip.WidgetTooltip; import com.google.gwt.dom.client.Style.Overflow; import com.google.gwt.dom.client.Style.TextOverflow; @@ -11,25 +12,27 @@ import com.google.gwt.user.client.ui.HasEnabled; import com.google.gwt.user.client.ui.Label; -/* - * In case the label's text is cropped, the text is visually trimmed. To let the user know that the text was trimmed - * '...' (three dots) are appended to the string. The tooltip contains the full text - * string. +/** + * A Label that supports text truncation. If the entire Label content doesn't fit in the space allotted, + * the text is truncated, and an ellipse (...) is appended to the string. The full text will be rendered + * in a tooltip. */ -public class LabelWithTextOverflow extends Composite implements IsEditor<LeafValueEditor<String>>, HasEnabled { +public class LabelWithTextTruncation extends Composite implements IsEditor<LeafValueEditor<String>>, HasEnabled { + WidgetTooltip tooltip; private Label label; private boolean enabled = true; - public LabelWithTextOverflow() { + public LabelWithTextTruncation() { label = new Label(); - initWidget(label); + tooltip = new WidgetTooltip(label); + initWidget(tooltip.asWidget()); getElement().getStyle().setWhiteSpace(WhiteSpace.NOWRAP); getElement().getStyle().setOverflow(Overflow.HIDDEN); getElement().getStyle().setTextOverflow(TextOverflow.ELLIPSIS); } - public LabelWithTextOverflow(String text) { + public LabelWithTextTruncation(String text) { this(); setText(text); } @@ -49,10 +52,11 @@ } if (ElementUtils.detectOverflowUsingScrollWidth(label.getElement())) { - label.setTitle(getText()); + tooltip.setText(getText()); } else { - label.setTitle(null); + tooltip.setText(null); } + tooltip.reconfigure(); } @Override @@ -74,6 +78,6 @@ @Override public void setEnabled(boolean enabled) { this.enabled = enabled; - getElement().getStyle().setColor(enabled ? "#333333" : "gray"); //$NON-NLS-1$ $NON-NLS-2$ + getElement().getStyle().setColor(enabled ? "#333333" : "gray"); //$NON-NLS-1$ //$NON-NLS-2$ } } diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/profile/ProfileInstanceTypeEditor.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/profile/ProfileInstanceTypeEditor.java index a2659b1..d8094a0 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/profile/ProfileInstanceTypeEditor.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/profile/ProfileInstanceTypeEditor.java @@ -4,7 +4,7 @@ import org.ovirt.engine.core.common.businessentities.network.VnicProfileView; import org.ovirt.engine.ui.common.idhandler.HasElementId; import org.ovirt.engine.ui.common.utils.ElementIdUtils; -import org.ovirt.engine.ui.common.widget.label.LabelWithTextOverflow; +import org.ovirt.engine.ui.common.widget.label.LabelWithTextTruncation; import org.ovirt.engine.ui.common.widget.uicommon.popup.AbstractModelBoundPopupWidget; import org.ovirt.engine.ui.uicommonweb.models.vms.VnicInstanceType; import org.ovirt.engine.ui.uicompat.Event; @@ -41,7 +41,7 @@ @UiField @Path(value = "networkInterface.name") - LabelWithTextOverflow vnicLabel; + LabelWithTextTruncation vnicLabel; @UiField @Path(value = "selectedItem") diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/profile/ProfileInstanceTypeEditor.ui.xml b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/profile/ProfileInstanceTypeEditor.ui.xml index 476482d..d79e150 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/profile/ProfileInstanceTypeEditor.ui.xml +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/profile/ProfileInstanceTypeEditor.ui.xml @@ -1,38 +1,38 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent"> <ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" - xmlns:g="urn:import:com.google.gwt.user.client.ui" - xmlns:e="urn:import:org.ovirt.engine.ui.common.widget.editor" - xmlns:p="urn:import:org.ovirt.engine.ui.common.widget.profile" - xmlns:l="urn:import:org.ovirt.engine.ui.common.widget.label"> + xmlns:g="urn:import:com.google.gwt.user.client.ui" + xmlns:e="urn:import:org.ovirt.engine.ui.common.widget.editor" + xmlns:p="urn:import:org.ovirt.engine.ui.common.widget.profile" + xmlns:l="urn:import:org.ovirt.engine.ui.common.widget.label"> - <ui:style type="org.ovirt.engine.ui.common.widget.profile.ProfileInstanceTypeEditor.Style"> - .labelStyle { - float: left; - width: 70px; - } + <ui:style type="org.ovirt.engine.ui.common.widget.profile.ProfileInstanceTypeEditor.Style"> + .labelStyle { + float: left; + width: 70px; + } - .noDisplay { - display: none; - } + .noDisplay { + display: none; + } - .contentStyle { - float: left; - } + .contentStyle { + float: left; + } - .containerStyle { - width: 310px; - margin-right: 10px; - } + .containerStyle { + width: 310px; + margin-right: 10px; + } - .panelStyle { - line-height: 30px; - } - </ui:style> + .panelStyle { + line-height: 30px; + } + </ui:style> - <g:FlowPanel addStyleNames="{style.panelStyle}"> - <l:LabelWithTextOverflow ui:field="vnicLabel" addStyleNames="{style.labelStyle}" /> - <p:ProfileEditor ui:field="profileEditor" addStyleNames="{style.containerStyle}" /> - </g:FlowPanel> + <g:FlowPanel addStyleNames="{style.panelStyle}"> + <l:LabelWithTextTruncation ui:field="vnicLabel" addStyleNames="{style.labelStyle}" /> + <p:ProfileEditor ui:field="profileEditor" addStyleNames="{style.containerStyle}" /> + </g:FlowPanel> </ui:UiBinder> diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkLabelPanel.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkLabelPanel.java index a111aec..e0544b3 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkLabelPanel.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/host/panels/NetworkLabelPanel.java @@ -3,7 +3,7 @@ import java.util.Collections; import java.util.List; -import org.ovirt.engine.ui.common.widget.label.LabelWithTextOverflow; +import org.ovirt.engine.ui.common.widget.label.LabelWithTextTruncation; import org.ovirt.engine.ui.uicommonweb.models.hosts.network.LogicalNetworkModel; import org.ovirt.engine.ui.uicommonweb.models.hosts.network.NetworkLabelModel; @@ -34,7 +34,7 @@ titleRow.setWidth("100%"); //$NON-NLS-1$ titleRow.setHeight("27px"); //$NON-NLS-1$ - LabelWithTextOverflow titleLabel = new LabelWithTextOverflow(item.getName()); + LabelWithTextTruncation titleLabel = new LabelWithTextTruncation(item.getName()); titleLabel.setWidth("185px"); //$NON-NLS-1$ titleLabel.setHeight("100%"); //$NON-NLS-1$ Image labelImage = new Image(resources.bond()); diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/host/StatisticsPanel.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/host/StatisticsPanel.java index 4eb3cc6..b6b533b 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/host/StatisticsPanel.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/host/StatisticsPanel.java @@ -3,7 +3,7 @@ import java.util.List; import org.ovirt.engine.ui.common.widget.TogglePanel; -import org.ovirt.engine.ui.common.widget.label.LabelWithTextOverflow; +import org.ovirt.engine.ui.common.widget.label.LabelWithTextTruncation; import org.ovirt.engine.ui.common.widget.renderer.RxTxRateRenderer; import org.ovirt.engine.ui.common.widget.renderer.SumUpRenderer; import org.ovirt.engine.ui.uicommonweb.models.hosts.HostInterface; @@ -57,7 +57,7 @@ row.getColumnFormatter().setWidth(6, "100px"); //$NON-NLS-1$ // MAC - LabelWithTextOverflow macLabel = new LabelWithTextOverflow(hostInterface.getMAC()); + LabelWithTextTruncation macLabel = new LabelWithTextTruncation(hostInterface.getMAC()); macLabel.setWidth("120px"); //$NON-NLS-1$ row.setWidget(0, 0, macLabel); -- To view, visit http://gerrit.ovirt.org/37762 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I4c22d5003c26ef2df418d2df7c76af009ab383e4 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