package com.eas.widgets; import com.eas.core.HasPublished; import com.eas.ui.PublishedMarginConstraints; import com.google.gwt.core.client.JavaScriptObject; import com.google.gwt.user.client.ui.Widget; public class AnchorsPane extends MarginsPane { public AnchorsPane() { super(); } @Override public void setPublished(JavaScriptObject aValue) { if (published != aValue) { super.setPublished(aValue); if (published != null) { publish(this, aValue); } } } @Override public void add(Widget aChild, PublishedMarginConstraints aConstraints) { super.add(aChild, aConstraints != null ? aConstraints : PublishedMarginConstraints.createDefaultAnchors()); } private native static void publish(HasPublished aWidget, JavaScriptObject published)/*-{ published.add = function(toAdd, aConstraints) { if(toAdd && toAdd.unwrap) { if(toAdd.parent == published) throw 'A widget already added to this container'; if(!aConstraints){ aConstraints = {left: toAdd.left, top: toAdd.top, width: toAdd.width, height: toAdd.height}; } aWidget.@com.eas.widgets.AnchorsPane::add(Lcom/google/gwt/user/client/ui/Widget;Lcom/eas/ui/PublishedMarginConstraints;)(toAdd.unwrap(), aConstraints || null); } }; }-*/; }