icon.setWidth("0px");
icon.setHeight("0px");
- DOM.sinkEvents(icon.getElement(), Event.ONLOAD);
DOM.insertChild(getElement(), icon.getElement(),
getInsertPosition(ATTRIBUTE_ICON));
}
}
+ @Override
public void onBrowserEvent(Event event) {
super.onBrowserEvent(event);
final Element target = DOM.eventGetTarget(event);
package com.itmill.toolkit.terminal.gwt.client.ui;
+import java.util.HashSet;
+
import com.google.gwt.user.client.DOM;
import com.google.gwt.user.client.Element;
import com.google.gwt.user.client.Event;
import com.itmill.toolkit.terminal.gwt.client.ITooltip;
import com.itmill.toolkit.terminal.gwt.client.Paintable;
import com.itmill.toolkit.terminal.gwt.client.UIDL;
+import com.itmill.toolkit.terminal.gwt.client.Util;
public class IButton extends Button implements Paintable {
private Icon icon;
+ /**
+ * Helper flat to handle special-case where the button is moved from under
+ * mouse while clicking it. In this case mouse leaves the button without
+ * moving.
+ */
private boolean clickPending;
public IButton() {
return;
}
/*
- * TODO isolata workaround. Safari don't always seem to fire
+ * TODO isolate workaround. Safari don't always seem to fire
* onblur previously focused component before button is clicked.
*/
IButton.this.setFocus(true);
}
}
+ @Override
public void setText(String text) {
DOM.setInnerText(captionElement, text);
}
+ @Override
public void onBrowserEvent(Event event) {
super.onBrowserEvent(event);
- // Handle special-case where the button is moved from under mouse
- // while clicking it. In this case mouse leaves the button without
- // moving.
- if (DOM.eventGetType(event) == Event.ONMOUSEDOWN) {
+ if (DOM.eventGetType(event) == Event.ONLOAD) {
+ HashSet<Widget> set = new HashSet<Widget>();
+ set.add(this);
+ Util.componentSizeUpdated(set);
+ } else if (DOM.eventGetType(event) == Event.ONMOUSEDOWN) {
clickPending = true;
- }
- if (DOM.eventGetType(event) == Event.ONMOUSEMOVE) {
+ } else if (DOM.eventGetType(event) == Event.ONMOUSEMOVE) {
clickPending = false;
- }
- if (DOM.eventGetType(event) == Event.ONMOUSEOUT) {
+ } else if (DOM.eventGetType(event) == Event.ONMOUSEOUT) {
if (clickPending) {
click();
}
package com.itmill.toolkit.terminal.gwt.client.ui;
+import java.util.HashSet;
+
import com.google.gwt.user.client.DOM;
import com.google.gwt.user.client.Element;
import com.google.gwt.user.client.Event;
import com.itmill.toolkit.terminal.gwt.client.ITooltip;
import com.itmill.toolkit.terminal.gwt.client.Paintable;
import com.itmill.toolkit.terminal.gwt.client.UIDL;
+import com.itmill.toolkit.terminal.gwt.client.Util;
public class ICheckBox extends com.google.gwt.user.client.ui.CheckBox implements
Paintable, Field {
immediate = uidl.getBooleanAttribute("immediate");
}
+ @Override
public void onBrowserEvent(Event event) {
super.onBrowserEvent(event);
+ if (event.getTypeInt() == Event.ONLOAD) {
+ HashSet<Widget> set = new HashSet<Widget>();
+ set.add(this);
+ Util.componentSizeUpdated(set);
+ }
if (client != null) {
client.handleTooltipEvent(event, this);
}
}
+ @Override
public void setWidth(String width) {
setBlockMode();
super.setWidth(width);
}
+ @Override
public void setHeight(String height) {
setBlockMode();
super.setHeight(height);
package com.itmill.toolkit.terminal.gwt.client.ui;
+import java.util.HashSet;
+
import com.google.gwt.user.client.DOM;
import com.google.gwt.user.client.Element;
import com.google.gwt.user.client.Event;
import com.itmill.toolkit.terminal.gwt.client.ITooltip;
import com.itmill.toolkit.terminal.gwt.client.Paintable;
import com.itmill.toolkit.terminal.gwt.client.UIDL;
+import com.itmill.toolkit.terminal.gwt.client.Util;
public class ILink extends HTML implements Paintable, ClickListener {
}
}
+ @Override
public void onBrowserEvent(Event event) {
final Element target = DOM.eventGetTarget(event);
+ if (event.getTypeInt() == Event.ONLOAD) {
+ HashSet<Widget> set = new HashSet<Widget>();
+ set.add(this);
+ Util.componentSizeUpdated(set);
+ }
if (client != null) {
client.handleTooltipEvent(event, this);
}
package com.itmill.toolkit.terminal.gwt.client.ui;
import com.google.gwt.user.client.DOM;
+import com.google.gwt.user.client.Event;
import com.google.gwt.user.client.ui.UIObject;
import com.itmill.toolkit.terminal.gwt.client.ApplicationConnection;
String uri = client.translateToolkitUri(uidlUri);
DOM.setElementProperty(getElement(), "src", uri);
myUri = uidlUri;
+ // start sinkin onload events, widgets responsibility to react
+ sinkEvents(Event.ONLOAD);
}
}