package ilarkesto.gwt.client;
import ilarkesto.core.base.Str;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.MouseListenerAdapter;
import com.google.gwt.user.client.ui.Widget;
public class TooltipListener extends MouseListenerAdapter {
private TooltipPopup tooltip;
private HTML text;
private boolean empty;
private int offsetX = 10;
private int offsetY = 35;
public TooltipListener(HTML text) {
this.text = text;
this.empty = text == null || Str.isBlank(text.getHTML());
}
@Override
public void onMouseEnter(Widget sender) {
if (empty) return;
if (tooltip != null) tooltip.hide();
tooltip = new TooltipPopup(sender, offsetX, offsetY, text, false);
tooltip.show();
}
@Override
public void onMouseLeave(Widget sender) {
if (tooltip != null) tooltip.hide();
}
@Override
public void onMouseMove(Widget sender, int x, int y) {
if (tooltip != null && tooltip.isActive()) {
tooltip.hide();
}
}
}