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.Label;
import com.smartgwt.client.widgets.events.ClickEvent;
import com.smartgwt.client.widgets.events.ClickHandler;
import com.vaadin.terminal.gwt.client.ApplicationConnection;
import com.vaadin.terminal.gwt.client.Paintable;
import com.vaadin.terminal.gwt.client.UIDL;
public class VLabel extends Label implements Paintable
{
private final Element element = DOM.createDiv();
protected String paintableId;
protected ApplicationConnection client;
@Override
public Element getElement()
{
return element;
}
public VLabel()
{
addClickHandler(new ClickHandler()
{
@Override
public void onClick(ClickEvent event)
{
client.updateVariable(paintableId, "clicked", true, true);
}
});
}
/**
* Called whenever an update is received from the server
*/
@Override
public void updateFromUIDL(UIDL uidl, ApplicationConnection client)
{
this.client = client;
this.paintableId = uidl.getId();
PainterHelper.updateSmartGWTComponent(client, this, uidl);
}
}