style changes in post

This commit is contained in:
Manuel Simon Hirsig
2016-02-02 19:32:43 +01:00
parent d7af47d1b2
commit 64eac2af58
7 changed files with 171 additions and 218 deletions
+7 -7
View File
@@ -276,14 +276,14 @@ local methods = {
elseif sortKey == 'unit_bid_price' or sortKey == 'bid_price' then
aVal = self.GetRowPrices(aVal, sortKey == 'unit_bid_price')
bVal = self.GetRowPrices(bVal, sortKey == 'unit_bid_price')
elseif sortKey == 'buyout_price' or sortKey == 'buyout' then
aVal = ({ self.GetRowPrices(aVal, sortKey == 'buyout_price') })[2]
bVal = ({ self.GetRowPrices(bVal, sortKey == 'buyout_price') })[2]
elseif sortKey == 'unit_buyout_price' or sortKey == 'buyout_price' then
aVal = ({ self.GetRowPrices(aVal, sortKey == 'unit_buyout_price') })[2]
bVal = ({ self.GetRowPrices(bVal, sortKey == 'unit_buyout_price') })[2]
else
aVal = aVal[sortKey]
bVal = bVal[sortKey]
end
if sortKey == 'buyout' or sortKey == 'buyout_price' then
if sortKey == 'buyout_price' or sortKey == 'unit_buyout_price' then
-- for buyout, put bid-only auctions at the bottom
if not aVal or aVal == 0 then
aVal = (self.sortInfo.descending and -1 or 1) * Aux.huge
@@ -306,12 +306,12 @@ local methods = {
if aVal == bVal then
if sortKey == 'percent' then
-- sort by buyout
sortKey = aux_price_per_unit and 'buyout_price' or 'buyout'
sortKey = aux_price_per_unit and 'unit_buyout_price' or 'buyout_price'
local result = SortHelperFunc(a, b, sortKey)
if result ~= nil then
return result
end
elseif sortKey == 'buyout' or sortKey == 'buyout_price' then
elseif sortKey == 'buyout_price' or sortKey == 'unit_buyout_price' then
-- sort by bid
sortKey = aux_price_per_unit and 'unit_bid_price' or 'bid_price'
local result = SortHelperFunc(a, b, sortKey)
@@ -535,7 +535,7 @@ local methods = {
SetSort = function(rt, sortIndex)
local sortIndexLookup
if aux_price_per_unit then
sortIndexLookup = {'name', 'level', 'numAuctions', 'aux_quantity', 'duration', 'owner', 'unit_bid_price', 'buyout_price', 'percent'}
sortIndexLookup = {'name', 'level', 'numAuctions', 'aux_quantity', 'duration', 'owner', 'unit_bid_price', 'unit_buyout_price', 'percent'}
else
sortIndexLookup = {'name', 'level', 'numAuctions', 'aux_quantity', 'duration', 'owner', 'bid_price', 'buyout_price', 'percent'}
end
+2 -2
View File
@@ -117,8 +117,8 @@ function public.on_load()
do
local status_bar = Aux.gui.status_bar(AuxAuctionsFrame)
status_bar:SetWidth(265)
status_bar:SetHeight(30)
status_bar:SetPoint('BOTTOMLEFT', AuxAuctionsFrame, 'BOTTOMLEFT', 6, 6)
status_bar:SetHeight(25)
status_bar:SetPoint('TOPLEFT', AuxFrameContent, 'BOTTOMLEFT', 0, -6)
status_bar:update_status(100, 0)
status_bar:set_text('')
private.status_bar = status_bar
+2 -2
View File
@@ -123,8 +123,8 @@ function public.on_load()
do
local status_bar = Aux.gui.status_bar(AuxBidsFrame)
status_bar:SetWidth(265)
status_bar:SetHeight(30)
status_bar:SetPoint('BOTTOMLEFT', AuxBidsFrame, 'BOTTOMLEFT', 6, 6)
status_bar:SetHeight(25)
status_bar:SetPoint('TOPLEFT', AuxFrameContent, 'BOTTOMLEFT', 0, -6)
status_bar:update_status(100, 0)
status_bar:set_text('')
private.status_bar = status_bar
+9 -3
View File
@@ -142,9 +142,15 @@ local methods = {
st:RefreshRows()
end,
SetSelection = function(st, rowNum)
st.selected = rowNum
st:RefreshRows()
SetSelection = function(st, predicate)
st:ClearSelection()
for i, rowDatum in st.rowData do
if predicate(rowDatum) then
st.selected = i
st:RefreshRows()
break
end
end
end,
GetSelection = function(st)
+72 -144
View File
@@ -13,7 +13,19 @@ function private.update_inventory_listing()
return
end
Aux.sheet.populate(private.listings.inventory, Aux.util.filter(inventory_data, function(item) return item.aux_quantity > 0 end))
local inventory_rows = {}
for i, inventory_record in ipairs(Aux.util.filter(inventory_data, function(record) return record.aux_quantity > 0 end)) do
tinsert(inventory_rows, {
cols = {
{ value=inventory_record.aux_quantity },
{ value='|c'..Aux.quality_color(inventory_record.quality)..'['..inventory_record.name..']'..'|r' }
},
record = inventory_record,
itemstring = Aux.info.itemstring(inventory_record.item_id, inventory_record.suffix_id),
})
end
private.inventory_listing:SetData(inventory_rows)
private.inventory_listing:SetSelection(function(row) return row.record == selected_item end)
end
function private.update_auction_listing()
@@ -21,7 +33,33 @@ function private.update_auction_listing()
return
end
Aux.sheet.populate(private.listings.auctions, selected_item and existing_auctions[selected_item.key] or {})
local auction_rows = {}
for i, auction_record in ipairs(selected_item and existing_auctions[selected_item.key] or {}) do
local left
if auction_record.max_time_left == 1 then
left = '30m'
elseif auction_record.max_time_left == 2 then
left = '2h'
elseif auction_record.max_time_left == 3 then
left = '8h'
elseif auction_record.max_time_left == 4 then
left = '24h'
end
local stack_size = auction_record.stack_size == private.get_stack_size_slider_value() and GREEN_FONT_COLOR_CODE..row.stack_size..FONT_COLOR_CODE_CLOSE or auction_record.stack_size
tinsert(auction_rows, {
cols = {
{ value=auction_record.count },
{ value=auction_record.yours },
{ value=left },
{ value=stack_size },
{ value=Aux.util.money_string(auction_record.unit_buyout_price) },
{ value=auction_record.stack_size },
},
record = auction_record,
})
end
private.auction_listing:SetData(auction_rows)
private.auction_listing:SetSelection(function(row) return row.record == private.selected_auction() end)
end
function private.selected_auction()
@@ -29,156 +67,48 @@ function private.selected_auction()
end
function public.on_load()
private.inventory_listing_config = {
frame = AuxSellInventoryListing,
on_row_click = function(sheet, row_index)
local data_index = row_index + FauxScrollFrame_GetOffset(sheet.scroll_frame)
private.set_item(sheet.data[data_index])
end,
on_row_enter = function(sheet, row_index)
Aux.info.set_tooltip(sheet.rows[row_index].itemstring, nil, this, 'ANCHOR_LEFT', 0, 0)
end,
on_row_leave = function(sheet, row_index)
AuxTooltip:Hide()
end,
selected = function(datum)
return datum == selected_item
end,
row_setter = function(row, datum)
row.itemstring = Aux.info.itemstring(datum.item_id, datum.suffix_id)
end,
columns = {
{
title = 'Qty',
width = 25,
comparator = function(datum1, datum2) return Aux.sort.compare(datum1.aux_quantity, datum2.aux_quantity, Aux.sort.LT) end,
cell_initializer = Aux.sheet.default_cell_initializer('RIGHT'),
cell_setter = function(cell, datum)
cell.text:SetText(datum.aux_quantity)
end,
},
{
title = 'Item',
width = 186,
comparator = function(row1, row2) return Aux.sort.compare(row1.name, row2.name, Aux.sort.GT) end,
cell_initializer = function(cell)
local icon = CreateFrame('Button', nil, cell)
icon:EnableMouse(false)
local icon_texture = icon:CreateTexture(nil, 'BORDER')
icon_texture:SetAllPoints(icon)
icon.icon_texture = icon_texture
local normal_texture = icon:CreateTexture(nil)
normal_texture:SetPoint('CENTER', 0, 0)
normal_texture:SetWidth(22)
normal_texture:SetHeight(22)
normal_texture:SetTexture('Interface\\Buttons\\UI-Quickslot2')
icon:SetNormalTexture(normal_texture)
icon:SetPoint('LEFT', cell)
icon:SetWidth(12)
icon:SetHeight(12)
local text = cell:CreateFontString(nil, 'OVERLAY', 'GameFontHighlightSmall')
text:SetPoint('LEFT', icon, 'RIGHT', 1, 0)
text:SetPoint('TOPRIGHT', cell)
text:SetPoint('BOTTOMRIGHT', cell)
text:SetJustifyV('TOP')
text:SetJustifyH('LEFT')
text:SetTextColor(0.8, 0.8, 0.8)
cell.text = text
cell.icon = icon
end,
cell_setter = function(cell, datum)
cell.icon.icon_texture:SetTexture(datum.texture)
cell.text:SetText('['..datum.name..']')
local color = ITEM_QUALITY_COLORS[datum.quality]
cell.text:SetTextColor(color.r, color.g, color.b)
end,
},
},
sort_order = {{column = 2, order = 'ascending' }},
}
private.auction_listing_config = {
frame = AuxSellAuctionsListing,
on_row_click = function (sheet, row_index, column_index)
local data_index = row_index + FauxScrollFrame_GetOffset(sheet.scroll_frame)
private.set_auction(sheet.data[data_index])
end,
selected = function(datum)
return datum == private.selected_auction()
end,
columns = {
{
title = 'Avail',
width = 40,
comparator = function(row1, row2) return Aux.sort.compare(row1.count, row2.count, Aux.sort.LT) end,
cell_initializer = Aux.sheet.default_cell_initializer('RIGHT'),
cell_setter = function(cell, row)
cell.text:SetText(row.count)
end,
},
{
title = 'Yours',
width = 40,
comparator = function(row1, row2) return Aux.sort.compare(row1.yours, row2.yours, Aux.sort.LT) end,
cell_initializer = Aux.sheet.default_cell_initializer('RIGHT'),
cell_setter = function(cell, row)
cell.text:SetText(row.yours)
end,
},
{
title = 'Max Left',
width = 55,
comparator = function(row1, row2) return Aux.sort.compare(row1.max_time_left, row2.max_time_left, Aux.sort.GT) end,
cell_initializer = Aux.sheet.default_cell_initializer('CENTER'),
cell_setter = function(cell, datum)
local text
if datum.max_time_left == 1 then
text = '30m'
elseif datum.max_time_left == 2 then
text = '2h'
elseif datum.max_time_left == 3 then
text = '8h'
elseif datum.max_time_left == 4 then
text = '24h'
end
cell.text:SetText(text)
end,
},
{
title = 'Qty',
width = 25,
comparator = function(row1, row2) return Aux.sort.compare(row1.stack_size, row2.stack_size, Aux.sort.LT) end,
cell_initializer = Aux.sheet.default_cell_initializer('RIGHT'),
cell_setter = function(cell, row)
cell.text:SetText(row.stack_size == private.get_stack_size_slider_value() and GREEN_FONT_COLOR_CODE..row.stack_size..FONT_COLOR_CODE_CLOSE or row.stack_size)
end,
},
{
title = 'Buy/ea',
width = 80,
comparator = function(row1, row2) return Aux.sort.compare(row1.unit_buyout_price, row2.unit_buyout_price, Aux.sort.GT) end,
cell_initializer = Aux.sheet.default_cell_initializer('RIGHT'),
cell_setter = function(cell, row)
cell.text:SetText(Aux.util.money_string(row.unit_buyout_price))
end,
},
Aux.listing_util.percentage_market_column(function(entry) return entry.item_key end, function(entry) return entry.unit_buyout_price end),
},
sort_order = {{column = 5, order = 'ascending' }},
}
private.listings = {
inventory = Aux.sheet.create(private.inventory_listing_config),
auctions = Aux.sheet.create(private.auction_listing_config),
}
private.inventory_listing = Aux.listing.CreateScrollingTable(AuxSellInventory)
private.inventory_listing:SetColInfo({
{name='Qty', width=.15, align='RIGHT'},
{name='Item', width=.85 }
})
private.inventory_listing:SetHandler('OnClick', function(table, row_data, column)
private.set_item(row_data.record)
end)
private.inventory_listing:SetHandler('OnEnter', function(table, row_data, column)
Aux.info.set_tooltip(row_data.itemstring, nil, column.row, 'ANCHOR_LEFT', 0, 0)
end)
private.inventory_listing:SetHandler('OnLeave', function()
AuxTooltip:Hide()
end)
private.auction_listing = Aux.listing.CreateScrollingTable(AuxSellAuctions)
private.auction_listing:SetColInfo({
{ name='Avail', width=.1, align='RIGHT' },
{ name='Yours', width=.1, align='RIGHT' },
{ name='Max Left', width=.2, align='CENTER' },
{ name='Qty', width=.2, align='RIGHT' },
{ name='Buy/ea', width=.2, align='RIGHT' },
{ name='Pct', width=.2, align='RIGHT' }
})
private.auction_listing:SetHandler('OnClick', function(table, row_data, column)
private.set_auction(row_data.record)
end)
-- private.auction_listing:SetHandler('OnEnter', handlers.OnEnter)
-- private.auction_listing:SetHandler('OnLeave', handlers.OnLeave)
do
local status_bar = Aux.gui.status_bar(AuxPostFrame)
status_bar:SetWidth(265)
status_bar:SetHeight(30)
status_bar:SetPoint('BOTTOMLEFT', AuxPostFrame, 'BOTTOMLEFT', 6, 6)
status_bar:SetHeight(25)
status_bar:SetPoint('TOPLEFT', AuxFrameContent, 'BOTTOMLEFT', 0, -6)
status_bar:update_status(100, 0)
status_bar:set_text('')
private.status_bar = status_bar
@@ -340,8 +270,6 @@ end
function public.on_open()
private.deposit:SetText('Deposit: '..Aux.money.to_string(0))
AuxSellInventory:SetWidth(AuxSellInventoryListing:GetWidth() + 40)
AuxSellAuctions:SetWidth(AuxSellAuctionsListing:GetWidth() + 40)
-- UIDropDownMenu_SetSelectedValue(AuxSellParametersStrategyDropDown, LIVE)
private.set_auction_duration(aux_auction_duration)
+78 -59
View File
@@ -16,70 +16,89 @@
<Anchor point="BOTTOMRIGHT"><Offset><AbsDimension x="0" y="0"/></Offset></Anchor>
</Anchors>
<Frames>
<Frame name="AuxSellInventory" inherits="AuxFrameBoxTemplate">
<Size><AbsDimension x="260" y="326"/></Size>
<Anchors><Anchor point="TOPLEFT"><Offset><AbsDimension x="5" y="-35"/></Offset></Anchor></Anchors>
<Frame name="$parentContent" inherits="AuxFrameBoxTemplate">
<Anchors>
<Anchor point="TOP" relativeTo="AuxFrame"><Offset><AbsDimension x="0" y="-8"/></Offset></Anchor>
<Anchor point="BOTTOMLEFT" relativeTo="AuxFrameContent"></Anchor>
<Anchor point="BOTTOMRIGHT" relativeTo="AuxFrameContent"></Anchor>
</Anchors>
<Frames>
<Frame name="$parentListing">
<Frame name="AuxSellInventory" inherits="AuxFrameBoxTemplate">
<Size><AbsDimension x="200"/></Size>
<Anchors>
<Anchor point="TOPLEFT"><Offset><AbsDimension x="0" y="0"/></Offset></Anchor>
<Anchor point="BOTTOM"><Offset><AbsDimension x="0" y="0"/></Offset></Anchor>
<Anchor point="TOPLEFT"><Offset><AbsDimension x="4" y="-4"/></Offset></Anchor>
<Anchor point="BOTTOMLEFT"><Offset><AbsDimension x="4" y="4"/></Offset></Anchor>
</Anchors>
<Frames>
<Frame name="$parentListing" hidden="true">
<Anchors>
<Anchor point="TOPLEFT"><Offset><AbsDimension x="0" y="0"/></Offset></Anchor>
<Anchor point="BOTTOM"><Offset><AbsDimension x="0" y="0"/></Offset></Anchor>
</Anchors>
</Frame>
</Frames>
</Frame>
</Frames>
</Frame>
<frame name="AuxSellParameters" inherits="AuxFrameBoxTemplate">
<Size><AbsDimension x="213" y="326"/></Size>
<Anchors><Anchor point="TOPLEFT" relativePoint="TOPRIGHT" relativeTo="AuxSellInventory"><Offset><AbsDimension x="3" y="0"/></Offset></Anchor></Anchors>
<frames>
<Frame name="$parentItem" inherits="AuxItemTemplate">
<Anchors><Anchor point="TOPLEFT"><Offset><AbsDimension x="10" y="-10"/></Offset></Anchor></Anchors>
<frame name="AuxSellParameters" inherits="AuxFrameBoxTemplate">
<Size><AbsDimension x="213" y="326"/></Size>
<Anchors>
<Anchor point="TOPLEFT" relativePoint="TOPRIGHT" relativeTo="AuxSellInventory"><Offset><AbsDimension x="5" y="0"/></Offset></Anchor>
<Anchor point="BOTTOMLEFT" relativePoint="BOTTOMRIGHT" relativeTo="AuxSellInventory"><Offset><AbsDimension x="5" y="0"/></Offset></Anchor>
</Anchors>
<frames>
<Frame name="$parentItem" inherits="AuxItemTemplate">
<Anchors><Anchor point="TOPLEFT"><Offset><AbsDimension x="10" y="-10"/></Offset></Anchor></Anchors>
</Frame>
<CheckButton name="$parentShortDurationRadio" inherits="AuxRadioButtonTemplate">
<Anchors><Anchor point="TOPLEFT"><Offset><AbsDimension x="14" y="-170"/></Offset></Anchor></Anchors>
<Scripts>
<OnLoad>
getglobal(this:GetName().."Text"):SetText("2h")
</OnLoad>
<OnClick>
Aux.post_frame.duration_radio_button_on_click(1)
</OnClick>
</Scripts>
</CheckButton>
<CheckButton name="$parentMediumDurationRadio" inherits="AuxRadioButtonTemplate">
<Anchors><Anchor point="LEFT" relativeTo="$parentShortDurationRadio" relativePoint="RIGHT"><Offset><AbsDimension x="30" y="0"/></Offset></Anchor></Anchors>
<Scripts>
<OnLoad>
getglobal(this:GetName()..'Text'):SetText("8h")
</OnLoad>
<OnClick>
Aux.post_frame.duration_radio_button_on_click(2)
</OnClick>
</Scripts>
</CheckButton>
<CheckButton name="$parentLongDurationRadio" inherits="AuxRadioButtonTemplate">
<Anchors><Anchor point="LEFT" relativeTo="$parentMediumDurationRadio" relativePoint="RIGHT"><Offset><AbsDimension x="30" y="0"/></Offset></Anchor></Anchors>
<Scripts>
<OnLoad>
getglobal(this:GetName().."Text"):SetText("24h")
</OnLoad>
<OnClick>
Aux.post_frame.duration_radio_button_on_click(3)
</OnClick>
</Scripts>
</CheckButton>
</frames>
</frame>
<Frame name="AuxSellAuctions" inherits="AuxFrameBoxTemplate">
<Size><AbsDimension y="326"/></Size>
<Anchors>
<Anchor point="TOPLEFT" relativePoint="TOPRIGHT" relativeTo="AuxSellParameters"><Offset><AbsDimension x="5" y="0"/></Offset></Anchor>
<Anchor point="BOTTOMLEFT" relativePoint="BOTTOMRIGHT" relativeTo="AuxSellParameters"><Offset><AbsDimension x="5" y="0"/></Offset></Anchor>
<Anchor point="RIGHT"><Offset><AbsDimension x="-4" y="0"/></Offset></Anchor>
</Anchors>
<Frames>
<Frame name="$parentListing" hidden="true">
<Anchors>
<Anchor point="TOPLEFT"><Offset><AbsDimension x="0" y="0"/></Offset></Anchor>
<Anchor point="BOTTOM"><Offset><AbsDimension x="0" y="0"/></Offset></Anchor>
</Anchors>
</Frame>
</Frames>
</Frame>
<CheckButton name="$parentShortDurationRadio" inherits="AuxRadioButtonTemplate">
<Anchors><Anchor point="TOPLEFT"><Offset><AbsDimension x="14" y="-170"/></Offset></Anchor></Anchors>
<Scripts>
<OnLoad>
getglobal(this:GetName().."Text"):SetText("2h")
</OnLoad>
<OnClick>
Aux.post_frame.duration_radio_button_on_click(1)
</OnClick>
</Scripts>
</CheckButton>
<CheckButton name="$parentMediumDurationRadio" inherits="AuxRadioButtonTemplate">
<Anchors><Anchor point="LEFT" relativeTo="$parentShortDurationRadio" relativePoint="RIGHT"><Offset><AbsDimension x="30" y="0"/></Offset></Anchor></Anchors>
<Scripts>
<OnLoad>
getglobal(this:GetName()..'Text'):SetText("8h")
</OnLoad>
<OnClick>
Aux.post_frame.duration_radio_button_on_click(2)
</OnClick>
</Scripts>
</CheckButton>
<CheckButton name="$parentLongDurationRadio" inherits="AuxRadioButtonTemplate">
<Anchors><Anchor point="LEFT" relativeTo="$parentMediumDurationRadio" relativePoint="RIGHT"><Offset><AbsDimension x="30" y="0"/></Offset></Anchor></Anchors>
<Scripts>
<OnLoad>
getglobal(this:GetName().."Text"):SetText("24h")
</OnLoad>
<OnClick>
Aux.post_frame.duration_radio_button_on_click(3)
</OnClick>
</Scripts>
</CheckButton>
</frames>
</frame>
<Frame name="AuxSellAuctions" inherits="AuxFrameBoxTemplate">
<Size><AbsDimension x="361" y="326"/></Size>
<Anchors><Anchor point="TOPLEFT" relativePoint="TOPRIGHT" relativeTo="AuxSellParameters"><Offset><AbsDimension x="3" y="0"/></Offset></Anchor></Anchors>
<Frames>
<Frame name="$parentListing">
<Anchors>
<Anchor point="TOPLEFT"><Offset><AbsDimension x="0" y="0"/></Offset></Anchor>
<Anchor point="BOTTOM"><Offset><AbsDimension x="0" y="0"/></Offset></Anchor>
</Anchors>
</Frame>
</Frames>
</Frame>
</Frames>
+1 -1
View File
@@ -255,7 +255,7 @@ function public.on_load()
local status_bar = Aux.gui.status_bar(AuxFilterSearchFrame)
status_bar:SetWidth(265)
status_bar:SetHeight(25)
status_bar:SetPoint('TOPLEFT', AuxFilterSearchFrameResults, 'BOTTOMLEFT', 0, -3)
status_bar:SetPoint('TOPLEFT', AuxFrameContent, 'BOTTOMLEFT', 0, -6)
status_bar:update_status(100, 0)
status_bar:set_text('')
private.status_bar = status_bar