@@ -36,7 +36,6 @@ public class GTTextFieldWidget extends BaseTextFieldWidget<GTTextFieldWidget> {
3636 private IStringValue <?> stringValue ;
3737 private Function <String , String > validator = val -> val ;
3838 private boolean numbers = false ;
39- private String mathFailMessage = null ;
4039 private double defaultNumber = 0 ;
4140 private final GTTextFieldRenderer renderer ;
4241
@@ -47,6 +46,16 @@ public GTTextFieldWidget() {
4746 super .renderer = this .renderer ;
4847 }
4948
49+ public double parse (String num ) {
50+ ParseResult result = MathUtils .parseExpression (num , this .defaultNumber , true );
51+ double value = result .getResult ();
52+ if (result .isFailure ()) {
53+ String mathFailMessage = result .getError ();
54+ GTLog .logger .error ("Math expression error in {}: {}" , this , mathFailMessage );
55+ }
56+ return value ;
57+ }
58+
5059 @ Override
5160 public void onInit () {
5261 super .onInit ();
@@ -200,7 +209,7 @@ public GTTextFieldWidget setNumbersLong(LongUnaryOperator validator) {
200209 setValidator (val -> {
201210 long num ;
202211 if (val .isEmpty ()) {
203- num = 0 ;
212+ num = ( long ) this . defaultNumber ;
204213 } else {
205214 num = (long ) parse (val );
206215 }
@@ -214,7 +223,7 @@ public GTTextFieldWidget setNumbers(IntUnaryOperator validator) {
214223 return setValidator (val -> {
215224 int num ;
216225 if (val .isEmpty ()) {
217- num = 0 ;
226+ num = ( int ) this . defaultNumber ;
218227 } else {
219228 num = (int ) parse (val );
220229 }
@@ -227,7 +236,7 @@ public GTTextFieldWidget setNumbersDouble(DoubleUnaryOperator validator) {
227236 return setValidator (val -> {
228237 double num ;
229238 if (val .isEmpty ()) {
230- num = 0 ;
239+ num = this . defaultNumber ;
231240 } else {
232241 num = parse (val );
233242 }
@@ -251,22 +260,17 @@ public GTTextFieldWidget setNumbers() {
251260 return setNumbers (Integer .MIN_VALUE , Integer .MAX_VALUE );
252261 }
253262
263+ public GTTextFieldWidget setDefaultNumber (double defaultNumber ) {
264+ this .defaultNumber = defaultNumber ;
265+ return this ;
266+ }
267+
254268 public GTTextFieldWidget value (IStringValue <?> stringValue ) {
255269 this .stringValue = stringValue ;
256270 setValue (stringValue );
257271 return this ;
258272 }
259273
260- public double parse (String num ) {
261- ParseResult result = MathUtils .parseExpression (num , this .defaultNumber , true );
262- double value = result .getResult ();
263- if (result .isFailure ()) {
264- this .mathFailMessage = result .getError ();
265- GTLog .logger .error ("Math expression error in {}: {}" , this , this .mathFailMessage );
266- }
267- return value ;
268- }
269-
270274 private static class GTTextFieldRenderer extends TextFieldRenderer {
271275
272276 IKey postFix = IKey .EMPTY ;
0 commit comments