From 469df27d9bbaa7f652506ce84921cd63adab88b4 Mon Sep 17 00:00:00 2001 From: BeniS Date: Fri, 1 Feb 2013 14:21:20 +1300 Subject: [PATCH] Implement #261 --- modules/corelib/ui/uispinbox.lua | 16 ++++++++++++---- modules/game_interface/gameinterface.lua | 12 ++++++++++++ 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/modules/corelib/ui/uispinbox.lua b/modules/corelib/ui/uispinbox.lua index 7f410aac..eab838e6 100644 --- a/modules/corelib/ui/uispinbox.lua +++ b/modules/corelib/ui/uispinbox.lua @@ -118,6 +118,10 @@ function UISpinBox:setValue(value) signalcall(self.onValueChange, self, value) end +function UISpinBox:getValue() + return self.value +end + function UISpinBox:setMinimum(minimum) minimum = minimum or -9223372036854775808 self.minimum = minimum @@ -129,6 +133,10 @@ function UISpinBox:setMinimum(minimum) end end +function UISpinBox:getMinimum() + return self.minimum +end + function UISpinBox:setMaximum(maximum) maximum = maximum or 9223372036854775807 self.maximum = maximum @@ -137,10 +145,10 @@ function UISpinBox:setMaximum(maximum) end end -function UISpinBox:setStep(step) - self.step = step or 1 +function UISpinBox:getMaximum() + return self.maximum end -function UISpinBox:getValue() - return self.value +function UISpinBox:setStep(step) + self.step = step or 1 end diff --git a/modules/game_interface/gameinterface.lua b/modules/game_interface/gameinterface.lua index b8c1243a..8e80c566 100644 --- a/modules/game_interface/gameinterface.lua +++ b/modules/game_interface/gameinterface.lua @@ -591,12 +591,24 @@ function moveStackableItem(item, toPos) spinbox:setValue(0) spinbox:hideButtons() spinbox:focus() + spinbox.firstEdit = true local spinBoxValueChange = function(self, value) scrollbar:setValue(value) end spinbox.onValueChange = spinBoxValueChange + local check = function() + if spinbox.firstEdit then + spinbox:setValue(spinbox:getMaximum()) + spinbox.firstEdit = false + end + end + g_keyboard.bindKeyPress("Up", function() check() spinbox:up() end, spinbox) + g_keyboard.bindKeyPress("Down", function() check() spinbox:down() end, spinbox) + g_keyboard.bindKeyPress("PageUp", function() check() spinbox:setValue(spinbox:getValue()+10) end, spinbox) + g_keyboard.bindKeyPress("PageDown", function() check() spinbox:setValue(spinbox:getValue()-10) end, spinbox) + scrollbar.onValueChange = function(self, value) itembox:setItemCount(value) spinbox.onValueChange = nil