package org.ovirt.engine.ui.common.widget.label;
import org.ovirt.engine.ui.common.widget.tooltip.WidgetTooltip;
import com.google.gwt.user.client.ui.IsWidget;
import com.google.gwt.user.client.ui.Widget;
public class LabelWithTooltip implements WidgetLabel, IsWidget {
private HasWidgetLabels currentTarget;
private final WidgetTooltip tooltip;
public LabelWithTooltip() {
tooltip = new WidgetTooltip(new EnableableFormLabel());
}
@Override
public void setForWidget(HasWidgetLabels targetWidget) {
if (currentTarget != null) {
currentTarget.removeLabel(this);
}
currentTarget = targetWidget;
currentTarget.addLabel(this);
}
@Override
public void setFor(String targetId) {
getLabel().setFor(targetId);
}
@Override
public void disable(String disabilityHint) {
tooltip.setText(disabilityHint);
setEnabled(false);
}
@Override
public boolean isEnabled() {
return getLabel().isEnabled();
}
@Override
public void setEnabled(boolean enabled) {
getLabel().setEnabled(enabled);
if (enabled) {
tooltip.setText("");
}
}
public void setText(String text) {
getLabel().setText(text);
}
public String getText() {
return getLabel().getText();
}
private EnableableFormLabel getLabel() {
return (EnableableFormLabel) tooltip.getWidget();
}
public void setTooltip(String tooltipText) {
tooltip.setText(tooltipText);
}
@Override
public Widget asWidget() {
return tooltip.asWidget();
}
public void setAddStyleNames(String style) {
getLabel().addStyleName(style);
}
}