package com.eas.ui;
import com.eas.core.XElement;
import com.google.gwt.core.client.Scheduler;
import com.google.gwt.core.client.Scheduler.ScheduledCommand;
import com.google.gwt.dom.client.Element;
import com.google.gwt.user.client.ui.RequiresResize;
import com.google.gwt.user.client.ui.SimplePanel;
import com.google.gwt.user.client.ui.Widget;
import com.google.gwt.dom.client.Style;
public class StandaloneRootPanel extends SimplePanel implements RequiresResize {
public StandaloneRootPanel(Element aElement) {
super(aElement);
aElement.<XElement> cast().addResizingTransitionEnd(this);
onAttach();
}
@Override
public void setWidget(Widget w) {
super.setWidget(w);
w.getElement().getStyle().setPosition(Style.Position.ABSOLUTE);
w.getElement().getStyle().setWidth(100, Style.Unit.PCT);
w.getElement().getStyle().setHeight(100, Style.Unit.PCT);
}
@Override
protected void onAttach() {
super.onAttach();
Scheduler.get().scheduleDeferred(new ScheduledCommand() {
@Override
public void execute() {
onResize();
}
});
}
@Override
public void onResize() {
Widget child = getWidget();
if (child instanceof RequiresResize) {
((RequiresResize) child).onResize();
}
}
}