package fr.lteconsulting.hexa.client.form.fieldtypes;
import com.google.gwt.event.dom.client.ChangeEvent;
import com.google.gwt.json.client.JSONValue;
import com.google.gwt.user.client.ui.TextArea;
import com.google.gwt.user.client.ui.Widget;
import fr.lteconsulting.hexa.client.form.fieldtypes.FieldTypeBase;
import fr.lteconsulting.hexa.client.form.marshalls.Marshalls;
public class TextAreaFieldType extends FieldTypeBase
{
private static final int stdFieldWidth = 300;
public Widget getWidget()
{
TextArea ta = new TextArea();
ta.setWidth( stdFieldWidth + "px" );
ta.setHeight( "120px" );
return ta;
}
public void setValue( Widget w, JSONValue value )
{
((TextArea) w).setText( Marshalls.string.get( value ) );
}
@Override
public JSONValue getValue( Widget widget )
{
return Marshalls.string.get( ((TextArea) widget).getText() );
}
@Override
protected void installRealHandler( Widget widget )
{
((TextArea) widget).addChangeHandler( new com.google.gwt.event.dom.client.ChangeHandler()
{
public void onChange( ChangeEvent event )
{
signalChange( (TextArea) event.getSource() );
}
} );
}
}