Use TextInputPanel

This commit is contained in:
DBotThePony 2023-03-07 21:04:33 +07:00
parent c91124d25c
commit 27c7ef7b50
Signed by: DBot
GPG Key ID: DCC23B5715498507

View File

@ -17,6 +17,7 @@ import ru.dbotthepony.mc.otm.client.screen.panels.button.DeviceControls
import ru.dbotthepony.mc.otm.client.screen.panels.button.LargeBooleanRectangleButtonPanel
import ru.dbotthepony.mc.otm.client.screen.panels.button.LargeEnumRectangleButtonPanel
import ru.dbotthepony.mc.otm.client.screen.panels.input.EditBoxPanel
import ru.dbotthepony.mc.otm.client.screen.panels.input.TextInputPanel
import ru.dbotthepony.mc.otm.client.screen.panels.slot.AbstractSlotPanel
import ru.dbotthepony.mc.otm.client.screen.panels.util.DiscreteScrollBarPanel
import ru.dbotthepony.mc.otm.client.screen.panels.util.ScrollBarConstants
@ -261,40 +262,32 @@ class MatterPanelScreen(
var count = 1
val input = object : EditBoxPanel<MatterPanelScreen>(this@MatterPanelScreen, rowInput) {
val input = object : TextInputPanel<MatterPanelScreen>(this@MatterPanelScreen, rowInput) {
init {
dock = Dock.FILL
text = "1"
requestFocus()
}
override fun configureNew(widget: EditBox, recreation: Boolean) {
super.configureNew(widget, recreation)
widget.setMaxLength(6)
if (!recreation) {
widget.value = "1"
}
}
fun increase(amount: Int) {
count = 1
try {
count = getOrCreateWidget().value.toInt().coerceIn(1, 99999)
count = text.toInt().coerceIn(1, 99999)
} catch (_: NumberFormatException) {
}
if (count == 1 && amount > 0)
getOrCreateWidget().value = amount.toString()
text = amount.toString()
else
getOrCreateWidget().value = (count + amount).coerceIn(1, 99999).toString()
text = (count + amount).coerceIn(1, 99999).toString()
}
override fun tickInner() {
super.tickInner()
try {
count = getOrCreateWidget().value.toInt().coerceIn(1, 99999)
count = text.toInt().coerceIn(1, 99999)
} catch (_: NumberFormatException) {
}
}
@ -303,7 +296,7 @@ class MatterPanelScreen(
count = 1
try {
count = getOrCreateWidget().value.toInt().coerceIn(1, 99999)
count = text.toInt().coerceIn(1, 99999)
} catch (_: NumberFormatException) {
}