Greg Sheremeta has uploaded a new change for review. Change subject: userportal, webadmin: convert remaining widgets to PatternFly tooltips ......................................................................
userportal, webadmin: convert remaining widgets to PatternFly tooltips Converted all remaining widgets from title-based tooltips to PatternFly tooltips. Change-Id: Ic247147c091f4fa6e6c09689c85b6901c74f11f3 Signed-off-by: Greg Sheremeta <[email protected]> --- M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/popup/ConsolePopupView.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/popup/ConsolePopupView.ui.xml M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/popup/numa/CpuSummaryPanel.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/popup/numa/CpuSummaryPanel.ui.xml M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/popup/numa/MemorySummaryPanel.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/popup/numa/MemorySummaryPanel.ui.xml M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/AbstractUiCommandButton.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/AbstractValidatedWidget.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/AbstractValidatedWidgetWithLabel.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/AbstractValidatedWidgetWithLabel.ui.xml M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/UiCommandButton.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/UiCommandButton.ui.xml M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/AbstractActionButton.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/AbstractActionPanel.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/AbstractButtonDefinition.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/ActionButton.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/ActionButtonDefinition.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/DropdownActionButton.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/ImageUiCommandButtonDefinition.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/SimpleActionButton.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/UiMenuBarButtonDefinition.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/dialog/AdvancedParametersExpander.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/EntityModelCellTable.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/BaseEntityModelDetachableWidget.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/DetachableLabel.ui.xml M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/EntityModelDetachableWidget.ui.xml M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/EntityModelDetachableWidgetWithLabel.ui.xml M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/form/key_value/KeyValueLineWidget.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/label/TextBoxLabelBase.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/refresh/BaseRefreshPanel.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/cell/LinkCell.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/tree/AbstractSubTabTree.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmInitWidget.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/storage/AbstractSanStorageList.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/vm/VmDiskListModelTable.java M frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/vm/VmSnapshotListModelTable.java M frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/main/view/tab/basic/MainTabBasicListItemView.java M frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/widget/DoublePercentageProgressBar.java M frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/widget/QuotaCPUProgressBar.java M frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/widget/QuotaMemoryProgressBar.java M frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/widget/QuotaProgressBar.java M frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/widget/QuotaStorageProgressBar.java M frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/widget/basic/MainTabBasicListItemActionButton.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/footer/TasksTree.java M frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/cell/MenuCell.java 46 files changed, 349 insertions(+), 239 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/60/38360/1 diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/popup/ConsolePopupView.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/popup/ConsolePopupView.java index df4508f..8a5a5ea 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/popup/ConsolePopupView.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/popup/ConsolePopupView.java @@ -1,6 +1,7 @@ package org.ovirt.engine.ui.common.view.popup; import com.google.gwt.safehtml.shared.SafeHtmlUtils; + import org.ovirt.engine.ui.common.CommonApplicationConstants; import org.ovirt.engine.ui.common.CommonApplicationMessages; import org.ovirt.engine.ui.common.CommonApplicationResources; @@ -12,6 +13,7 @@ import org.ovirt.engine.ui.common.widget.WidgetWithInfo; import org.ovirt.engine.ui.common.widget.dialog.SimpleDialogPanel; import org.ovirt.engine.ui.common.widget.editor.generic.EntityModelRadioButtonEditor; +import org.ovirt.engine.ui.common.widget.tooltip.WidgetTooltip; import org.ovirt.engine.ui.common.widget.uicommon.popup.console.EntityModelValueCheckBoxEditor; import org.ovirt.engine.ui.common.widget.uicommon.popup.console.EntityModelValueCheckbox.ValueCheckboxRenderer; import org.ovirt.engine.ui.uicommonweb.models.ConsolePopupModel; @@ -33,6 +35,7 @@ import com.google.gwt.user.client.ui.FlowPanel; import com.google.gwt.user.client.ui.Label; import com.google.inject.Inject; + import org.ovirt.engine.ui.uicommonweb.models.vms.VncConsoleModel; public class ConsolePopupView extends AbstractModelBoundPopupView<ConsolePopupModel> implements ConsolePopupPresenterWidget.ViewDef { @@ -164,6 +167,36 @@ @WithElementId EntityModelValueCheckBoxEditor<ConsoleModel> wanEnabled; + @UiField + WidgetTooltip spiceRadioButtonTooltip; + + @UiField + WidgetTooltip vncRadioButtonTooltip; + + @UiField + WidgetTooltip remoteDesktopRadioButtonTooltip; + + @UiField + WidgetTooltip spiceAutoImplRadioButtonTooltip; + + @UiField + WidgetTooltip spiceNativeImplRadioButtonTooltip; + + @UiField + WidgetTooltip spicePluginImplRadioButtonTooltip; + + @UiField + WidgetTooltip spiceHtml5ImplRadioButtonTooltip; + + @UiField + WidgetTooltip noVncImplRadioButtonTooltip; + + @UiField + WidgetTooltip rdpPluginImplRadioButtonTooltip; + + @UiField + WidgetTooltip enableSpiceProxyTooltip; + private final CommonApplicationConstants constants; private final CommonApplicationMessages messages; @@ -188,7 +221,7 @@ spiceAutoImplRadioButton = new EntityModelRadioButtonEditor("2"); //$NON-NLS-1$ spiceAutoImplRadioButton.setLabel(constants.auto()); - spiceNativeImplRadioButton = new EntityModelRadioButtonEditor("2");// $NON-NLS-1$ + spiceNativeImplRadioButton = new EntityModelRadioButtonEditor("2"); //$NON-NLS-1$ spiceNativeImplRadioButton.setLabel(constants.nativeClient()); spicePluginImplRadioButton = new EntityModelRadioButtonEditor("2"); //$NON-NLS-1$ spicePluginImplRadioButton.setLabel(constants.browserPlugin()); @@ -202,7 +235,7 @@ rdpAutoImplRadioButton = new EntityModelRadioButtonEditor("4"); //$NON-NLS-1$ rdpAutoImplRadioButton.setLabel(constants.auto()); - rdpNativeImplRadioButton = new EntityModelRadioButtonEditor("4");// $NON-NLS-1$ + rdpNativeImplRadioButton = new EntityModelRadioButtonEditor("4"); //$NON-NLS-1$ rdpNativeImplRadioButton.setLabel(constants.nativeClient()); rdpPluginImplRadioButton = new EntityModelRadioButtonEditor("4"); //$NON-NLS-1$ rdpPluginImplRadioButton.setLabel(constants.browserPlugin()); @@ -392,11 +425,11 @@ private String html; private KeyValueHtmlRowMaker(String key, String val) { - html = "<b>" + key + "</b>: " + val;// $NON-NLS-1$// $NON-NLS-2$ + html = "<b>" + key + "</b>: " + val; //$NON-NLS-1$ //$NON-NLS-2$ } public KeyValueHtmlRowMaker append(String key, String val) { - html += "<br/>" + new KeyValueHtmlRowMaker(key, val).toString();// $NON-NLS-1$ + html += "<br/>" + new KeyValueHtmlRowMaker(key, val).toString(); //$NON-NLS-1$ return this; } @@ -524,19 +557,19 @@ @Override public void setSpiceAvailable(boolean visible) { spiceRadioButton.setEnabled(visible); - spiceRadioButton.setTitle(visible ? "" : constants.spiceNotAvailable()); + spiceRadioButtonTooltip.setText(visible ? "" : constants.spiceNotAvailable()); //$NON-NLS-1$ } @Override public void setRdpAvailable(boolean visible) { remoteDesktopRadioButton.setEnabled(visible); - remoteDesktopRadioButton.setTitle(visible ? "" : constants.rdpNotAvailable()); + remoteDesktopRadioButtonTooltip.setText(visible ? "" : constants.rdpNotAvailable()); //$NON-NLS-1$ } @Override public void setVncAvailable(boolean visible) { vncRadioButton.setEnabled(visible); - vncRadioButton.setTitle(visible ? "" : constants.vncNotAvailable()); + vncRadioButtonTooltip.setText(visible ? "" : constants.vncNotAvailable()); //$NON-NLS-1$ } @Override @@ -599,7 +632,7 @@ @Override public void setNoVncEnabled(boolean enabled, String reason) { noVncImplRadioButton.setEnabled(enabled); - noVncImplRadioButton.setTitle(enabled ? "" : reason); + noVncImplRadioButtonTooltip.setText(enabled ? "" : reason); //$NON-NLS-1$ } abstract class SpiceRenderer implements ValueCheckboxRenderer<ConsoleModel> { @@ -689,7 +722,7 @@ @Override public void setSpiceProxyEnabled(boolean enabled, String reason) { enableSpiceProxy.setEnabled(enabled); - enableSpiceProxy.setTitle(reason); + enableSpiceProxyTooltip.setText(reason); } @Override @@ -706,7 +739,7 @@ public void setSpicePluginImplEnabled(boolean enabled, String reason) { spicePluginImplRadioButton.setEnabled(enabled); if (!enabled) { - spicePluginImplRadioButton.setTitle(reason); + spicePluginImplRadioButtonTooltip.setText(reason); } } @@ -714,7 +747,7 @@ public void setSpiceHtml5ImplEnabled(boolean enabled, String reason) { spiceHtml5ImplRadioButton.setEnabled(enabled); if (!enabled) { - spiceHtml5ImplRadioButton.setTitle(reason); + spiceHtml5ImplRadioButtonTooltip.setText(reason); } } @@ -722,7 +755,7 @@ public void setRdpPluginImplEnabled(boolean enabled, String reason) { rdpPluginImplRadioButton.setEnabled(enabled); if (!enabled) { - rdpPluginImplRadioButton.setTitle(reason); + rdpPluginImplRadioButtonTooltip.setText(reason); } } diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/popup/ConsolePopupView.ui.xml b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/popup/ConsolePopupView.ui.xml index 23bc4e2..6fb9240 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/popup/ConsolePopupView.ui.xml +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/popup/ConsolePopupView.ui.xml @@ -6,7 +6,8 @@ xmlns:v="urn:import:org.ovirt.engine.ui.common.widget" xmlns:e="urn:import:org.ovirt.engine.ui.common.widget.editor" xmlns:ge="urn:import:org.ovirt.engine.ui.common.widget.editor.generic" -xmlns:w="urn:import:org.ovirt.engine.ui.common.widget.uicommon.popup.console"> +xmlns:w="urn:import:org.ovirt.engine.ui.common.widget.uicommon.popup.console" +xmlns:t="urn:import:org.ovirt.engine.ui.common.widget.tooltip"> <ui:with field='constants' type='org.ovirt.engine.ui.common.CommonApplicationConstants' /> @@ -53,24 +54,40 @@ <g:FlowPanel addStyleNames="{style.protocolPanel}"> <g:Label ui:field="consoleTitle" addStyleNames="{style.labelStyle}" /> <g:FlowPanel> - <ge:EntityModelRadioButtonEditor ui:field="spiceRadioButton" addStyleNames="{style.protocolRadioButton}"/> - <ge:EntityModelRadioButtonEditor ui:field="vncRadioButton" addStyleNames="{style.protocolRadioButton}"/> - <ge:EntityModelRadioButtonEditor ui:field="remoteDesktopRadioButton" addStyleNames="{style.protocolRadioButton}" /> + <t:WidgetTooltip ui:field="spiceRadioButtonTooltip"> + <ge:EntityModelRadioButtonEditor ui:field="spiceRadioButton" addStyleNames="{style.protocolRadioButton}"/> + </t:WidgetTooltip> + <t:WidgetTooltip ui:field="vncRadioButtonTooltip"> + <ge:EntityModelRadioButtonEditor ui:field="vncRadioButton" addStyleNames="{style.protocolRadioButton}"/> + </t:WidgetTooltip> + <t:WidgetTooltip ui:field="remoteDesktopRadioButtonTooltip"> + <ge:EntityModelRadioButtonEditor ui:field="remoteDesktopRadioButton" addStyleNames="{style.protocolRadioButton}" /> + </t:WidgetTooltip> </g:FlowPanel> </g:FlowPanel> <g:FlowPanel ui:field="spicePanel" addStyleNames="{style.protocolPanel} cpv_spicePanel_pfly_fix"> <v:WidgetWithInfo ui:field="spiceHeadline" /> - <ge:EntityModelRadioButtonEditor ui:field="spiceAutoImplRadioButton"/> - <ge:EntityModelRadioButtonEditor ui:field="spiceNativeImplRadioButton"/> - <ge:EntityModelRadioButtonEditor ui:field="spicePluginImplRadioButton"/> - <ge:EntityModelRadioButtonEditor ui:field="spiceHtml5ImplRadioButton"/> + <t:WidgetTooltip ui:field="spiceAutoImplRadioButtonTooltip"> + <ge:EntityModelRadioButtonEditor ui:field="spiceAutoImplRadioButton"/> + </t:WidgetTooltip> + <t:WidgetTooltip ui:field="spiceNativeImplRadioButtonTooltip"> + <ge:EntityModelRadioButtonEditor ui:field="spiceNativeImplRadioButton"/> + </t:WidgetTooltip> + <t:WidgetTooltip ui:field="spicePluginImplRadioButtonTooltip"> + <ge:EntityModelRadioButtonEditor ui:field="spicePluginImplRadioButton"/> + </t:WidgetTooltip> + <t:WidgetTooltip ui:field="spiceHtml5ImplRadioButtonTooltip"> + <ge:EntityModelRadioButtonEditor ui:field="spiceHtml5ImplRadioButton"/> + </t:WidgetTooltip> <g:Label ui:field="spiceTitle" text="{constants.spiceOptions}" addStyleNames="{style.labelStyle} cpv_spiceTitle_pfly_fix" /> <w:EntityModelValueCheckBoxEditor ui:field="remapCtrlAltDeleteSpice" /> <w:EntityModelValueCheckBoxEditor ui:field="enableUsbAutoshare" /> <w:EntityModelValueCheckBoxEditor ui:field="openInFullScreen" /> - <w:EntityModelValueCheckBoxEditor ui:field="enableSpiceProxy" /> + <t:WidgetTooltip ui:field="enableSpiceProxyTooltip"> + <w:EntityModelValueCheckBoxEditor ui:field="enableSpiceProxy" /> + </t:WidgetTooltip> <g:FlowPanel ui:field="wanOptionsPanel" > <w:EntityModelValueCheckBoxEditor ui:field="wanEnabled" /> @@ -84,7 +101,9 @@ <g:FlowPanel ui:field="vncPanel" addStyleNames="{style.protocolPanel}"> <v:WidgetWithInfo ui:field="vncHeadline" /> <ge:EntityModelRadioButtonEditor ui:field="vncNativeImplRadioButton" /> - <ge:EntityModelRadioButtonEditor ui:field="noVncImplRadioButton"/> + <t:WidgetTooltip ui:field="noVncImplRadioButtonTooltip"> + <ge:EntityModelRadioButtonEditor ui:field="noVncImplRadioButton"/> + </t:WidgetTooltip> <g:Label ui:field="vncTitle" text="{constants.vncOptions}" addStyleNames="{style.labelStyle}" /> <w:EntityModelValueCheckBoxEditor ui:field="remapCtrlAltDeleteVnc" /> </g:FlowPanel> @@ -93,7 +112,9 @@ <v:WidgetWithInfo ui:field="rdpHeadline" /> <ge:EntityModelRadioButtonEditor ui:field="rdpAutoImplRadioButton" /> <ge:EntityModelRadioButtonEditor ui:field="rdpNativeImplRadioButton" /> - <ge:EntityModelRadioButtonEditor ui:field="rdpPluginImplRadioButton" /> + <t:WidgetTooltip ui:field="rdpPluginImplRadioButtonTooltip"> + <ge:EntityModelRadioButtonEditor ui:field="rdpPluginImplRadioButton" /> + </t:WidgetTooltip> <g:Label text="{constants.rdpOptions}" addStyleNames="{style.labelStyle}" /> <w:EntityModelValueCheckBoxEditor ui:field="useLocalDrives" /> </g:FlowPanel> diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/popup/numa/CpuSummaryPanel.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/popup/numa/CpuSummaryPanel.java index 11c4989..e40881e 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/popup/numa/CpuSummaryPanel.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/popup/numa/CpuSummaryPanel.java @@ -1,12 +1,12 @@ package org.ovirt.engine.ui.common.view.popup.numa; import org.ovirt.engine.ui.common.CommonApplicationMessages; +import org.ovirt.engine.ui.common.widget.label.LabelWithTextTruncation; import com.google.gwt.core.client.GWT; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.user.client.ui.Composite; -import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.Widget; import com.google.inject.Inject; @@ -19,13 +19,13 @@ private final CommonApplicationMessages messages; @UiField - Label nameLabel; + LabelWithTextTruncation nameLabel; @UiField - Label totalLabel; + LabelWithTextTruncation totalLabel; @UiField - Label percentageLabel; + LabelWithTextTruncation percentageLabel; @Inject public CpuSummaryPanel(CommonApplicationMessages messages) { @@ -34,18 +34,13 @@ } public void setName(String name) { - nameLabel.setTitle(name); nameLabel.setText(name); } public void setCpus(int totalCpus, int usedPercentage) { String totalCpusString = messages.numaTotalCpus(totalCpus); - - totalLabel.setTitle(totalCpusString); totalLabel.setText(totalCpusString); - String percentageUsed = messages.numaPercentUsed(usedPercentage); - percentageLabel.setTitle(percentageUsed); percentageLabel.setText(percentageUsed); } } diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/popup/numa/CpuSummaryPanel.ui.xml b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/popup/numa/CpuSummaryPanel.ui.xml index f000281..a730ece 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/popup/numa/CpuSummaryPanel.ui.xml +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/popup/numa/CpuSummaryPanel.ui.xml @@ -1,6 +1,7 @@ <?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"> +<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" xmlns:g="urn:import:com.google.gwt.user.client.ui" +xmlns:l="urn:import:org.ovirt.engine.ui.common.widget.label"> <ui:style> .cpuPanel { @@ -34,11 +35,11 @@ <g:FlowPanel addStyleNames="{style.cpuPanel}"> <g:SimplePanel addStyleNames="{style.nameLabelContainer}"> - <g:Label ui:field="nameLabel" addStyleNames="{style.mainText}"/> + <l:LabelWithTextTruncation ui:field="nameLabel" addStyleNames="{style.mainText}"/> </g:SimplePanel> <g:FlowPanel addStyleNames="{style.cpuLabelContainer}"> - <g:Label ui:field="totalLabel" addStyleNames="{style.mainText}" /> - <g:Label ui:field="percentageLabel" addStyleNames="{style.subText}" /> + <l:LabelWithTextTruncation ui:field="totalLabel" addStyleNames="{style.mainText}" /> + <l:LabelWithTextTruncation ui:field="percentageLabel" addStyleNames="{style.subText}" /> </g:FlowPanel> <g:SimplePanel addStyleNames="{style.clearFloat}" /> </g:FlowPanel> diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/popup/numa/MemorySummaryPanel.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/popup/numa/MemorySummaryPanel.java index 59366a9..5035832 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/popup/numa/MemorySummaryPanel.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/popup/numa/MemorySummaryPanel.java @@ -1,12 +1,12 @@ package org.ovirt.engine.ui.common.view.popup.numa; import org.ovirt.engine.ui.common.CommonApplicationMessages; +import org.ovirt.engine.ui.common.widget.label.LabelWithTextTruncation; import com.google.gwt.core.client.GWT; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.user.client.ui.Composite; -import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.Widget; import com.google.inject.Inject; @@ -18,10 +18,10 @@ private final CommonApplicationMessages messages; @UiField - Label totalLabel; + LabelWithTextTruncation totalLabel; @UiField - Label usedLabel; + LabelWithTextTruncation usedLabel; @Inject public MemorySummaryPanel(CommonApplicationMessages messages) { @@ -31,11 +31,9 @@ public void setMemoryStats(long totalMemory, long usedMemory) { String totalMemoryString = messages.numaMemory(totalMemory); - totalLabel.setTitle(totalMemoryString); totalLabel.setText(totalMemoryString); String usedMemoryString = messages.numaMemoryUsed(usedMemory); - usedLabel.setTitle(usedMemoryString); usedLabel.setText(usedMemoryString); } } diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/popup/numa/MemorySummaryPanel.ui.xml b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/popup/numa/MemorySummaryPanel.ui.xml index 8c647c4..8dde536 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/popup/numa/MemorySummaryPanel.ui.xml +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/view/popup/numa/MemorySummaryPanel.ui.xml @@ -1,6 +1,7 @@ <?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"> +<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" xmlns:g="urn:import:com.google.gwt.user.client.ui" +xmlns:l="urn:import:org.ovirt.engine.ui.common.widget.label"> <ui:style> .memoryPanel { @@ -29,8 +30,8 @@ <g:FlowPanel addStyleNames="{style.memoryPanel}"> <g:FlowPanel addStyleNames="{style.memoryLabelContainer}"> - <g:Label ui:field="totalLabel" addStyleNames="{style.mainText}" /> - <g:Label ui:field="usedLabel" addStyleNames="{style.subText}" /> + <l:LabelWithTextTruncation ui:field="totalLabel" addStyleNames="{style.mainText}" /> + <l:LabelWithTextTruncation ui:field="usedLabel" addStyleNames="{style.subText}" /> </g:FlowPanel> <g:SimplePanel addStyleNames="{style.clearFloat}" /> </g:FlowPanel> diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/AbstractUiCommandButton.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/AbstractUiCommandButton.java index 25adda9..dd88b6a 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/AbstractUiCommandButton.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/AbstractUiCommandButton.java @@ -69,33 +69,13 @@ } } - void updateButton() { + protected void updateButton() { Widget widget = getButtonWidget(); widget.setVisible(command.getIsAvailable() && command.getIsVisible()); if (widget instanceof HasEnabled) { ((HasEnabled)widget).setEnabled(command.getIsExecutionAllowed()); } String label = getLabel(); - // Use prohibition reasons for tooltip if exist. - String title = ""; //$NON-NLS-1$ - StringBuilder sb = new StringBuilder(); - if (!command.getExecuteProhibitionReasons().isEmpty()) { - for (String reason : command.getExecuteProhibitionReasons()) { - sb.append(reason).append(","); //$NON-NLS-1$ - } - title = sb.toString(); - if (title.length() != 0) { - title = title.substring(0, title.length() -1); - } - } else { - if (label != null && !label.isEmpty()) { - title = label; - } - else { - title = command.getTitle(); - } - } - getButtonWidget().setTitle(title); if (command.getTitle() == null) { setLabel(""); //$NON-NLS-1$ diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/AbstractValidatedWidget.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/AbstractValidatedWidget.java index 83e62e7..89495df 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/AbstractValidatedWidget.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/AbstractValidatedWidget.java @@ -27,7 +27,6 @@ valid = true; applyCommonValidationStyles(); getValidatedWidgetStyle().setBorderColor("gray"); //$NON-NLS-1$ - getValidatedWidget().setTitle(null); } @Override @@ -35,7 +34,6 @@ valid = false; applyCommonValidationStyles(); getValidatedWidgetStyle().setBorderColor("red"); //$NON-NLS-1$ - getValidatedWidget().setTitle(getValidationTitle(validationHints)); } protected void applyCommonValidationStyles() { @@ -43,7 +41,7 @@ getValidatedWidgetStyle().setBorderStyle(BorderStyle.SOLID); } - String getValidationTitle(List<String> validationHints) { + protected String getValidationTooltipText(List<String> validationHints) { return validationHints != null && validationHints.size() > 0 ? validationHints.get(0) : null; } diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/AbstractValidatedWidgetWithLabel.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/AbstractValidatedWidgetWithLabel.java index cd681d8..28db8c3 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/AbstractValidatedWidgetWithLabel.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/AbstractValidatedWidgetWithLabel.java @@ -1,11 +1,14 @@ package org.ovirt.engine.ui.common.widget; +import java.util.List; + import org.gwtbootstrap3.client.ui.FormLabel; import org.gwtbootstrap3.client.ui.constants.Styles; import org.ovirt.engine.ui.common.css.OvirtCss; import org.ovirt.engine.ui.common.idhandler.HasElementId; import org.ovirt.engine.ui.common.view.popup.FocusableComponentsContainer; import org.ovirt.engine.ui.common.widget.editor.EditorWidget; +import org.ovirt.engine.ui.common.widget.tooltip.WidgetTooltip; import com.google.gwt.core.client.GWT; import com.google.gwt.core.client.Scheduler; @@ -20,6 +23,7 @@ import com.google.gwt.event.logical.shared.ValueChangeEvent; import com.google.gwt.event.shared.HandlerRegistration; import com.google.gwt.resources.client.CssResource; +import com.google.gwt.safehtml.shared.SafeHtml; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.user.client.DOM; @@ -78,15 +82,20 @@ SimplePanel contentWidgetContainer; @UiField + WidgetTooltip labelElementTooltip; + + @UiField + WidgetTooltip contentWidgetContainerTooltip; + + @UiField Style style; + + protected String labelElementConfiguredTooltip = null; + + protected String contentWidgetContainerConfiguredTooltip = null; // width in PX -- only used in legacy mode public static final int CONTENT_WIDTH_LEGACY = 230; - - /** - * By default the tooltip gets erased when setEnabled is called. This switch disables that behavior. - */ - private boolean setKeepTooltipOnSetEnabled = false; private VisibilityRenderer renderer; @@ -273,22 +282,47 @@ } else { getFormLabel().getElement().replaceClassName(OvirtCss.LABEL_ENABLED, OvirtCss.LABEL_DISABLED); } - - if (!setKeepTooltipOnSetEnabled) { - updateWidgetTitle(null); - } } @Override public void disable(String disabilityHint) { setEnabled(false); - updateWidgetTitle(disabilityHint); + setWidgetTooltip(disabilityHint); } - private void updateWidgetTitle(String title) { - contentWidget.asWidget().setTitle(title); + @Override + public void markAsValid() { + super.markAsValid(); + labelElementTooltip.setText(labelElementConfiguredTooltip); + labelElementTooltip.reconfigure(); + contentWidgetContainerTooltip.setText(contentWidgetContainerConfiguredTooltip); + contentWidgetContainerTooltip.reconfigure(); } + @Override + public void markAsInvalid(List<String> validationHints) { + super.markAsInvalid(validationHints); + String tooltipText = getValidationTooltipText(validationHints); + labelElementTooltip.setText(tooltipText); + labelElementTooltip.reconfigure(); + contentWidgetContainerTooltip.setText(tooltipText); + contentWidgetContainerTooltip.reconfigure(); + } + + public void setWidgetTooltip(String text) { + contentWidgetContainerTooltip.setText(text); + labelElementTooltip.setText(text); + } + + public void setContentWidgetContainerTooltip(String tooltipText) { + contentWidgetContainerConfiguredTooltip = tooltipText; + contentWidgetContainerTooltip.setText(tooltipText); + } + + public void setLabelElementTooltip(String tooltipText) { + labelElementConfiguredTooltip = tooltipText; + labelElementTooltip.setText(tooltipText); + } // set styleNames on my components @@ -359,10 +393,6 @@ public void hideLabel() { getFormLabel().setVisible(false); - } - - public void setKeepTooltipOnSetEnabled(boolean setKeepTooltipOnSetEnabled) { - this.setKeepTooltipOnSetEnabled = setKeepTooltipOnSetEnabled; } public VisibilityRenderer getRenderer() { diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/AbstractValidatedWidgetWithLabel.ui.xml b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/AbstractValidatedWidgetWithLabel.ui.xml index 3620256..1751d42 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/AbstractValidatedWidgetWithLabel.ui.xml +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/AbstractValidatedWidgetWithLabel.ui.xml @@ -1,7 +1,8 @@ <?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:b="urn:import:org.gwtbootstrap3.client.ui"> +xmlns:t="urn:import:org.ovirt.engine.ui.common.widget.tooltip" +xmlns:b="urn:import:org.gwtbootstrap3.client.ui" > <ui:style type="org.ovirt.engine.ui.common.widget.AbstractValidatedWidgetWithLabel.Style"> .wrapper_legacy { @@ -29,8 +30,12 @@ </ui:style> <g:HTMLPanel ui:field="wrapperPanel"> - <b:FormLabel ui:field="label"/> - <g:SimplePanel ui:field="contentWidgetContainer" /> + <t:WidgetTooltip ui:field="labelElementTooltip"> + <b:FormLabel ui:field="label"/> + </t:WidgetTooltip> + <t:WidgetTooltip ui:field="contentWidgetContainerTooltip"> + <g:SimplePanel ui:field="contentWidgetContainer" /> + </t:WidgetTooltip> <div style="clear: both;" /> </g:HTMLPanel> diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/UiCommandButton.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/UiCommandButton.java index c921fee..83aaff5 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/UiCommandButton.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/UiCommandButton.java @@ -1,6 +1,7 @@ package org.ovirt.engine.ui.common.widget; import org.ovirt.engine.ui.common.widget.dialog.SimpleDialogButton; +import org.ovirt.engine.ui.common.widget.tooltip.WidgetTooltip; import com.google.gwt.core.client.GWT; import com.google.gwt.resources.client.ImageResource; @@ -18,6 +19,9 @@ @UiField SimpleDialogButton button; + + @UiField + WidgetTooltip tooltip; public UiCommandButton() { initWidget(WidgetUiBinder.uiBinder.createAndBindUi(this)); @@ -79,4 +83,30 @@ public void setEnabled(boolean enabled) { getButtonWidget().setEnabled(enabled); } + + @Override + protected void updateButton() { + super.updateButton(); + tooltip.setText(buildTooltipText()); + tooltip.reconfigure(); + } + + /** + * Use prohibition reasons for tooltip + */ + protected String buildTooltipText() { + String tooltipText = null; + + StringBuilder sb = new StringBuilder(); + if (!getCommand().getExecuteProhibitionReasons().isEmpty()) { + for (String reason : getCommand().getExecuteProhibitionReasons()) { + sb.append(reason).append(", "); //$NON-NLS-1$ + } + tooltipText = sb.toString(); + if (tooltipText.length() != 0) { + tooltipText = tooltipText.substring(0, tooltipText.length() -2); + } + } + return tooltipText; + } } diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/UiCommandButton.ui.xml b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/UiCommandButton.ui.xml index 78e1a1a..36e13b7 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/UiCommandButton.ui.xml +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/UiCommandButton.ui.xml @@ -1,14 +1,19 @@ <?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:d="urn:import:org.ovirt.engine.ui.common.widget.dialog"> + xmlns:d="urn:import:org.ovirt.engine.ui.common.widget.dialog" + xmlns:t="urn:import:org.ovirt.engine.ui.common.widget.tooltip"> - <ui:style> - .button { - text-align: center; - } - </ui:style> + <ui:style> + .button { + text-align: center; + } + </ui:style> - <d:SimpleDialogButton ui:field="button" addStyleNames="{style.button}" /> + <g:FlowPanel> + <t:WidgetTooltip ui:field="tooltip"> + <d:SimpleDialogButton ui:field="button" addStyleNames="{style.button}" /> + </t:WidgetTooltip> + </g:FlowPanel> </ui:UiBinder> diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/AbstractActionButton.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/AbstractActionButton.java index 0bd5718..f1dcff0 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/AbstractActionButton.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/AbstractActionButton.java @@ -1,5 +1,7 @@ package org.ovirt.engine.ui.common.widget.action; +import org.ovirt.engine.ui.common.widget.tooltip.WidgetTooltip; + import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.event.shared.HandlerRegistration; import com.google.gwt.safehtml.shared.SafeHtml; @@ -19,6 +21,8 @@ @UiField public ToggleButton button; + + WidgetTooltip tooltip; @Override public void setEnabledHtml(SafeHtml html) { @@ -47,8 +51,12 @@ } @Override - public void setTitle(String title) { - button.setTitle(title); + public void setTooltipText(String tooltipText) { + if (tooltip == null) { + tooltip = new WidgetTooltip(this); + } + tooltip.setText(tooltipText); + tooltip.reconfigure(); } @Override diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/AbstractActionPanel.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/AbstractActionPanel.java index b046c8c..dbd7ea5 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/AbstractActionPanel.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/AbstractActionPanel.java @@ -556,12 +556,12 @@ if (buttonDef instanceof UiMenuBarButtonDefinition) { UiMenuBarButtonDefinition<T> menuBarDef = ((UiMenuBarButtonDefinition<T>) buttonDef); if (menuBarDef.isAsTitle()) { - MenuItemSeparator titleItem = new TitleMenuItemSeparator(buttonDef.getTitle()); + MenuItemSeparator titleItem = new TitleMenuItemSeparator(buttonDef.getText()); menuBar.addSeparator(titleItem); titleItem.setVisible(buttonDef.isVisible(getSelectedItems())); updateContextMenu(menuBar, menuBarDef.getSubActions(), popupPanel, false); } else { - MenuItem newMenu = new MenuItem(buttonDef.getTitle(), + MenuItem newMenu = new MenuItem(buttonDef.getText(), updateContextMenu(new MenuBar(true), menuBarDef.getSubActions(), popupPanel)); @@ -570,7 +570,7 @@ menuBar.addItem(newMenu); } } else { - MenuItem item = new MenuItem(buttonDef.getTitle(), new Command() { + MenuItem item = new MenuItem(buttonDef.getText(), new Command() { @Override public void execute() { popupPanel.hide(); @@ -595,7 +595,9 @@ button.asWidget().setVisible(buttonDef.isAccessible(getSelectedItems()) && buttonDef.isVisible(getSelectedItems()) && !buttonDef.isCascaded()); button.setEnabled(buttonDef.isEnabled(getSelectedItems())); - button.setTitle(buttonDef.getButtonToolTip() != null ? buttonDef.getButtonToolTip() : buttonDef.getTitle()); + if (buttonDef.getButtonToolTip() != null) { + button.setTooltipText(buttonDef.getButtonToolTip()); + } originallyVisible.put(button.asWidget(), buttonDef.isAccessible(getSelectedItems()) && buttonDef.isVisible(getSelectedItems())); } @@ -610,6 +612,7 @@ item.setEnabled(buttonDef.isEnabled(getSelectedItems())); if (buttonDef.getMenuItemToolTip() != null) { + // TODO tt MenuItem is not a Widget, so have to use ElementTooltip on it item.setTitle(buttonDef.getMenuItemToolTip()); } } diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/AbstractButtonDefinition.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/AbstractButtonDefinition.java index 5226995..93ba09f 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/AbstractButtonDefinition.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/AbstractButtonDefinition.java @@ -116,7 +116,7 @@ } @Override - public String getTitle() { + public String getText() { return title.asString(); } diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/ActionButton.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/ActionButton.java index 937000c..323536e 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/ActionButton.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/ActionButton.java @@ -14,7 +14,7 @@ /** * Sets the tooltip of this button. */ - void setTitle(String title); + void setTooltipText(String title); /** * Sets the HTML content presented when this button is enabled. diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/ActionButtonDefinition.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/ActionButtonDefinition.java index f990f53..ed72bdb 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/ActionButtonDefinition.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/ActionButtonDefinition.java @@ -56,9 +56,9 @@ SafeHtml getDisabledHtml(); /** - * Returns the title of this button, used in context menus and as the button tooltip. + * Returns the text of this button, used in context menus. */ - String getTitle(); + String getText(); /** * Returns the ID that uniquely identifies this button or {@code null} if not available. @@ -81,7 +81,7 @@ boolean isSubTitledAction(); /** - * Returns the tool-tip for this action button or {@code null} to use button title value. + * Returns the tooltip for this action button or {@code null} to use button tooltip text. */ String getButtonToolTip(); diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/DropdownActionButton.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/DropdownActionButton.java index fdcacc1..afab6a0 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/DropdownActionButton.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/DropdownActionButton.java @@ -42,6 +42,7 @@ private final static CommonApplicationResources resources = GWT.create(CommonApplicationResources.class); public DropdownActionButton(List<ActionButtonDefinition<T>> actions, List selectedItems) { + super(); initDropdownButton(); initWidget(WidgetUiBinder.uiBinder.createAndBindUi(this)); initMenuPopup(actions, selectedItems); @@ -66,7 +67,7 @@ menuPopup = new MenuPanelPopup(true); for (final ActionButtonDefinition<T> buttonDef : actions) { - MenuItem menuItem = new MenuItem(buttonDef.getTitle(), new Command() { + MenuItem menuItem = new MenuItem(buttonDef.getText(), new Command() { @Override public void execute() { menuPopup.asPopupPanel().hide(); @@ -94,6 +95,7 @@ void updateMenuItem(MenuItem item, ActionButtonDefinition<T> buttonDef, List selectedItems) { item.setVisible(buttonDef.isAccessible(selectedItems) && buttonDef.isVisible(selectedItems)); item.setEnabled(buttonDef.isEnabled(selectedItems)); + // TODO tt MenuItem is not a Widget, so have to use ElementTooltip on it item.setTitle(buttonDef.getButtonToolTip() != null ? buttonDef.getButtonToolTip() : null); } diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/ImageUiCommandButtonDefinition.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/ImageUiCommandButtonDefinition.java index 1a0d6a6..63e1b48 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/ImageUiCommandButtonDefinition.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/ImageUiCommandButtonDefinition.java @@ -81,15 +81,15 @@ @Override public SafeHtml getEnabledHtml() { return !showTitle ? enabledImage - : (!imageAfterTitle ? TEMPLATES.imageTextButton(enabledImage, getTitle()) - : TEMPLATES.textImageButton(getTitle(), enabledImage)); + : (!imageAfterTitle ? TEMPLATES.imageTextButton(enabledImage, getText()) + : TEMPLATES.textImageButton(getText(), enabledImage)); } @Override public SafeHtml getDisabledHtml() { return !showTitle ? disabledImage - : (!imageAfterTitle ? TEMPLATES.imageTextButton(disabledImage, getTitle()) - : TEMPLATES.textImageButton(getTitle(), disabledImage)); + : (!imageAfterTitle ? TEMPLATES.imageTextButton(disabledImage, getText()) + : TEMPLATES.textImageButton(getText(), disabledImage)); } } diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/SimpleActionButton.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/SimpleActionButton.java index 8ccabbf..19677de 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/SimpleActionButton.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/SimpleActionButton.java @@ -22,6 +22,7 @@ Style style; public SimpleActionButton() { + super(); initWidget(WidgetUiBinder.uiBinder.createAndBindUi(this)); button.addClickHandler(new ClickHandler() { diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/UiMenuBarButtonDefinition.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/UiMenuBarButtonDefinition.java index 9bfb7cf..07da8ec 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/UiMenuBarButtonDefinition.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/action/UiMenuBarButtonDefinition.java @@ -111,7 +111,7 @@ @Override public String getUniqueId() { - return getTitle(); + return getText(); } @Override diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/dialog/AdvancedParametersExpander.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/dialog/AdvancedParametersExpander.java index 238c00c..360f70a 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/dialog/AdvancedParametersExpander.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/dialog/AdvancedParametersExpander.java @@ -88,6 +88,7 @@ return nextTabIndex; } + // TODO rename "setTitleWhenExpanded" public void setTitleWhenExpended(String title) { titleExpended = title; initStyle(); diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/EntityModelCellTable.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/EntityModelCellTable.java index f0de7f1..963f03c 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/EntityModelCellTable.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/EntityModelCellTable.java @@ -336,6 +336,7 @@ String error = errors.get(i); boolean valid = StringUtils.isEmpty(error); + // TODO tt Element is not a Widget, so have to use ElementTooltip on it element.setTitle(valid ? null : error); if (!valid) { element.addClassName(style.invalidRow()); diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/BaseEntityModelDetachableWidget.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/BaseEntityModelDetachableWidget.java index 50f074a..fa34252 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/BaseEntityModelDetachableWidget.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/BaseEntityModelDetachableWidget.java @@ -3,18 +3,24 @@ import com.google.gwt.core.client.GWT; import com.google.gwt.dom.client.Style.Display; import com.google.gwt.resources.client.CssResource; +import com.google.gwt.uibinder.client.UiField; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.Image; import com.google.gwt.user.client.ui.UIObject; + import org.ovirt.engine.ui.common.CommonApplicationConstants; import org.ovirt.engine.ui.common.CommonApplicationResources; import org.ovirt.engine.ui.common.widget.HasDetachable; +import org.ovirt.engine.ui.common.widget.tooltip.WidgetTooltip; public abstract class BaseEntityModelDetachableWidget extends Composite implements HasDetachable { private static final CommonApplicationResources resource = GWT.create(CommonApplicationResources.class); - private Image attachedSeparatedImage; + @UiField(provided = true) + WidgetTooltip tooltip; + + Image attachedSeparatedImage; private static final CommonApplicationConstants constants = GWT.create(CommonApplicationConstants.class); @@ -28,10 +34,16 @@ private UIObject decoratedWidget; + public BaseEntityModelDetachableWidget() { + this.tooltip = new WidgetTooltip(); + } + // can not be as a constructor because needs to be called after the widgets get bind properly in children protected void initialize(UIObject decoratedWidget, Image attachedSeparatedImage, BaseStyle style) { this.decoratedWidget = decoratedWidget; this.attachedSeparatedImage = attachedSeparatedImage; + this.tooltip.setWidget(attachedSeparatedImage); + this.tooltip.reconfigure(); this.style = style; setAttached(true); @@ -64,6 +76,8 @@ @Override public void setAttached(boolean attached) { attachedSeparatedImage.setResource(attached ? resource.joinedIcon() : resource.separatedIcon()); - attachedSeparatedImage.setTitle(attached ? constants.attachedToInstanceType() : constants.detachedFromInstanceType()); + + tooltip.setText(attached ? constants.attachedToInstanceType() : constants.detachedFromInstanceType()); + tooltip.reconfigure(); } } diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/DetachableLabel.ui.xml b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/DetachableLabel.ui.xml index 9241a6c..c269997 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/DetachableLabel.ui.xml +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/DetachableLabel.ui.xml @@ -1,6 +1,7 @@ <?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"> +<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" xmlns:g="urn:import:com.google.gwt.user.client.ui" + xmlns:t="urn:import:org.ovirt.engine.ui.common.widget.tooltip"> <ui:with field='resources' type='org.ovirt.engine.ui.common.CommonApplicationResources'/> @@ -28,7 +29,9 @@ <g:FlowPanel addStyleNames="{style.contentWrapper}"> <g:Label ui:field="decorated"/> <g:FlowPanel addStyleNames="{style.image}"> - <g:Image ui:field="attachedSeparatedImage" /> + <t:WidgetTooltip ui:field="tooltip"> + <g:Image ui:field="attachedSeparatedImage" /> + </t:WidgetTooltip> </g:FlowPanel> </g:FlowPanel> diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/EntityModelDetachableWidget.ui.xml b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/EntityModelDetachableWidget.ui.xml index f63d342..3df60df 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/EntityModelDetachableWidget.ui.xml +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/EntityModelDetachableWidget.ui.xml @@ -1,7 +1,7 @@ <?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:w="urn:import:org.ovirt.engine.ui.common.widget"> + xmlns:w="urn:import:org.ovirt.engine.ui.common.widget" xmlns:t="urn:import:org.ovirt.engine.ui.common.widget.tooltip"> <ui:with field='resources' type='org.ovirt.engine.ui.common.CommonApplicationResources' /> @@ -47,7 +47,9 @@ <g:HTMLPanel ui:field="wrapperPanel" addStyleNames="{style.wrapper}"> <g:FlowPanel ui:field="contentWrapper" addStyleNames="{style.contentWrapper}"> <g:FlowPanel addStyleNames="{style.image}"> - <g:Image ui:field="attachedSeparatedImage" /> + <t:WidgetTooltip ui:field="tooltip"> + <g:Image ui:field="attachedSeparatedImage" /> + </t:WidgetTooltip> </g:FlowPanel> <g:SimplePanel ui:field="contentWidgetContainer" addStyleNames="{style.contentWidgetContainer}" /> diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/EntityModelDetachableWidgetWithLabel.ui.xml b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/EntityModelDetachableWidgetWithLabel.ui.xml index 4f91e3f..bf8ac62 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/EntityModelDetachableWidgetWithLabel.ui.xml +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/editor/generic/EntityModelDetachableWidgetWithLabel.ui.xml @@ -1,6 +1,7 @@ <?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"> +<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" xmlns:g="urn:import:com.google.gwt.user.client.ui" + xmlns:t="urn:import:org.ovirt.engine.ui.common.widget.tooltip"> <ui:with field='resources' type='org.ovirt.engine.ui.common.CommonApplicationResources' /> @@ -54,7 +55,9 @@ <g:FlowPanel ui:field="contentWrapper" addStyleNames="{style.contentWrapper}"> <g:FlowPanel addStyleNames="{style.image}"> - <g:Image ui:field="attachedSeparatedImage" /> + <t:WidgetTooltip ui:field="tooltip"> + <g:Image ui:field="attachedSeparatedImage" /> + </t:WidgetTooltip> </g:FlowPanel> <g:SimplePanel ui:field="contentWidgetContainer" /> diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/form/key_value/KeyValueLineWidget.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/form/key_value/KeyValueLineWidget.java index b999bb3..cb648a8 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/form/key_value/KeyValueLineWidget.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/form/key_value/KeyValueLineWidget.java @@ -104,6 +104,7 @@ if (selectedKey == null) { selectedKey = ""; } + // TODO tt Element is not a Widget, so have to use ElementTooltip on it keyField.getElement().setTitle(selectedKey); } diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/label/TextBoxLabelBase.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/label/TextBoxLabelBase.java index 06bc208..7185918 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/label/TextBoxLabelBase.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/label/TextBoxLabelBase.java @@ -27,7 +27,6 @@ public abstract class TextBoxLabelBase<T> extends ValueBoxBase<T> { private T value; - private String tooltipCaption; private TextBoxLabelBase(Renderer<T> renderer, Parser<T> parser) { super(Document.get().createTextInputElement(), renderer, parser); @@ -56,11 +55,6 @@ @Override public void setText(String text) { super.setText(text); - String renderedText = text; - if (getTooltipCaption() != null) { - renderedText = getTooltipCaption() + ": " + renderedText; //$NON-NLS-1$ - } - setTitle(renderedText); } @Override @@ -86,14 +80,4 @@ } }, MouseDownEvent.getType()); } - - public String getTooltipCaption() { - return tooltipCaption; - } - - public void setTooltipCaption(String tooltipCaption) { - this.tooltipCaption = tooltipCaption; - } - - } diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/refresh/BaseRefreshPanel.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/refresh/BaseRefreshPanel.java index 1efed3d..cf924b1 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/refresh/BaseRefreshPanel.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/refresh/BaseRefreshPanel.java @@ -290,6 +290,7 @@ } public void showStatus(String status) { + // TODO tt Element is not a Widget, so have to use ElementTooltip on it setTitle(status); } diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/cell/LinkCell.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/cell/LinkCell.java index abf107a..b1e064e 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/cell/LinkCell.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/table/cell/LinkCell.java @@ -32,7 +32,7 @@ public void render(Context context, String value, SafeHtmlBuilder sb, String id) { if (value != null) { sb.appendHtmlConstant("<a href='javascript:;' style='display: inline-block'>"); //$NON-NLS-1$ - super.render(context, value, sb); + super.render(context, value, sb, id); sb.appendHtmlConstant("</a>"); //$NON-NLS-1$ } } diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/tree/AbstractSubTabTree.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/tree/AbstractSubTabTree.java index bb07446..0f6cfa4 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/tree/AbstractSubTabTree.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/tree/AbstractSubTabTree.java @@ -11,6 +11,7 @@ import org.ovirt.engine.ui.common.CommonApplicationTemplates; import org.ovirt.engine.ui.common.widget.editor.EntityModelCellTable; import org.ovirt.engine.ui.common.widget.label.TextBoxLabel; +import org.ovirt.engine.ui.common.widget.tooltip.WidgetTooltip; import org.ovirt.engine.ui.uicommonweb.models.EntityModel; import org.ovirt.engine.ui.uicommonweb.models.ListModel; import org.ovirt.engine.ui.uicommonweb.models.SearchableListModel; @@ -36,6 +37,8 @@ import com.google.gwt.user.client.DOM; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.HorizontalPanel; +import com.google.gwt.user.client.ui.IsWidget; +import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.Tree; import com.google.gwt.user.client.ui.TreeItem; import com.google.gwt.user.client.ui.ValueLabel; @@ -307,9 +310,30 @@ addItemToPanel(panel, item, width); } + protected void addTextBoxToPanel(HorizontalPanel panel, WidgetTooltip item, String text, String width) { + Widget w = item.getWidget(); + if (w instanceof Label) { + Label label = (Label) item.getWidget(); + label.setText(text); + addItemToPanel(panel, item, width); + } + else if (w instanceof TextBoxLabel) { + TextBoxLabel label = (TextBoxLabel) item.getWidget(); + label.setText(text); + addItemToPanel(panel, item, width); + } + else { + throw new ClassCastException("tooltipped label contains unknown Widget: " + w.getClass()); //$NON-NLS-1$ + } + } + protected <T> void addValueLabelToPanel(HorizontalPanel panel, ValueLabel<T> item, T value, String width) { item.setValue(value); addItemToPanel(panel, item, width); + } + + protected void addItemToPanel(HorizontalPanel panel, IsWidget item, String width) { + addItemToPanel(panel, item.asWidget(), width); } protected void addItemToPanel(HorizontalPanel panel, Widget item, String width) { @@ -325,6 +349,7 @@ element.getStyle().setColor("#999999"); //$NON-NLS-1$ if (getNodeDisabledTooltip() != null) { + // TODO tt Element is not a Widget, so have to use ElementTooltip on it element.setTitle(getNodeDisabledTooltip()); } } diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java index 7ea440c..a6f68dc 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/AbstractVmPopupWidget.java @@ -964,7 +964,6 @@ expander.initWithContent(expanderContent.getElement()); vcpusAdvancedParameterExpander.initWithContent(vcpusAdvancedParameterExpanderContent.getElement()); - editPrestartedVmsEditor.setKeepTooltipOnSetEnabled(true); applyStyles(); @@ -1068,9 +1067,6 @@ protected void initPoolSpecificWidgets(CommonApplicationResources resources, final CommonApplicationMessages messages) { createNumOfDesktopEditors(); - - incraseNumOfVmsEditor.setKeepTooltipOnSetEnabled(true); - numOfVmsEditor.setKeepTooltipOnSetEnabled(true); newPoolPrestartedVmsIcon = new InfoIcon(applicationTemplates.italicText(messages.prestartedHelp()), resources); diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmInitWidget.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmInitWidget.java index 7f604cf..cfc8305 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmInitWidget.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/popup/vm/VmInitWidget.java @@ -423,9 +423,9 @@ sysprepDomainEditor.setLabel(constants.domainVmPopup()); inputLocaleEditor.setLabel(constants.inputLocaleLabel()); uiLanguageEditor.setLabel(constants.uiLanguageLabel()); - sysprepScriptEditor.setTitle(constants.sysprepLabel()); + sysprepScriptEditor.setWidgetTooltip(constants.sysprepLabel()); activeDirectoryOUEditor.setLabel(constants.activeDirectoryOU()); - activeDirectoryOUEditor.setTitle(constants.activeDirectoryOUToolTip()); + activeDirectoryOUEditor.setWidgetTooltip(constants.activeDirectoryOUToolTip()); systemLocaleEditor.setLabel(constants.systemLocaleLabel()); userLocaleEditor.setLabel(constants.userLocaleLabel()); userNameEditor.setLabel(constants.cloudInitUserNameLabel()); @@ -460,28 +460,29 @@ dnsServers.setLabel(constants.cloudInitDnsServersLabel()); dnsSearchDomains.setLabel(constants.cloudInitDnsSearchDomainsLabel()); - hostnameEditor.setTitle(constants.cloudInitHostnameToolTip()); - windowsHostnameEditor.setTitle(constants.cloudInitHostnameToolTip()); - authorizedKeysEditor.setTitle(constants.cloudInitAuthorizedKeysToolTip()); - cloudInitPasswordSetEditor.setTitle(constants.vmInitPasswordSetToolTip()); - sysprepPasswordSetEditor.setTitle(constants.vmInitPasswordSetToolTip()); - customScriptEditor.setTitle(constants.customScriptToolTip()); - regenerateKeysEnabledEditor.setTitle(constants.cloudInitRegenerateKeysToolTip()); - timeZoneEditor.setTitle(constants.cloudInitTimeZoneToolTip()); - cloudInitRootPasswordEditor.setTitle(constants.cloudInitRootPasswordToolTip()); - cloudInitRootPasswordVerificationEditor.setTitle(constants.cloudInitRootPasswordVerificationToolTip()); - sysprepAdminPasswordEditor.setTitle(constants.sysprepAdminPasswordToolTip()); - sysprepAdminPasswordVerificationEditor.setTitle(constants.sysprepAdminPasswordVerificationToolTip()); + hostnameEditor.setWidgetTooltip(constants.cloudInitHostnameToolTip()); + windowsHostnameEditor.setWidgetTooltip(constants.cloudInitHostnameToolTip()); + authorizedKeysEditor.setWidgetTooltip(constants.cloudInitAuthorizedKeysToolTip()); + cloudInitPasswordSetEditor.setWidgetTooltip(constants.vmInitPasswordSetToolTip()); + sysprepPasswordSetEditor.setWidgetTooltip(constants.vmInitPasswordSetToolTip()); + customScriptEditor.setWidgetTooltip(constants.customScriptToolTip()); + regenerateKeysEnabledEditor.setWidgetTooltip(constants.cloudInitRegenerateKeysToolTip()); + timeZoneEditor.setWidgetTooltip(constants.cloudInitTimeZoneToolTip()); + cloudInitRootPasswordEditor.setWidgetTooltip(constants.cloudInitRootPasswordToolTip()); + cloudInitRootPasswordVerificationEditor.setWidgetTooltip(constants.cloudInitRootPasswordVerificationToolTip()); + sysprepAdminPasswordEditor.setWidgetTooltip(constants.sysprepAdminPasswordToolTip()); + sysprepAdminPasswordVerificationEditor.setWidgetTooltip(constants.sysprepAdminPasswordVerificationToolTip()); - networkListEditor.setTitle(constants.cloudInitNetworkToolTip()); - networkNameEditor.setTitle(constants.cloudInitNetworkToolTip()); - networkBootProtocolEditor.setTitle(constants.cloudInitNetworkBootProtocolToolTip()); - networkIpAddressEditor.setTitle(constants.cloudInitNetworkIpAddressToolTip()); - networkNetmaskEditor.setTitle(constants.cloudInitNetworkNetmaskToolTip()); - networkGatewayEditor.setTitle(constants.cloudInitNetworkGatewayToolTip()); - networkStartOnBootEditor.setTitle(constants.cloudInitNetworkStartOnBootToolTip()); - dnsServers.setTitle(constants.cloudInitDnsServersToolTip()); - dnsSearchDomains.setTitle(constants.cloudInitDnsSearchDomainsToolTip()); + networkListEditor.setWidgetTooltip(constants.cloudInitNetworkToolTip()); + // TODO tt doesn't work on networkNameEditor. gets stuck open. + // networkNameEditor.setWidgetTooltip(constants.cloudInitNetworkToolTip()); + networkBootProtocolEditor.setWidgetTooltip(constants.cloudInitNetworkBootProtocolToolTip()); + networkIpAddressEditor.setWidgetTooltip(constants.cloudInitNetworkIpAddressToolTip()); + networkNetmaskEditor.setWidgetTooltip(constants.cloudInitNetworkNetmaskToolTip()); + networkGatewayEditor.setWidgetTooltip(constants.cloudInitNetworkGatewayToolTip()); + networkStartOnBootEditor.setWidgetTooltip(constants.cloudInitNetworkStartOnBootToolTip()); + dnsServers.setWidgetTooltip(constants.cloudInitDnsServersToolTip()); + dnsSearchDomains.setWidgetTooltip(constants.cloudInitDnsSearchDomainsToolTip()); networkExpander.setTitleWhenExpended(constants.cloudInitNetworskLabel()); networkExpander.setTitleWhenCollapsed(constants.cloudInitNetworskLabel()); @@ -614,7 +615,7 @@ public void eventRaised(Event<? extends PropertyChangedEventArgs> ev, Object sender, PropertyChangedEventArgs args) { String propName = args.propertyName; if ("IsChangable".equals(propName)) { //$NON-NLS-1$ - cloudInitPasswordSetEditor.setTitle( + cloudInitPasswordSetEditor.setWidgetTooltip( model.getCloudInitPasswordSet().getIsChangable() ? constants.vmInitPasswordSetToolTip() : constants.vmInitPasswordNotSetToolTip() ); @@ -627,7 +628,7 @@ public void eventRaised(Event<? extends PropertyChangedEventArgs> ev, Object sender, PropertyChangedEventArgs args) { String propName = args.propertyName; if ("IsChangable".equals(propName)) { //$NON-NLS-1$ - sysprepPasswordSetEditor.setTitle( + sysprepPasswordSetEditor.setWidgetTooltip( model.getSysprepPasswordSet().getIsChangable() ? constants.vmInitPasswordSetToolTip() : constants.vmInitPasswordNotSetToolTip() ); diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/storage/AbstractSanStorageList.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/storage/AbstractSanStorageList.java index 069ff69..9612c84 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/storage/AbstractSanStorageList.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/storage/AbstractSanStorageList.java @@ -145,6 +145,7 @@ for (String reason : grayOutReasons) { title.append(reason).append(constants.space()); } + // TODO tt Element not a Widget, need ElementTooltip here input.setTitle(title.toString()); } diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/vm/VmDiskListModelTable.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/vm/VmDiskListModelTable.java index 0b4f53c..7c595d8 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/vm/VmDiskListModelTable.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/vm/VmDiskListModelTable.java @@ -82,7 +82,7 @@ && !getModel().getIsDiskHotPlugSupported()) { return constants.diskHotPlugNotSupported(); } else { - return this.getTitle(); + return this.getText(); } } }; @@ -102,7 +102,7 @@ return constants.diskHotPlugNotSupported(); } else { - return this.getTitle(); + return this.getText(); } } }; diff --git a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/vm/VmSnapshotListModelTable.java b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/vm/VmSnapshotListModelTable.java index b6b64b1e..61ad614 100644 --- a/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/vm/VmSnapshotListModelTable.java +++ b/frontend/webadmin/modules/gwt-common/src/main/java/org/ovirt/engine/ui/common/widget/uicommon/vm/VmSnapshotListModelTable.java @@ -211,7 +211,7 @@ commandVersionsInfo.getClusterVersion().toString(2) : ""; //$NON-NLS-1$ return messages.cloneVmNotSupported(minimalClusterVersion); } else { - return this.getTitle(); + return this.getText(); } } }); diff --git a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/main/view/tab/basic/MainTabBasicListItemView.java b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/main/view/tab/basic/MainTabBasicListItemView.java index cf1240c..a4b1402 100644 --- a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/main/view/tab/basic/MainTabBasicListItemView.java +++ b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/section/main/view/tab/basic/MainTabBasicListItemView.java @@ -163,7 +163,7 @@ @Override public void updateRunButton(UICommand command, boolean isPool) { - runButton.setTitle(isPool ? constants.takeVm() : constants.runVm()); + runButton.setTooltipText(isPool ? constants.takeVm() : constants.runVm()); updateButton(runButton, command); } diff --git a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/widget/DoublePercentageProgressBar.java b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/widget/DoublePercentageProgressBar.java index 340af6b..5e6e0db 100644 --- a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/widget/DoublePercentageProgressBar.java +++ b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/widget/DoublePercentageProgressBar.java @@ -1,11 +1,13 @@ package org.ovirt.engine.ui.userportal.widget; import org.ovirt.engine.ui.common.idhandler.HasElementId; +import org.ovirt.engine.ui.common.widget.tooltip.WidgetTooltip; import com.google.gwt.core.client.GWT; import com.google.gwt.editor.client.IsEditor; import com.google.gwt.editor.client.adapters.TakesValueEditor; import com.google.gwt.resources.client.CssResource; +import com.google.gwt.safehtml.shared.SafeHtml; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.user.client.TakesValue; @@ -17,9 +19,10 @@ public class DoublePercentageProgressBar extends Composite implements IsEditor<TakesValueEditor<Object>>, TakesValue<Object>, HasElementId { private static final String ZERO = "0%"; //$NON-NLS-1$ - private String title; private static final int FULL_WIDTH = 99; private static final int MINIMUM_SIZE_TO_SHOW_TEXT = 10; + + protected WidgetTooltip tooltip; interface WidgetUiBinder extends UiBinder<Widget, DoublePercentageProgressBar> { WidgetUiBinder uiBinder = GWT.create(WidgetUiBinder.class); @@ -27,6 +30,7 @@ public DoublePercentageProgressBar() { initWidget(WidgetUiBinder.uiBinder.createAndBindUi(this)); + this.tooltip = new WidgetTooltip(percentageBarA); } private Integer valueA; @@ -46,6 +50,8 @@ @UiField FlowPanel percentageBarB; + + private SafeHtml tooltipText; @Override public void setValue(Object value) { @@ -69,7 +75,8 @@ percentageBarB.setVisible(false); percentageBarB.setWidth("0px"); //$NON-NLS-1$ percentageBarA.setVisible(true); - percentageBarA.setTitle(title); + tooltip.setText(tooltipText.toString()); + tooltip.reconfigure(); percentageBarA.setStyleName(style.empty()); percentageBarA.setWidth(FULL_WIDTH + "%"); //$NON-NLS-1$ percentageLabelA.setText(ZERO); @@ -139,9 +146,7 @@ String percentageLabel(); } - @Override - public void setTitle(String title) { - this.title = title; - super.setTitle(title); + public void setTooltipText(SafeHtml tooltipText) { + this.tooltipText = tooltipText; } } diff --git a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/widget/QuotaCPUProgressBar.java b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/widget/QuotaCPUProgressBar.java index 7874e28..ef97879 100644 --- a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/widget/QuotaCPUProgressBar.java +++ b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/widget/QuotaCPUProgressBar.java @@ -24,7 +24,7 @@ @Override protected SafeHtml getTooltip() { if (quotaUsagePerUser.getVcpuLimit() == UNLIMITED) { - return EMPTY_HTML; + return null; } return templateWithLabels(String.valueOf(quotaUsagePerUser.getVcpuLimit()), (int) (quotaUsagePerUser.getOthersVcpuUsagePercentage() + quotaUsagePerUser.getUserVcpuUsagePercentage()), diff --git a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/widget/QuotaMemoryProgressBar.java b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/widget/QuotaMemoryProgressBar.java index 7cde26d..855289b 100644 --- a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/widget/QuotaMemoryProgressBar.java +++ b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/widget/QuotaMemoryProgressBar.java @@ -31,7 +31,7 @@ @Override protected SafeHtml getTooltip() { if (quotaUsagePerUser.getMemoryLimit() == UNLIMITED) { - return EMPTY_HTML; + return null; } return templateWithLabels(renderMemory(quotaUsagePerUser.getMemoryLimit()), (int) (quotaUsagePerUser.getOthersMemoryUsagePercentage() + quotaUsagePerUser.getUserMemoryUsagePercentage()), diff --git a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/widget/QuotaProgressBar.java b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/widget/QuotaProgressBar.java index e66dc27..a2d9d0e 100644 --- a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/widget/QuotaProgressBar.java +++ b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/widget/QuotaProgressBar.java @@ -1,51 +1,32 @@ package org.ovirt.engine.ui.userportal.widget; import org.ovirt.engine.core.common.businessentities.QuotaUsagePerUser; -import org.ovirt.engine.ui.common.utils.PopupUtils; +import org.ovirt.engine.ui.common.widget.tooltip.WidgetTooltip; import org.ovirt.engine.ui.userportal.ApplicationConstants; import org.ovirt.engine.ui.userportal.ApplicationTemplates; import com.google.gwt.core.client.GWT; -import com.google.gwt.event.dom.client.HasMouseOutHandlers; -import com.google.gwt.event.dom.client.HasMouseOverHandlers; -import com.google.gwt.event.dom.client.MouseOutEvent; -import com.google.gwt.event.dom.client.MouseOutHandler; -import com.google.gwt.event.dom.client.MouseOverEvent; -import com.google.gwt.event.dom.client.MouseOverHandler; -import com.google.gwt.event.shared.HandlerRegistration; import com.google.gwt.safehtml.shared.SafeHtml; -import com.google.gwt.user.client.ui.DecoratedPopupPanel; -import com.google.gwt.user.client.ui.HTML; -public abstract class QuotaProgressBar extends DoublePercentageProgressBar implements HasMouseOutHandlers, HasMouseOverHandlers, MouseOutHandler, MouseOverHandler { +public abstract class QuotaProgressBar extends DoublePercentageProgressBar { public static final int UNLIMITED = -1; private static final ApplicationConstants constants = GWT.create(ApplicationConstants.class); - protected static final SafeHtml EMPTY_HTML = new SafeHtml() { - @Override - public String asString() { - return ""; //$NON-NLS-1$ - } - }; - private final HTML tooltip = new HTML(); - private final DecoratedPopupPanel tooltipPanel = new DecoratedPopupPanel(); + private final ApplicationTemplates templates = GWT.create(ApplicationTemplates.class); protected QuotaUsagePerUser quotaUsagePerUser; + protected WidgetTooltip tooltip; + public QuotaProgressBar(QuotaUsagePerUser quotaUsagePerUser) { + this(); setQuotaUsagePerUser(quotaUsagePerUser); - initToolTip(); } public QuotaProgressBar() { - initToolTip(); - } - - private void initToolTip() { - tooltipPanel.setWidget(tooltip); - addMouseOutHandler(this); - addMouseOverHandler(this); + super(); + tooltip = new WidgetTooltip(this); } public void setQuotaUsagePerUser(QuotaUsagePerUser quotaUsagePerUser) { @@ -98,30 +79,10 @@ setValueB(userConsumptionPercent); setBars(); } - } - @Override - public HandlerRegistration addMouseOutHandler(MouseOutHandler handler) { - return addDomHandler(handler, MouseOutEvent.getType()); - } - - @Override - public HandlerRegistration addMouseOverHandler(MouseOverHandler handler) { - return addDomHandler(handler, MouseOverEvent.getType()); - } - - @Override - public void onMouseOut(MouseOutEvent event) { - tooltipPanel.hide(true); - } - - @Override - public void onMouseOver(MouseOverEvent event) { - SafeHtml tooltipHtml = getTooltip(); - if (!"".equals(tooltipHtml.asString())) { //$NON-NLS-1$ - tooltip.setHTML(tooltipHtml); - PopupUtils.adjustPopupLocationToFitScreenAndShow(tooltipPanel, event.getClientX(), event.getClientY() + 20); - } + // update tooltip + tooltip.setText(getTooltip().asString()); + tooltip.reconfigure(); } protected abstract SafeHtml getTooltip(); @@ -138,9 +99,4 @@ constants.freeQuota(), freePercentage, free); } - @Override - protected void onDetach() { - super.onDetach(); - tooltipPanel.hide(true); - } } diff --git a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/widget/QuotaStorageProgressBar.java b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/widget/QuotaStorageProgressBar.java index c8b9fbe..ac05a32 100644 --- a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/widget/QuotaStorageProgressBar.java +++ b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/widget/QuotaStorageProgressBar.java @@ -29,7 +29,7 @@ @Override protected SafeHtml getTooltip() { if (quotaUsagePerUser.getStorageLimit() == UNLIMITED) { - return EMPTY_HTML; + return null; } return templateWithLabels(renderStorage(quotaUsagePerUser.getStorageLimit()), (int) (quotaUsagePerUser.getOthersStorageUsagePercentage() + quotaUsagePerUser.getUserStorageUsagePercentage()), diff --git a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/widget/basic/MainTabBasicListItemActionButton.java b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/widget/basic/MainTabBasicListItemActionButton.java index 62e08f7..907b67a 100644 --- a/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/widget/basic/MainTabBasicListItemActionButton.java +++ b/frontend/webadmin/modules/userportal-gwtp/src/main/java/org/ovirt/engine/ui/userportal/widget/basic/MainTabBasicListItemActionButton.java @@ -29,10 +29,11 @@ @UiField Panel stylableButtonHolder; - public MainTabBasicListItemActionButton(String title, ImageResource enabledImage, ImageResource disabledImage, + public MainTabBasicListItemActionButton(String tooltipText, ImageResource enabledImage, ImageResource disabledImage, String additionalStyle) { + super(); initWidget(WidgetUiBinder.uiBinder.createAndBindUi(this)); - setTitle(title); + setTooltipText(tooltipText); setEnabledHtml(SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(enabledImage).getHTML())); setDisabledHtml(SafeHtmlUtils.fromTrustedString(AbstractImagePrototype.create(disabledImage).getHTML())); stylableButtonHolder.addStyleName(additionalStyle); diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/footer/TasksTree.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/footer/TasksTree.java index a95b517..2f2f359 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/footer/TasksTree.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/footer/TasksTree.java @@ -9,6 +9,7 @@ import org.ovirt.engine.ui.common.CommonApplicationResources; import org.ovirt.engine.ui.common.CommonApplicationTemplates; import org.ovirt.engine.ui.common.widget.label.TextBoxLabel; +import org.ovirt.engine.ui.common.widget.tooltip.WidgetTooltip; import org.ovirt.engine.ui.common.widget.tree.AbstractSubTabTree; import org.ovirt.engine.ui.uicommonweb.models.events.TaskListModel; import org.ovirt.engine.ui.webadmin.widget.label.FullDateTimeLabel; @@ -46,10 +47,13 @@ addValueLabelToPanel(panel, new FullDateTimeLabel(), task.getStartTime(), "150px"); //$NON-NLS-1$ addTextBoxToPanel(panel, new TextBoxLabel(), task.getEndTime() == null ? "" : constants.untilEndTime(), "80px"); //$NON-NLS-1$ //$NON-NLS-2$ addValueLabelToPanel(panel, new FullDateTimeLabel(), task.getEndTime(), "150px"); //$NON-NLS-1$ - TextBoxLabel corrIdTextBoxLabel = new TextBoxLabel(); - corrIdTextBoxLabel.setTooltipCaption(constants.correltaionIdEvent()); + + WidgetTooltip corrIdTextBoxLabelTooltip = new WidgetTooltip(new TextBoxLabel()); + corrIdTextBoxLabelTooltip.setText(constants.correltaionIdEvent()); + corrIdTextBoxLabelTooltip.reconfigure(); + addTextBoxToPanel(panel, - corrIdTextBoxLabel, + corrIdTextBoxLabelTooltip, task.getCorrelationId() != null && task.getCorrelationId().startsWith(TaskListModel._WEBADMIN_) ? task.getCorrelationId() .split("_")[2] : task.getCorrelationId(), "100px"); //$NON-NLS-1$ //$NON-NLS-2$ diff --git a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/cell/MenuCell.java b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/cell/MenuCell.java index 5749f68..dc02481 100644 --- a/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/cell/MenuCell.java +++ b/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/widget/table/cell/MenuCell.java @@ -91,7 +91,7 @@ } public void addMenuItem(final ActionButtonDefinition<T> buttonDef) { - final MenuItem menuItem = new MenuItem(buttonDef.getTitle(), new Command() { + final MenuItem menuItem = new MenuItem(buttonDef.getText(), new Command() { @Override public void execute() { menuPanelPopup.asPopupPanel().hide(); -- To view, visit https://gerrit.ovirt.org/38360 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ic247147c091f4fa6e6c09689c85b6901c74f11f3 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Greg Sheremeta <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
