package pl.touk.tola.gwt.client.widgets;
import pl.touk.tola.gwt.client.utils.RegexpUtils;
import pl.touk.tola.gwt.client.widgets.form.FormTextField;
import java.math.BigDecimal;
import pl.touk.tola.gwt.client.utils.editors.PercentPropertyEditor;
public class FormPercentField extends FormTextField<BigDecimal> {
public FormPercentField(boolean allow100, int precisionInPercentForm) {
initializeSpecificFields(allow100, precisionInPercentForm);
}
public FormPercentField(String fieldName, boolean allow100, int precisionInPercentForm) {
super(fieldName);
initializeSpecificFields(allow100, precisionInPercentForm);
}
private void initializeSpecificFields(boolean allow100, int precisionInPercentForm) {
setRegex(RegexpUtils.createRegexpAcceptingPercentWithOptionalPercentSign(allow100, precisionInPercentForm));
setPropertyEditor(new PercentPropertyEditor());
TextFieldMessages messages = new TextFieldMessages();
messages.setRegexText("Pole może zawierać tylko wartość procentową od 0% do 100%. Dozwolone " + Integer.toString(precisionInPercentForm) + " miejsc po przecinku. Wartość 100% jest " + (allow100 ? "dopuszczalna." : "niedozwolona."));
setMessages(messages);
}
}