package com.itmill.toolkit.terminal.gwt.client.ui;
+import com.google.gwt.user.client.Event;
import com.google.gwt.user.client.ui.HTML;
import com.itmill.toolkit.terminal.gwt.client.ApplicationConnection;
+import com.itmill.toolkit.terminal.gwt.client.ITooltip;
import com.itmill.toolkit.terminal.gwt.client.Paintable;
import com.itmill.toolkit.terminal.gwt.client.UIDL;
public class ILabel extends HTML implements Paintable {
public static final String CLASSNAME = "i-label";
+ private ApplicationConnection client;
public ILabel() {
super();
setStyleName(CLASSNAME);
+ sinkEvents(ITooltip.TOOLTIP_EVENTS);
}
public ILabel(String text) {
super(text);
setStyleName(CLASSNAME);
+ sinkEvents(ITooltip.TOOLTIP_EVENTS);
+ }
+
+ public void onBrowserEvent(Event event) {
+ super.onBrowserEvent(event);
+ if (client != null) {
+ client.handleTooltipEvent(event, this);
+ }
}
public void updateFromUIDL(UIDL uidl, ApplicationConnection client) {
return;
}
+ this.client = client;
+
final String mode = uidl.getStringAttribute("mode");
if (mode == null || "text".equals(mode)) {
setText(uidl.getChildString(0));
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.Widget;
import com.itmill.toolkit.terminal.gwt.client.ApplicationConnection;
-import com.itmill.toolkit.terminal.gwt.client.IErrorMessage;
import com.itmill.toolkit.terminal.gwt.client.Paintable;
import com.itmill.toolkit.terminal.gwt.client.UIDL;
private final Element captionElement = DOM.createSpan();
- private IErrorMessage errorMessage;
-
private Icon icon;
+ private ApplicationConnection client;
+
public ILink() {
super();
DOM.appendChild(getElement(), captionElement);
return;
}
+ this.client = client;
+
enabled = uidl.hasAttribute("disabled") ? false : true;
readonly = uidl.hasAttribute("readonly") ? true : false;
sinkEvents(Event.MOUSEEVENTS);
}
DOM.insertChild(getElement(), errorIndicatorElement, 0);
- if (errorMessage == null) {
- errorMessage = new IErrorMessage();
- }
- errorMessage.updateFromUIDL(errorUidl);
-
} else if (errorIndicatorElement != null) {
DOM.setStyleAttribute(errorIndicatorElement, "display", "none");
}
icon.setUri(uidl.getStringAttribute("icon"));
}
- // handle description
- if (uidl.hasAttribute("description")) {
- setTitle(uidl.getStringAttribute("description"));
- }
-
}
public void onClick(Widget sender) {
public void onBrowserEvent(Event event) {
final Element target = DOM.eventGetTarget(event);
- if (errorIndicatorElement != null
- && DOM.compare(target, errorIndicatorElement)) {
- switch (DOM.eventGetType(event)) {
- case Event.ONMOUSEOVER:
- showErrorMessage();
- break;
- case Event.ONMOUSEOUT:
- hideErrorMessage();
- break;
- case Event.ONCLICK:
- ApplicationConnection.getConsole().log(
- DOM.getInnerHTML(errorMessage.getElement()));
- return;
- default:
- break;
- }
+ if (client != null) {
+ client.handleTooltipEvent(event, this);
}
if (DOM.compare(target, captionElement)
|| (icon != null && DOM.compare(target, icon.getElement()))) {
}
}
- private void hideErrorMessage() {
- errorMessage.hide();
- }
-
- private void showErrorMessage() {
- if (errorMessage != null) {
- errorMessage.showAt(errorIndicatorElement);
- }
- }
-
}