package fr.lteconsulting.hexa.client.form.fieldtypes;
import com.google.gwt.event.logical.shared.ValueChangeEvent;
import com.google.gwt.event.logical.shared.ValueChangeHandler;
import com.google.gwt.json.client.JSONValue;
import com.google.gwt.user.client.ui.CheckBox;
import com.google.gwt.user.client.ui.Widget;
import fr.lteconsulting.hexa.client.form.marshalls.Marshalls;
public class BooleanFieldType extends FieldTypeBase
{
public Widget getWidget()
{
return new CheckBox();
}
public void setValue( Widget w, JSONValue value )
{
((CheckBox) w).setValue( Marshalls.bool.get( value ) );
}
public JSONValue getValue( Widget widget )
{
return Marshalls.bool.get( ((CheckBox) widget).getValue() );
}
@Override
protected void installRealHandler( Widget widget )
{
((CheckBox) widget).addValueChangeHandler( new ValueChangeHandler<Boolean>()
{
public void onValueChange( ValueChangeEvent<Boolean> event )
{
signalChange( (CheckBox) event.getSource() );
}
} );
}
}