Files
NotEnoughItems/src/main/java/codechicken/nei/ItemQuantityField.java
T

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

72 lines
1.7 KiB
Java
Raw Normal View History

2014-04-29 10:54:20 +10:00
package codechicken.nei;
import static codechicken.nei.NEIClientUtils.translate;
public class ItemQuantityField extends TextField {
public ItemQuantityField(String ident) {
2014-04-29 10:54:20 +10:00
super(ident);
centered = true;
field.setDisabledTextColour(0xFF303030);
2014-04-29 10:54:20 +10:00
}
public int intValue() {
2014-04-29 10:54:20 +10:00
return intValue(text());
}
public int intValue(String s) {
try {
return Math.max(0, Integer.parseInt(s));
} catch (NumberFormatException nfe) {
2014-04-29 10:54:20 +10:00
return 0;
}
}
@Override
public void gainFocus() {
if (text().equals("0")) {
setText("");
}
}
2014-04-29 10:54:20 +10:00
@Override
public void loseFocus() {
2014-04-29 10:54:20 +10:00
setText(Integer.toString(NEIClientConfig.getItemQuantity()));
}
@Override
public void onTextChange(String oldText) {
NEIClientUtils.setItemQuantity(intValue());
2014-04-29 10:54:20 +10:00
}
@Override
public void draw(int mousex, int mousey) {
if (!focused() && intValue() == 0) {
field.setText(translate("itempanel.quantity.default"));
field.setCursorPositionZero();
field.setEnabled(false);
super.draw(mousex, mousey);
field.setEnabled(true);
field.setText("0");
} else {
super.draw(mousex, mousey);
}
}
2023-09-24 19:18:11 +08:00
@Override
public boolean onMouseWheel(int i, int mx, int my) {
if (!contains(mx, my)) return false;
int multiplier = 1;
if (NEIClientUtils.shiftKey()) {
multiplier = 10;
} else if (NEIClientUtils.controlKey()) {
multiplier = 64;
}
int quantity = intValue() + i * multiplier;
setText(Integer.toString(quantity));
return true;
}
2014-04-29 10:54:20 +10:00
}