Market fix, and a few other things:

* Added 'button' param to g_mouse.bindPress
* Added 'lower' param to table.contains
* UIComboBox:onOptionChange should signalcall?
* Changed the experience bar color
* Market buy/sell 'amount' window will now show the cost
  of the amount you are selecting
This commit is contained in:
BeniS
2013-02-13 05:14:16 +13:00
parent 8f9055f48b
commit cb42481edd
10 changed files with 65 additions and 52 deletions

View File

@@ -408,34 +408,40 @@ local function openAmountWindow(callback, type, actionText)
end
amountWindow = g_ui.createWidget('AmountWindow', rootWidget)
amountWindow:lock()
local max = selectedOffer[type]:getAmount()
local item = selectedOffer[type]:getItem()
local max = selectedOffer[type]:getAmount(item:getId())
if type == MarketAction.Sell then
local depot = Market.depotContains(selectedOffer[type]:getItem():getId())
local depot = Market.depotContains()
if max > depot then
max = depot
end
end
local spinbox = amountWindow:getChildById('amountSpinBox')
spinbox:setMaximum(max)
spinbox:setMinimum(1)
spinbox:setValue(1)
local itembox = amountWindow:getChildById('item')
itembox:setItemId(item:getId())
itembox:setText(1)
local scrollbar = amountWindow:getChildById('amountScrollBar')
scrollbar:setText(tostring(selectedOffer[type]:getPrice())..'gp')
scrollbar:setMaximum(max)
scrollbar:setMinimum(1)
scrollbar:setValue(1)
scrollbar.onValueChange = function(self, value) spinbox:setValue(value) end
spinbox.onValueChange = function(self, value) scrollbar:setValue(value) end
scrollbar.onValueChange = function(widget, value)
widget:setText(tostring(value*selectedOffer[type]:getPrice())..'gp')
itembox:setText(tostring(value))
end
local okButton = amountWindow:getChildById('buttonOk')
if actionText ~= '' then okButton:setText(actionText) end
if actionText ~= '' then
okButton:setText(actionText)
end
local okFunc = function()
local counter = selectedOffer[type]:getCounter()
local timestamp = selectedOffer[type]:getTimeStamp()
callback(spinbox:getValue(), timestamp, counter)
callback(scrollbar:getValue(), timestamp, counter)
okButton:getParent():destroy()
amountWindow = nil
end

View File

@@ -1,39 +1,45 @@
AmountWindow < MainWindow
id: amountWindow
!text: tr('Amount')
size: 196 112
size: 196 80
Label
!text: tr('Amount:')
width: 64
Item
id: item
text-offset: 0 22
text-align: right
anchors.left: parent.left
anchors.top: parent.top
margin-top: 2
SpinBox
id: amountSpinBox
anchors.left: prev.right
anchors.right: parent.right
anchors.top: parent.top
margin-left: -4
focusable: false
virtual: true
HorizontalScrollBar
id: amountScrollBar
anchors.left: parent.left
anchors.left: prev.right
anchors.right: parent.right
anchors.top: prev.bottom
margin-top: 8
Button
id: buttonOk
!text: tr('Ok')
width: 64
anchors.right: next.left
anchors.bottom: parent.bottom
margin-right: 5
anchors.top: prev.top
margin-left: 10
margin-top: -2
focusable: false
Button
id: buttonCancel
!text: tr('Cancel')
width: 64
anchors.right: parent.right
anchors.bottom: parent.bottom
height: 20
anchors.left: amountScrollBar.horizontalCenter
anchors.right: amountScrollBar.right
anchors.top: amountScrollBar.bottom
margin-top: 7
focusable: false
Button
id: buttonOk
!text: tr('Ok')
height: 20
anchors.right: amountScrollBar.horizontalCenter
anchors.left: amountScrollBar.left
anchors.top: amountScrollBar.bottom
margin-top: 7
margin-right: 6
focusable: false

View File

@@ -176,7 +176,7 @@ Panel
margin-bottom: 6
@onSetup: self:setChecked(false)
height: 16
width: 70
width: 90
Label
id: feeLabel

View File

@@ -8,7 +8,8 @@ MarketItemBox < UICheckBox
Item
id: item
phantom: true
text-offset: 0 13
virtual: true
text-offset: 0 22
text-align: right
anchors.top: parent.top
anchors.horizontalCenter: parent.horizontalCenter