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.PasswordTextBox; import com.google.gwt.user.client.ui.Widget; import fr.lteconsulting.hexa.client.form.marshalls.Marshalls; import fr.lteconsulting.hexa.client.tools.MD5; public class PasswordFieldType extends FieldTypeBase { public Widget getWidget() { return new PasswordTextBox(); } public void setValue( Widget w, JSONValue value ) { ((PasswordTextBox) w).setText( Marshalls.string.get( value ) ); } public JSONValue getValue( Widget widget ) { return Marshalls.string.get( MD5.md5( ((PasswordTextBox) widget).getText() ) ); } @Override protected void installRealHandler( Widget widget ) { ((PasswordTextBox) widget).addChangeHandler( new com.google.gwt.event.dom.client.ChangeHandler() { public void onChange( ChangeEvent event ) { signalChange( (PasswordTextBox) event.getSource() ); } } ); } }