Skip to content

Commit edf6474

Browse files
committed
use default number and add setter method
move parse
1 parent cc59f3f commit edf6474

File tree

1 file changed

+18
-14
lines changed

1 file changed

+18
-14
lines changed

src/main/java/gregtech/common/mui/widget/GTTextFieldWidget.java

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)