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.TextBox;
import com.google.gwt.user.client.ui.Widget;
import fr.lteconsulting.hexa.client.form.marshalls.Marshalls;
public class TextFieldType extends FieldTypeBase
{
private static final int stdFieldWidth = 300;
public Widget getWidget()
{
TextBox tb = new TextBox();
tb.setMaxLength( 120 );
tb.setWidth( stdFieldWidth + "px" );
return tb;
}
public void setValue( Widget w, JSONValue value )
{
((TextBox) w).setText( Marshalls.string.get( value ) );
signalChange( (TextBox) w );
}
public JSONValue getValue( Widget widget )
{
return Marshalls.string.get( ((TextBox) widget).getText() );
}
@Override
protected void installRealHandler( Widget widget )
{
((TextBox) widget).addChangeHandler( new com.google.gwt.event.dom.client.ChangeHandler()
{
public void onChange( ChangeEvent event )
{
signalChange( (TextBox) event.getSource() );
}
} );
}
}