package org.vaadin.smartgwt.client.ui; import org.vaadin.smartgwt.client.ui.utils.PainterHelper; import com.google.gwt.user.client.DOM; import com.google.gwt.user.client.Element; import com.smartgwt.client.widgets.BaseWidget; import com.vaadin.terminal.gwt.client.ApplicationConnection; import com.vaadin.terminal.gwt.client.Paintable; import com.vaadin.terminal.gwt.client.UIDL; /** * 'Extension' to be used in conjunction with a client component that needs to extend a smartgwt BaseWidget. When used, it is necessary to delegate all * methods to the extension. */ public class BaseWidgetExtension implements Paintable { private final BaseWidget baseWidget; private Element element; private String pid; public BaseWidgetExtension(BaseWidget baseWidget) { this.baseWidget = baseWidget; } @Override public void updateFromUIDL(UIDL uidl, ApplicationConnection client) { if (pid == null) { pid = uidl.getId(); } PainterHelper.updateSmartGWTComponent(client, baseWidget, uidl); } public Element getElement() { return element == null ? element = DOM.createDiv() : element; } }