From 40753f2ac53c38074108d4d8ceb8b30f508d521a Mon Sep 17 00:00:00 2001 From: Manuel Simon Hirsig Date: Sun, 21 Aug 2016 06:17:53 +0200 Subject: [PATCH] big refactoring --- components/cache.lua | 40 ++++---- components/disenchant.lua | 2 +- components/history.lua | 6 +- components/post.lua | 16 +-- components/scan.lua | 36 +++---- components/slash.lua | 6 +- components/stack.lua | 20 ++-- components/tooltip.lua | 40 ++++---- core.lua | 199 +++++++++++++++++++------------------ gui.lua | 12 +-- init.lua | 50 ++++------ module.lua | 43 ++++---- tables/auction_listing.lua | 164 +++++++++++++++--------------- tables/item_listing.lua | 6 +- tables/listing.lua | 14 +-- tabs/auctions/core.lua | 96 ++++++++---------- tabs/auctions/frames.lua | 20 ++-- tabs/bids/core.lua | 111 ++++++++++----------- tabs/bids/frames.lua | 22 ++-- tabs/post/core.lua | 114 ++++++++++----------- tabs/post/frames.lua | 96 +++++++++--------- tabs/search/core.lua | 2 +- tabs/search/filter.lua | 26 ++--- tabs/search/frames.lua | 164 +++++++++++++++--------------- tabs/search/results.lua | 34 +++---- util/completion.lua | 2 +- util/core.lua | 22 ++-- util/filter.lua | 66 ++++++------ util/info.lua | 12 +-- util/persistence.lua | 2 +- util/scan_util.lua | 8 +- 31 files changed, 709 insertions(+), 742 deletions(-) diff --git a/components/cache.lua b/components/cache.lua index 4672e31..239b102 100644 --- a/components/cache.lua +++ b/components/cache.lua @@ -16,17 +16,17 @@ g.aux_characters = {} function LOAD() scan_wdb() - aux.control.event_listener('MERCHANT_SHOW', on_merchant_show) - aux.control.event_listener('MERCHANT_CLOSED', on_merchant_closed) - aux.control.event_listener('MERCHANT_UPDATE', on_merchant_update) - aux.control.event_listener('BAG_UPDATE', on_bag_update) + control.event_listener('MERCHANT_SHOW', on_merchant_show) + control.event_listener('MERCHANT_CLOSED', on_merchant_closed) + control.event_listener('MERCHANT_UPDATE', on_merchant_update) + control.event_listener('BAG_UPDATE', on_bag_update) CreateFrame('Frame', nil, MerchantFrame):SetScript('OnUpdate', merchant_on_update) - aux.control.event_listener('NEW_AUCTION_UPDATE', function() - for _, info in {aux.info.auction_sell_item()} do - for _, item_id in {aux.cache.item_id(info.name)} do - g.aux_merchant_sell[aux.cache.item_id(info.name)] = info.vendor_price / (aux.info.max_item_charges(item_id) or info.count) + control.event_listener('NEW_AUCTION_UPDATE', function() + for _, info in {info.auction_sell_item()} do + for _, item_id in {cache.item_id(info.name)} do + g.aux_merchant_sell[cache.item_id(info.name)] = info.vendor_price / (info.max_item_charges(item_id) or info.count) end end end) @@ -79,7 +79,7 @@ end function public.merchant_info(item_id) local buy_info if g.aux_merchant_buy[item_id] then - buy_info = aux.persistence.read(merchant_buy_schema, g.aux_merchant_buy[item_id]) + buy_info = persistence.read(merchant_buy_schema, g.aux_merchant_buy[item_id]) end return g.aux_merchant_sell[item_id], buy_info and buy_info.unit_price, buy_info and buy_info.limited @@ -88,7 +88,7 @@ end function public.item_info(item_id) local data_string = g.aux_items[item_id] if data_string then - local cached_data = aux.persistence.read(items_schema, data_string) + local cached_data = persistence.read(items_schema, data_string) return { name = cached_data.name, itemstring = 'item:'..item_id..':0:0:0', @@ -114,10 +114,10 @@ function merchant_buy_scan() local _, _, price, count, stock = GetMerchantItemInfo(i) local link = GetMerchantItemLink(i) if link then - local item_id = aux.info.parse_link(link) + local item_id = info.parse_link(link) local new_unit_price, new_limited = price / count, stock >= 0 if g.aux_merchant_buy[item_id] then - local buy_info = aux.persistence.read(merchant_buy_schema, g.aux_merchant_buy[item_id]) + local buy_info = persistence.read(merchant_buy_schema, g.aux_merchant_buy[item_id]) local unit_price if buy_info.limited and not new_limited then @@ -128,12 +128,12 @@ function merchant_buy_scan() unit_price = min(buy_info.unit_price, new_unit_price) end - g.aux_merchant_buy[item_id] = aux.persistence.write(merchant_buy_schema, { + g.aux_merchant_buy[item_id] = persistence.write(merchant_buy_schema, { unit_price = unit_price, limited = buy_info.limited and new_limited, }) else - g.aux_merchant_buy[item_id] = aux.persistence.write(merchant_buy_schema, { + g.aux_merchant_buy[item_id] = persistence.write(merchant_buy_schema, { unit_price = new_unit_price, limited = new_limited, }) @@ -148,7 +148,7 @@ end function merchant_sell_scan() for slot in inventory do - local item_info = aux.info.container_item(unpack(slot)) + local item_info = info.container_item(unpack(slot)) if item_info then g.aux_merchant_sell[item_info.item_id] = item_info.tooltip_money / item_info.aux_quantity end @@ -164,7 +164,7 @@ function scan_wdb(item_id) local name, _, quality, level, class, subclass, max_stack, slot, texture = GetItemInfo(itemstring) if name and not g.aux_item_ids[strlower(name)] then g.aux_item_ids[strlower(name)] = item_id - g.aux_items[item_id] = aux.persistence.write(items_schema, { + g.aux_items[item_id] = persistence.write(items_schema, { name = name, quality = quality, level = level, @@ -174,8 +174,8 @@ function scan_wdb(item_id) max_stack = max_stack, texture = texture, }) - local tooltip = aux.info.tooltip(function(tt) tt:SetHyperlink(itemstring) end) - if aux.info.auctionable(tooltip, quality) then + local tooltip = info.tooltip(function(tt) tt:SetHyperlink(itemstring) end) + if info.auctionable(tooltip, quality) then tinsert(g.aux_auctionable_items, strlower(name)) end processed = processed + 1 @@ -185,7 +185,7 @@ function scan_wdb(item_id) if item_id <= MAX_ITEM_ID then local t0 = GetTime() - aux.control.thread(aux.control.when, function() return GetTime() - t0 > 0.1 end, scan_wdb, item_id) + control.thread(control.when, function() return GetTime() - t0 > 0.1 end, scan_wdb, item_id) else sort(g.aux_auctionable_items, function(a, b) return strlen(a) < strlen(b) or (strlen(a) == strlen(b) and a < b) end) end @@ -204,5 +204,5 @@ function public.populate_wdb(item_id) AuxTooltip:SetHyperlink('item:'..item_id) end - aux.control.thread(populate_wdb, item_id + 1) + control.thread(populate_wdb, item_id + 1) end \ No newline at end of file diff --git a/components/disenchant.lua b/components/disenchant.lua index 7c21b73..d3aac4f 100644 --- a/components/disenchant.lua +++ b/components/disenchant.lua @@ -73,7 +73,7 @@ end function public.value(slot, quality, level) local expectation for _, event in m.distribution(slot, quality, level) do - local value = aux.history.value(event.item_id..':'..0) + local value = history.value(event.item_id..':'..0) if not value then return else diff --git a/components/history.lua b/components/history.lua index ec6af1a..78bf8b5 100644 --- a/components/history.lua +++ b/components/history.lua @@ -14,7 +14,7 @@ function new_record() end function load_data() - local dataset = aux.persistence.load_dataset() + local dataset = persistence.load_dataset() dataset.history = dataset.history or {} return dataset.history end @@ -24,7 +24,7 @@ function read_record(item_key) local record if data[item_key] then - record = aux.persistence.read(history_schema, data[item_key]) + record = persistence.read(history_schema, data[item_key]) else record = m.new_record() end @@ -40,7 +40,7 @@ end function write_record(item_key, record) m.value_cache[item_key] = nil local data = m.load_data() - data[item_key] = aux.persistence.write(history_schema, record) + data[item_key] = persistence.write(history_schema, record) end function public.process_auction(auction_record) diff --git a/components/post.lua b/components/post.lua index c472cf7..5e2b668 100644 --- a/components/post.lua +++ b/components/post.lua @@ -8,7 +8,7 @@ function process() local stacking_complete local send_signal, signal_received = signal() - aux.control.when(signal_received, function() + control.when(signal_received, function() local slot = signal_received()[1] if slot then return m.post_auction(slot, m.process) @@ -17,15 +17,15 @@ function process() end end) - return aux.stack.start(m.state.item_key, m.state.stack_size, send_signal) + return stack.start(m.state.item_key, m.state.stack_size, send_signal) end return m.stop() end function post_auction(slot, k) - local item_info = aux.info.container_item(unpack(slot)) - if item_info.item_key == m.state.item_key and aux.info.auctionable(item_info.tooltip) and item_info.aux_quantity == m.state.stack_size then + local item_info = info.container_item(unpack(slot)) + if item_info.item_key == m.state.item_key and info.auctionable(item_info.tooltip) and item_info.aux_quantity == m.state.stack_size then ClearCursor() ClickAuctionSellItemButton() @@ -37,13 +37,13 @@ function post_auction(slot, k) StartAuction(max(1, round(m.state.unit_start_price * item_info.aux_quantity)), round(m.state.unit_buyout_price * item_info.aux_quantity), m.state.duration) local send_signal, signal_received = signal() - aux.control.when(signal_received, function() + control.when(signal_received, function() m.state.posted = m.state.posted + 1 return k() end) local posted - aux.control.event_listener('CHAT_MSG_SYSTEM', function(kill) + control.event_listener('CHAT_MSG_SYSTEM', function(kill) if arg1 == ERR_AUCTION_STARTED then send_signal() kill() @@ -56,7 +56,7 @@ end function public.stop() if m.state then - aux.control.kill_thread(m.state.thread_id) + control.kill_thread(m.state.thread_id) local callback = m.state.callback local posted = m.state.posted @@ -72,7 +72,7 @@ end function public.start(item_key, stack_size, duration, unit_start_price, unit_buyout_price, count, callback) m.stop() - local thread_id = aux.control.thread(m.process) + local thread_id = control.thread(m.process) m.state = { thread_id = thread_id, diff --git a/components/scan.lua b/components/scan.lua index f2dd1ed..a7fc8f8 100644 --- a/components/scan.lua +++ b/components/scan.lua @@ -9,7 +9,7 @@ do for _, old_state in {scan_states[params.type]} do abort(old_state.id) end - local thread_id = aux.control.thread(L(wait_for_callback, params.on_scan_start, scan)) + local thread_id = control.thread(L(wait_for_callback, params.on_scan_start, scan)) scan_states[params.type] = { id = thread_id, params = params, @@ -21,7 +21,7 @@ do local aborted = {} for type, state in scan_states do if not scan_id or state.id == scan_id then - aux.control.kill_thread(state.id) + control.kill_thread(state.id) scan_states[type] = nil tinsert(aborted, state) end @@ -38,7 +38,7 @@ do end function accessor.state() - local _, state = next(filter(scan_states, function(state) return state.id == aux.control.thread_id end)) + local _, state = next(filter(scan_states, function(state) return state.id == control.thread_id end)) return state end end @@ -66,7 +66,7 @@ function wait_for_callback(...) send_signal() end - return aux.control.when(signal_received, function() return k(unpack(signal_received())) end) + return control.when(signal_received, function() return k(unpack(signal_received())) end) end function total_pages(total_auctions) @@ -102,7 +102,7 @@ function process_query() end function submit_query() - aux.control.when(function() return state.params.type ~= 'list' or CanSendAuctionQuery() end, function() + control.when(function() return state.params.type ~= 'list' or CanSendAuctionQuery() end, function() call(state.params.on_submit_query) state.last_query_time = GetTime() if state.params.type == 'bidder' then @@ -144,20 +144,20 @@ function scan_page(i) end end - local auction_info = aux.info.auction(i, state.params.type) + local auction_info = info.auction(i, state.params.type) if auction_info and (auction_info.owner or state.params.ignore_owner or g.aux_ignore_owner) then auction_info.index = i auction_info.page = state.page auction_info.blizzard_query = query.blizzard_query auction_info.query_type = state.params.type - aux.history.process_auction(auction_info) + history.process_auction(auction_info) if call(state.params.auto_buy_validator, auction_info) then local send_signal, signal_received = signal() - aux.control.when(signal_received, recurse) - aux.place_bid(auction_info.query_type, auction_info.index, auction_info.buyout_price, L(send_signal, true)) - return aux.control.thread(aux.control.when, later(GetTime(), 10), L(send_signal, false)) + control.when(signal_received, recurse) + place_bid(auction_info.query_type, auction_info.index, auction_info.buyout_price, L(send_signal, true)) + return control.thread(control.when, later(GetTime(), 10), L(send_signal, false)) elseif not query.validator or query.validator(auction_info) then return wait_for_callback(state.params.on_auction, auction_info, function(removed) if removed then @@ -175,7 +175,7 @@ end function wait_for_results() local timeout = later(state.last_query_time, 10) local send_signal, signal_received = signal() - aux.control.when(signal_received, function() + control.when(signal_received, function() if timeout() then return submit_query() else @@ -190,10 +190,10 @@ function wait_for_results() end end) - aux.control.thread(aux.control.when, timeout, send_signal) + control.thread(control.when, timeout, send_signal) if state.params.type == 'bidder' then - return aux.control.thread(aux.control.when, function() return aux.bids_loaded end, send_signal) + return control.thread(control.when, function() return bids_loaded end, send_signal) elseif state.params.type == 'owner' then return wait_for_owner_results(send_signal) elseif state.params.type == 'list' then @@ -202,22 +202,22 @@ function wait_for_results() end function wait_for_owner_results(send_signal) - if state.page == aux.current_owner_page then + if state.page == current_owner_page then return send_signal() else - return aux.control.on_next_event('AUCTION_OWNED_LIST_UPDATE', send_signal) + return control.on_next_event('AUCTION_OWNED_LIST_UPDATE', send_signal) end end function wait_for_list_results(send_signal, signal_received) local updated, last_update - aux.control.event_listener('AUCTION_ITEM_LIST_UPDATE', function(kill) + control.event_listener('AUCTION_ITEM_LIST_UPDATE', function(kill) kill(signal_received()) last_update = GetTime() updated = true end) local ignore_owner = state.params.ignore_owner or g.aux_ignore_owner - return aux.control.thread(aux.control.when, function() + return control.thread(control.when, function() -- short circuiting order important, owner_data_complete must be called iif an update has happened. local ok = updated and (ignore_owner or owner_data_complete('list')) or last_update and GetTime() - last_update > 5 updated = false @@ -227,7 +227,7 @@ end function owner_data_complete(type) for i=1,PAGE_SIZE do - local auction_info = aux.info.auction(i, type) + local auction_info = info.auction(i, type) if auction_info and not auction_info.owner then return false end diff --git a/components/slash.lua b/components/slash.lua index ecefc88..2e2657d 100644 --- a/components/slash.lua +++ b/components/slash.lua @@ -3,10 +3,10 @@ function SlashCmdList.AUX(command) if not command then return end local arguments = tokenize(command) if arguments[1] == 'clear' and arguments[2] == 'history' then - aux.persistence.load_dataset().history = nil + persistence.load_dataset().history = nil log 'History cleared.' elseif arguments[1] == 'clear' and arguments[2] == 'post' then - aux.persistence.load_dataset().post = nil + persistence.load_dataset().post = nil log 'Post settings cleared.' elseif arguments[1] == 'clear' and arguments[2] == 'datasets' then g.aux_datasets = {} @@ -23,7 +23,7 @@ function SlashCmdList.AUX(command) g.aux_auctionable_items = {} log 'Item cache cleared.' elseif arguments[1] == 'populate' and arguments[2] == 'wdb' then - aux.cache.populate_wdb() + cache.populate_wdb() elseif arguments[1] == 'tooltip' and arguments[2] == 'value' then g.aux_tooltip_value = not g.aux_tooltip_value log('Historical value in tooltip '..(g.aux_tooltip_value and 'enabled' or 'disabled')..'.') diff --git a/components/stack.lua b/components/stack.lua index cd2775f..3ea8954 100644 --- a/components/stack.lua +++ b/components/stack.lua @@ -3,22 +3,22 @@ aux.module 'stack' state = nil function stack_size(slot) - local container_item_info = aux.info.container_item(unpack(slot)) + local container_item_info = info.container_item(unpack(slot)) return container_item_info and container_item_info.count or 0 end function charges(slot) - local container_item_info = aux.info.container_item(unpack(slot)) + local container_item_info = info.container_item(unpack(slot)) return container_item_info and container_item_info.charges end function max_stack(slot) - local container_item_info = aux.info.container_item(unpack(slot)) + local container_item_info = info.container_item(unpack(slot)) return container_item_info and container_item_info.max_stack end function locked(slot) - local container_item_info = aux.info.container_item(unpack(slot)) + local container_item_info = info.container_item(unpack(slot)) return container_item_info and container_item_info.locked end @@ -31,8 +31,8 @@ function find_item_slot(partial) end function matching_item(slot, partial) - local item_info = aux.info.container_item(unpack(slot)) - return item_info and item_info.item_key == m.state.item_key and aux.info.auctionable(item_info.tooltip) and (not partial or item_info.count < item_info.max_stack) + local item_info = info.container_item(unpack(slot)) + return item_info and item_info.item_key == m.state.item_key and info.auctionable(item_info.tooltip) and (not partial or item_info.count < item_info.max_stack) end function find_empty_slot() @@ -53,7 +53,7 @@ end function move_item(from_slot, to_slot, amount, k) if m.locked(from_slot) or m.locked(to_slot) then - return aux.control.wait(k) + return control.wait(k) end amount = min(m.max_stack(from_slot) - m.stack_size(to_slot), m.stack_size(from_slot), amount) @@ -63,7 +63,7 @@ function move_item(from_slot, to_slot, amount, k) SplitContainerItem(from_slot[1], from_slot[2], amount) PickupContainerItem(unpack(to_slot)) - return aux.control.when(function() return m.stack_size(to_slot) == expected_size end, k) + return control.when(function() return m.stack_size(to_slot) == expected_size end, k) end function process() @@ -105,7 +105,7 @@ end function public.stop() if m.state then - aux.control.kill_thread(m.state.thread_id) + control.kill_thread(m.state.thread_id) local callback, slot = m.state.callback, m.state.target_slot if slot and not m.matching_item(slot) then slot = nil @@ -118,7 +118,7 @@ end function public.start(item_key, size, callback) m.stop() - local thread_id = aux.control.thread(m.process) + local thread_id = control.thread(m.process) m.state = { thread_id = thread_id, item_key = item_key, diff --git a/components/tooltip.lua b/components/tooltip.lua index fe05d69..7618857 100644 --- a/components/tooltip.lua +++ b/components/tooltip.lua @@ -9,12 +9,12 @@ game_tooltip_money = nil function LOAD() for func, hook in game_tooltip_hooks do local func, hook = func, hook - aux.hook( + hook( func, function(...) hooked_setter = true game_tooltip_money = 0 - local results = {aux.orig[GameTooltip][func](unpack(arg)) } + local results = {orig[GameTooltip][func](unpack(arg)) } hooked_setter = false hook(unpack(arg)) return unpack(results) @@ -44,13 +44,13 @@ function LOAD() end function extend_tooltip(tooltip, link, quantity) - local item_id, suffix_id = aux.info.parse_link(link) + local item_id, suffix_id = info.parse_link(link) quantity = IsShiftKeyDown() and quantity or 1 if g.aux_tooltip_disenchant_source then local color = {r=0.7, g=0.7, b=0.7} - local type, range = aux.disenchant.source(item_id) + local type, range = disenchant.source(item_id) if type == 'CRYSTAL' then tooltip:AddLine(format('Can disenchant from level %s |cffa335eeEpic|r and |cff0070ddRare|r items.', range), color.r, color.g, color.b, true) @@ -63,9 +63,9 @@ function extend_tooltip(tooltip, link, quantity) end end - local item_info = aux.info.item(item_id) + local item_info = info.item(item_id) if item_info then - local distribution = aux.disenchant.distribution(item_info.slot, item_info.quality, item_info.level) + local distribution = disenchant.distribution(item_info.slot, item_info.quality, item_info.level) if getn(distribution) > 0 then @@ -75,15 +75,15 @@ function extend_tooltip(tooltip, link, quantity) tooltip:AddLine('Disenchants into:', color.r, color.g, color.b) sort(distribution, function(a,b) return a.probability > b.probability end) for _, event in distribution do - tooltip:AddLine(format(' %s%% %s (%s-%s)', event.probability * 100, aux.info.display_name(event.item_id, true) or 'item:'..event.item_id, event.min_quantity, event.max_quantity), color.r, color.g, color.b) + tooltip:AddLine(format(' %s%% %s (%s-%s)', event.probability * 100, info.display_name(event.item_id, true) or 'item:'..event.item_id, event.min_quantity, event.max_quantity), color.r, color.g, color.b) end end if g.aux_tooltip_disenchant_value then local color = {r=0.1, g=0.6, b=0.6} - local disenchant_value = aux.disenchant.value(item_info.slot, item_info.quality, item_info.level) - tooltip:AddLine('Disenchant Value: '..(disenchant_value and aux.money.to_string2(disenchant_value) or GRAY_FONT_COLOR_CODE..'---'..FONT_COLOR_CODE_CLOSE), color.r, color.g, color.b) + local disenchant_value = disenchant.value(item_info.slot, item_info.quality, item_info.level) + tooltip:AddLine('Disenchant Value: '..(disenchant_value and money.to_string2(disenchant_value) or GRAY_FONT_COLOR_CODE..'---'..FONT_COLOR_CODE_CLOSE), color.r, color.g, color.b) end end end @@ -91,33 +91,33 @@ function extend_tooltip(tooltip, link, quantity) if g.aux_tooltip_vendor_buy then local color = {r=0.8, g=0.5, b=0.1} - local _, price, limited = aux.cache.merchant_info(item_id) + local _, price, limited = cache.merchant_info(item_id) if price then - tooltip:AddLine('Vendor Buy '..(limited and '(limited): ' or ': ')..aux.money.to_string2(price * quantity), color.r, color.g, color.b) + tooltip:AddLine('Vendor Buy '..(limited and '(limited): ' or ': ')..money.to_string2(price * quantity), color.r, color.g, color.b) end end if g.aux_tooltip_vendor_sell then local color = {r=0.8, g=0.5, b=0.1} - local price = aux.cache.merchant_info(item_id) + local price = cache.merchant_info(item_id) if price ~= 0 then - tooltip:AddLine('Vendor Sell: '..(price and aux.money.to_string2(price * quantity) or GRAY_FONT_COLOR_CODE..'---'..FONT_COLOR_CODE_CLOSE), color.r, color.g, color.b) + tooltip:AddLine('Vendor Sell: '..(price and money.to_string2(price * quantity) or GRAY_FONT_COLOR_CODE..'---'..FONT_COLOR_CODE_CLOSE), color.r, color.g, color.b) end end local color = {r=1, g=1, b=0.6} - local auctionable = not item_info or aux.info.auctionable(aux.info.tooltip(function(tt) tt:SetHyperlink(item_info.itemstring) end), item_info.quality) + local auctionable = not item_info or info.auctionable(info.tooltip(function(tt) tt:SetHyperlink(item_info.itemstring) end), item_info.quality) local item_key = (item_id or 0)..':'..(suffix_id or 0) - local value = aux.history.value(item_key) + local value = history.value(item_key) if auctionable then if g.aux_tooltip_value then - tooltip:AddLine('Value: '..(value and aux.money.to_string2(value * quantity) or GRAY_FONT_COLOR_CODE..'---'..FONT_COLOR_CODE_CLOSE), color.r, color.g, color.b) + tooltip:AddLine('Value: '..(value and money.to_string2(value * quantity) or GRAY_FONT_COLOR_CODE..'---'..FONT_COLOR_CODE_CLOSE), color.r, color.g, color.b) end if g.aux_tooltip_daily then - local market_value = aux.history.market_value(item_key) - tooltip:AddLine('Today: '..(market_value and aux.money.to_string2(market_value * quantity)..' ('..aux.auction_listing.percentage_historical(round(market_value / value * 100))..')' or GRAY_FONT_COLOR_CODE..'---'..FONT_COLOR_CODE_CLOSE), color.r, color.g, color.b) + local market_value = history.market_value(item_key) + tooltip:AddLine('Today: '..(market_value and money.to_string2(market_value * quantity)..' ('..auction_listing.percentage_historical(round(market_value / value * 100))..')' or GRAY_FONT_COLOR_CODE..'---'..FONT_COLOR_CODE_CLOSE), color.r, color.g, color.b) end end @@ -179,7 +179,7 @@ end function game_tooltip_hooks:SetInboxItem(index) local name, _, quantity = GetInboxItem(index) - local id = name and aux.cache.item_id(name) + local id = name and cache.item_id(name) if id then local _, itemstring, quality = GetItemInfo(id) local _, _, _, hex = GetItemQualityColor(tonumber(quality)) @@ -243,7 +243,7 @@ function game_tooltip_hooks:SetAuctionSellItem() if name then for slot in inventory do local link = GetContainerItemLink(unpack(slot)) - if link and ({aux.info.parse_link(link)})[5] == name then + if link and ({info.parse_link(link)})[5] == name then extend_tooltip(GameTooltip, link, quantity) return end diff --git a/core.lua b/core.lua index fd6de90..0316bb6 100644 --- a/core.lua +++ b/core.lua @@ -2,25 +2,6 @@ aux.module 'core' public.bids_loaded = false public.current_owner_page = nil -public.last_owner_page_requested = nil - -tabs = {} -function public.tab(index, name) - local module_env = getfenv(2) - local tab = {name=name, env=module_env} - module_env.public.ACTIVE = function() return tab == active_tab end - for handler in temp-set{'OPEN', 'CLOSE', 'CLICK_LINK', 'USE_ITEM'} do module_env.mutable[handler] = nil end - tabs[index] = tab -end -do - local active_tab_index - function accessor.active_tab() return tabs[active_tab_index] end - function on_tab_click(index) - call(active_tab_index and active_tab.env.CLOSE) - active_tab_index = index - call(active_tab_index and active_tab.env.OPEN) - end -end function LOAD() do @@ -72,6 +53,99 @@ function LOAD() end end +function public.log(...) + local msg = '[aux]' + for i=1,arg.n do msg = msg..' '..tostring(arg[i]) end + DEFAULT_CHAT_FRAME:AddMessage(LIGHTYELLOW_FONT_COLOR_CODE..msg) +end + +tabs = {} +function public.tab(index, name) + local module_env = getfenv(2) + local tab = {name=name, env=module_env} + module_env.public.accessor.ACTIVE = function() return tab == active_tab end + for _, handler in temp-{'OPEN', 'CLOSE', 'CLICK_LINK', 'USE_ITEM'} do module_env.mutable[handler] = nil end + tabs[index] = tab +end +do + local active_tab_index + function accessor.active_tab() return tabs[active_tab_index] end + function on_tab_click(index) + call(active_tab_index and active_tab.env.CLOSE) + active_tab_index = index + call(active_tab_index and active_tab.env.OPEN) + end +end + +public.orig = {} +function public.hook(name, handler, object) + local orig + if object then + m.orig[object] = m.orig[object] or {} + orig = m.orig[object] + else + object = g + orig = m.orig + end + assert(not orig[name], '"'..name..'" is already hooked.') + orig[name] = object[name] + object[name] = handler +end + +do + local locked + function public.accessor.bid_in_progress() return locked end + function public.place_bid(type, index, amount, on_success) + if locked then + return + end + local money = GetMoney() + PlaceAuctionBid(type, index, amount) + if money >= amount then + locked = true + control.event_listener('CHAT_MSG_SYSTEM', function(kill) + if arg1 == ERR_AUCTION_BID_PLACED then + call(on_success) + locked = false + kill() + end + end) + end + end +end + +do + local locked + function public.accessor.cancel_in_progress() return locked end + function public.cancel_auction(index, on_success) + if locked then + return + end + locked = true + CancelAuction(index) + control.event_listener('CHAT_MSG_SYSTEM', function(kill) + if arg1 == ERR_AUCTION_REMOVED then + call(on_success) + locked = false + kill() + end + end) + end +end + +function public.is_player(name, current) + local realm = GetCVar 'realmName' + return not current and index(g.aux_characters, realm, name) or UnitName 'player' == name +end + +function public.neutral_faction() + return not UnitFactionGroup 'npc' +end + +function public.min_bid_increment(current_bid) + return max(1, floor(current_bid / 100) * 5) +end + function AUCTION_HOUSE_SHOW() AuctionFrame:Hide() frame:Show() @@ -92,8 +166,16 @@ function AUCTION_BIDDER_LIST_UPDATE() bids_loaded = true end -function AUCTION_OWNED_LIST_UPDATE() - current_owner_page = last_owner_page_requested or 0 +do + local last_owner_page_requested + function GetOwnerAuctionItems(...) + local page = arg[1] + last_owner_page_requested = page + return orig.GetOwnerAuctionItems(unpack(arg)) + end + function AUCTION_OWNED_LIST_UPDATE() + current_owner_page = last_owner_page_requested or 0 + end end function ADDON_LOADED.Blizzard_AuctionUI() @@ -172,27 +254,6 @@ do end end -public.orig = {} -function public.hook(name, handler, object) - local orig - if object then - m.orig[object] = m.orig[object] or {} - orig = m.orig[object] - else - object = g - orig = m.orig - end - assert(not orig[name], '"'..name..'" is already hooked.') - orig[name] = object[name] - object[name] = handler -end - -function GetOwnerAuctionItems(...) - local page = arg[1] - last_owner_page_requested = page - return orig.GetOwnerAuctionItems(unpack(arg)) -end - function AuctionFrameAuctions_OnEvent(...) if AuctionFrameAuctions:IsVisible() then return orig.AuctionFrameAuctions_OnEvent(unpack(arg)) @@ -215,58 +276,4 @@ function UseContainerItem(...) for item_info in present(info.container_item(arg[1], arg[2])) do return active_tab.env.USE_ITEM(item_info) end -end - -do - local locked - function public.bid_in_progress() return locked end - function public.place_bid(type, index, amount, on_success) - if locked then - return - end - local money = GetMoney() - PlaceAuctionBid(type, index, amount) - if money >= amount then - locked = true - control.event_listener('CHAT_MSG_SYSTEM', function(kill) - if arg1 == ERR_AUCTION_BID_PLACED then - call(on_success) - locked = false - kill() - end - end) - end - end -end - -do - local locked - function public.cancel_in_progress() return locked end - function public.cancel_auction(index, on_success) - if locked then - return - end - locked = true - CancelAuction(index) - control.event_listener('CHAT_MSG_SYSTEM', function(kill) - if arg1 == ERR_AUCTION_REMOVED then - call(on_success) - locked = false - kill() - end - end) - end -end - -function public.is_player(name, current) - local realm = GetCVar 'realmName' - return not current and index(g.aux_characters, realm, name) or UnitName 'player' == name -end - -function public.neutral_faction() - return not UnitFactionGroup 'npc' -end - -function public.min_bid_increment(current_bid) - return max(1, floor(current_bid / 100) * 5) end \ No newline at end of file diff --git a/gui.lua b/gui.lua index 5b0d6c7..5a5bd28 100644 --- a/gui.lua +++ b/gui.lua @@ -123,8 +123,8 @@ do aux_background:SetTexture(color.content.background()) aux_background:SetAllPoints(DropDownList1Backdrop) blizzard_backdrop = DropDownList1Backdrop:GetBackdrop() - aux.hook('ToggleDropDownMenu', function(...) - local ret = {aux.orig.ToggleDropDownMenu(unpack(arg))} + hook('ToggleDropDownMenu', function(...) + local ret = {orig.ToggleDropDownMenu(unpack(arg))} local dropdown = getglobal(arg[4] or '') or this:GetParent() if strfind(dropdown:GetName() or '', '^aux_frame%d+$') then set_aux_dropdown_style(dropdown) @@ -418,7 +418,7 @@ function public.editbox(parent) -- editbox:Insert'' TODO use insert with special tags to determine cursor position -- or use an overlay with itemlinks if last_click and GetTime() - last_click.t < .5 and x == last_click.x and y == last_click.y then - aux.control.thread(function() editbox:HighlightText() end) + control.thread(function() editbox:HighlightText() end) end last_click = {t=GetTime(), x=x, y=y} end) @@ -440,12 +440,12 @@ function public.editbox(parent) self:SetFont(config.font, size) self.display:SetFont(config.font, size) end - local display = aux.gui.label(editbox) + local display = gui.label(editbox) display:SetPoint('LEFT', 1.5, 0) display:SetPoint('RIGHT', -1.5, 0) display:SetTextColor(color.text.enabled()) editbox.display = display - local cursor = aux.gui.label(editbox, config.large_font_size) + local cursor = gui.label(editbox, config.large_font_size) cursor:SetText '|' cursor:SetTextColor(color.text.enabled()) cursor:SetAlpha(0) @@ -537,7 +537,7 @@ function public.item(parent) btn:RegisterForClicks() item.texture = getglobal(btn:GetName()..'Icon') item.texture:SetTexCoord(.06, .94, .06, .94) - item.name = aux.gui.label(btn, 15) + item.name = gui.label(btn, 15) item.name:SetJustifyH 'LEFT' item.name:SetPoint('LEFT', btn, 'RIGHT', 10, 0) item.name:SetPoint('RIGHT', item, 'RIGHT', -10, .5) diff --git a/init.lua b/init.lua index 71547c5..64bac50 100644 --- a/init.lua +++ b/init.lua @@ -1,49 +1,43 @@ local aux_module, getn, setn, tinsert, tremove, setfenv, gfind = aux_module, getn, table.setn, tinsert, tremove, setfenv, string.gfind do - local env, interface = aux_module 'core' + local env, interface = aux_module '/core' setfenv(1, env) g.aux = interface end public.version = '5.0.0' -local t, temp, recycle do - local table_pool, locked = {}, {} + local recycle_frame = CreateFrame 'Frame' + local table_pool, auto_recycle = {}, {} local function wipe(t) -- like with a cloth or something for k in t do t[k] = nil end setn(t, 0) return t end - function recycle(t) - locked[t] = nil + function public.recycle(t) + auto_recycle[t] = nil tinsert(table_pool, wipe(t)) log(getn(table_pool)) end - public.recycle = recycle - temp = setmetatable({}, { - __call = function() - local t = tremove(table_pool) or {} - locked[t] = true - return t - end, - __sub = function(_, t) locked[t] = true return t end, - }) - public.temp = temp - function t() - return tremove(table_pool) or {} - end - public.accessor.t = t + public.accessor.temp = setmetatable({}, {__sub = function(_, t) auto_recycle[t] = true return t end}) + function public.accessor.t() return tremove(table_pool) or {} end end do + local module_envs = t function public.module(path) local env, parts, parent, name - parts, parent, name = gfind(path, '[%a_][%w_]*'), aux_module 'modules', '' + parts, parent, name = gfind(path, '[%a_][%w_]*'), aux_module '/modules', '' for part in parts do name = name..'/'..part - env, parent.public[part] = aux_module(name) - env.import('modules', 'core', 'util') + if not module_envs[name] then + env, parent.public[part] = aux_module(name) + env.import(temp-{'modules', 'core', 'util'}) + module_envs[name] = env + else + env = module_envs[name] + end parent = env end setfenv(2, env) @@ -51,13 +45,13 @@ do end local event_frame = CreateFrame 'Frame' -for _, event in {'VARIABLES_LOADED', 'ADDON_LOADED', 'AUCTION_HOUSE_SHOW', 'AUCTION_HOUSE_CLOSED', 'AUCTION_BIDDER_LIST_UPDATE', 'AUCTION_OWNED_LIST_UPDATE'} do +for _, event in temp-{'VARIABLES_LOADED', 'ADDON_LOADED', 'AUCTION_HOUSE_SHOW', 'AUCTION_HOUSE_CLOSED', 'AUCTION_BIDDER_LIST_UPDATE', 'AUCTION_OWNED_LIST_UPDATE'} do event_frame:RegisterEvent(event) end ADDON_LOADED = {} do - local variables_loaded_hooks, player_login_hooks = {}, {} + local variables_loaded_hooks, player_login_hooks = t, t function public.mutator.LOAD(f) tinsert(variables_loaded_hooks, f) end function public.mutator.LOAD2(f) tinsert(player_login_hooks, f) end event_frame:SetScript('OnEvent', function() @@ -74,10 +68,4 @@ do end end end) -end - -function public.log(...) - local msg = '[aux]' - for i=1,arg.n do msg = msg..' '..tostring(arg[i]) end - DEFAULT_CHAT_FRAME:AddMessage(LIGHTYELLOW_FONT_COLOR_CODE..msg) -end +end \ No newline at end of file diff --git a/module.lua b/module.lua index b6c0556..8b440b2 100644 --- a/module.lua +++ b/module.lua @@ -1,16 +1,16 @@ -local setmetatable, unpack, mask, add, g = setmetatable, unpack, bit.band, bit.bor, getfenv(0) +local setmetatable, unpack, mask, g = setmetatable, unpack, bit.band, getfenv(0) local PRIVATE, PUBLIC, MUTABLE, ACCESSOR, MUTATOR = 1, 2, 4, 8, 16 local MODIFIER = {private=PRIVATE, public=PUBLIC, mutable=MUTABLE, accessor=ACCESSOR, mutator=MUTATOR} -local MASK = {private=MUTABLE+ACCESSOR+MUTATOR, public=MUTABLE+ACCESSOR+MUTATOR, mutable=PRIVATE+PUBLIC, accessor=PRIVATE+PUBLIC+MUTATOR, mutator=PRIVATE+PUBLIC+ACCESSOR} +local MASK = {private=PUBLIC+MUTABLE+ACCESSOR+MUTATOR, public=PRIVATE+MUTABLE+ACCESSOR+MUTATOR, mutable=PRIVATE+PUBLIC, accessor=PRIVATE+PUBLIC+MUTATOR, mutator=PRIVATE+PUBLIC+ACCESSOR} local _10, _01, tf, ft = {[true]=1, [false]=0}, {[true]=0, [false]=1}, {true, false}, {false, true} local importer_mt, declarator_mt, env_mt, interface_mt, lock_mt local define_property, declarator_accessor, private_accessor, public_accessor, mutable_accessor, accessor_accessor, mutator_accessor, index, error local _modules, _metadata, _data, _accessors, _mutators, _imports, _declarators, _declarator_state = setmetatable({}, lock_mt), {}, {}, {}, {}, {}, {}, {} function error(message, ...) g.error(format(message, unpack(arg))..'\n'..debugstack(3, 5, 0), 3) end importer_mt = {__metatable=false} -function importer_mt.__call(self, ...) +function importer_mt.__call(self, t) local imports = _imports[self] - for i=1,arg.n do imports[arg[i]] = true end + for _, name in t do imports[name] = true end end function declarator_accessor(modifier) return function(declarator) return function() _declarator_state[declarator] = PRIVATE+modifier return declarator end end @@ -36,6 +36,7 @@ function index(access, default) return function(self, key) local modifiers = _metadata[self][key] or 0 if mask(access+ACCESSOR+MUTATOR, modifiers) == access then +-- DEFAULT_CHAT_FRAME:AddMessage(access) return _data[self][key] elseif mask(access+ACCESSOR, modifiers) == access+ACCESSOR then return _accessors[self][key]() @@ -65,22 +66,21 @@ function interface_mt.__newindex(self, key, value) end lock_mt = {} function g.aux_module(name) - if not _modules[name] then - local metadata, data, accessors, mutators, imports, importer, declarator, env, interface - imports, importer, declarator, env, interface = {}, setmetatable({}, importer_mt), setmetatable({}, declarator_mt), setmetatable({}, env_mt), setmetatable({}, interface_mt) - metadata = setmetatable({g=PRIVATE, m=PRIVATE, import=PRIVATE, private=PRIVATE+ACCESSOR, public=PRIVATE+ACCESSOR, mutable=PRIVATE+ACCESSOR, accessor=PRIVATE+ACCESSOR, mutator=PRIVATE+ACCESSOR}, lock_mt) - data = {g=g, m=env, import=importer} - accessors = {private=private_accessor(declarator), public=public_accessor(declarator), mutable=mutable_accessor(declarator), accessor=accessor_accessor(declarator), mutator=mutator_accessor(declarator)} - mutators = {} - _metadata[name], _metadata[declarator], _metadata[env], _metadata[interface] = metadata, metadata, metadata, metadata - _data[name], _data[declarator], _data[env], _data[interface] = data, data, data, data - _accessors[name], _accessors[declarator], _accessors[env], _accessors[interface] = accessors, accessors, accessors, accessors - _mutators[name], _mutators[declarator], _mutators[env], _mutators[interface] = mutators, mutators, mutators, mutators - _imports[name], _imports[importer] = imports, imports - _declarators[name] = declarator - _modules[name] = {env, interface} - end - return unpack(_modules[name]) + if _modules[name] then error('Module %s already exists.', name) end + local metadata, data, accessors, mutators, imports, importer, declarator, env, interface + imports, importer, declarator, env, interface = {}, setmetatable({}, importer_mt), setmetatable({}, declarator_mt), setmetatable({}, env_mt), setmetatable({}, interface_mt) + metadata = setmetatable({g=PRIVATE, m=PRIVATE, import=PRIVATE, private=PRIVATE+ACCESSOR, public=PRIVATE+ACCESSOR, mutable=PRIVATE+ACCESSOR, accessor=PRIVATE+ACCESSOR, mutator=PRIVATE+ACCESSOR}, lock_mt) + data = {g=g, m=env, import=importer} + accessors = {private=private_accessor(declarator), public=public_accessor(declarator), mutable=mutable_accessor(declarator), accessor=accessor_accessor(declarator), mutator=mutator_accessor(declarator)} + mutators = {} + _metadata[name], _metadata[declarator], _metadata[env], _metadata[interface] = metadata, metadata, metadata, metadata + _data[name], _data[declarator], _data[env], _data[interface] = data, data, data, data + _accessors[name], _accessors[declarator], _accessors[env], _accessors[interface] = accessors, accessors, accessors, accessors + _mutators[name], _mutators[declarator], _mutators[env], _mutators[interface] = mutators, mutators, mutators, mutators + _imports[name], _imports[importer] = imports, imports + _declarators[name] = declarator + _modules[name] = true + return env, interface end local frame = CreateFrame 'Frame' frame:RegisterEvent 'PLAYER_LOGIN' @@ -95,11 +95,12 @@ frame:SetScript('OnEvent', function() local data = _data[import_name] for key, modifiers in _metadata[import_name] do if mask(PUBLIC, modifiers) ~= 0 then + count = count + 1 _declarator_state[declarator] = modifiers declarator[key] = data[key] end end end end - aux.log('imported: '..count..' in '..(GetTime()-t0)) + log('imported: '..count..' in '..(GetTime()-t0)) end) \ No newline at end of file diff --git a/tables/auction_listing.lua b/tables/auction_listing.lua index cc736c7..38f283a 100644 --- a/tables/auction_listing.lua +++ b/tables/auction_listing.lua @@ -6,20 +6,22 @@ local RT_COUNT = 1 local HEAD_HEIGHT = 27 local HEAD_SPACE = 2 -local AUCTION_PCT_COLORS = { - {color=aux.gui.inline_color.blue, value=50}, - {color=aux.gui.inline_color.green, value=80}, - {color=aux.gui.inline_color.yellow, value=110}, - {color=aux.gui.inline_color.orange, value=135}, - {color=aux.gui.inline_color.red, value=huge}, -} +function LOAD() + AUCTION_PCT_COLORS = { + {color=gui.inline_color.blue, value=50}, + {color=gui.inline_color.green, value=80}, + {color=gui.inline_color.yellow, value=110}, + {color=gui.inline_color.orange, value=135}, + {color=gui.inline_color.red, value=huge}, + } -local TIME_LEFT_STRINGS = { - aux.gui.color.red '30m', -- Short - aux.gui.color.orange '2h', -- Medium - aux.gui.color.yellow '8h', -- Long - aux.gui.color.blue '24h', -- Very Long -} + TIME_LEFT_STRINGS = { + gui.color.red '30m', -- Short + gui.color.orange '2h', -- Medium + gui.color.yellow '8h', -- Long + gui.color.blue '24h', -- Very Long + } +end function item_column_init(rt, cell) local spacer = CreateFrame('Frame', nil, cell) @@ -69,7 +71,7 @@ public.search_config = { cell:SetText(gsub(record.link, '[%[%]]', '')) end, cmp = function(record_a, record_b, desc) - return aux.sorting.compare(record_a.name, record_b.name, desc) + return sorting.compare(record_a.name, record_b.name, desc) end, }, { @@ -78,11 +80,11 @@ public.search_config = { align = 'CENTER', fill = function(cell, record) local display_level = max(record.level, 1) - display_level = UnitLevel('player') < record.level and aux.gui.color.red(display_level) or display_level + display_level = UnitLevel('player') < record.level and gui.color.red(display_level) or display_level cell:SetText(display_level) end, cmp = function(record_a, record_b, desc) - return aux.sorting.compare(record_a.level, record_b.level, desc) + return sorting.compare(record_a.level, record_b.level, desc) end, }, { @@ -90,14 +92,14 @@ public.search_config = { width = 0.06, align = 'CENTER', fill = function(cell, record, count, own, expandable) - local numAuctionsText = expandable and aux.gui.color.link(count) or count + local numAuctionsText = expandable and gui.color.link(count) or count if own > 0 then - numAuctionsText = numAuctionsText..(' '..aux.gui.color.yellow('('..own..')')) + numAuctionsText = numAuctionsText..(' '..gui.color.yellow('('..own..')')) end cell:SetText(numAuctionsText) end, cmp = function(record_a, record_b, desc) - return aux.sorting.EQ + return sorting.EQ -- if sortKey == 'numAuctions' then -- if a.children then -- aVal = a.totalAuctions @@ -117,7 +119,7 @@ public.search_config = { cell:SetText(record.aux_quantity) end, cmp = function(record_a, record_b, desc) - return aux.sorting.compare(record_a.aux_quantity, record_b.aux_quantity, desc) + return sorting.compare(record_a.aux_quantity, record_b.aux_quantity, desc) end, }, { @@ -128,7 +130,7 @@ public.search_config = { cell:SetText(TIME_LEFT_STRINGS[record.duration or 0] or '---') end, cmp = function(record_a, record_b, desc) - return aux.sorting.compare(record_a.duration, record_b.duration, desc) + return sorting.compare(record_a.duration, record_b.duration, desc) end, }, { @@ -136,17 +138,17 @@ public.search_config = { width = 0.13, align = 'CENTER', fill = function(cell, record) - cell:SetText(aux.is_player(record.owner) and (aux.gui.color.yellow(record.owner)) or (record.owner or '---')) + cell:SetText(is_player(record.owner) and (gui.color.yellow(record.owner)) or (record.owner or '---')) end, cmp = function(record_a, record_b, desc) if not record_a.owner and not record_b.owner then - return aux.sorting.EQ + return sorting.EQ elseif not record_a.owner then - return aux.sorting.GT + return sorting.GT elseif not record_b.owner then - return aux.sorting.LT + return sorting.LT else - return aux.sorting.compare(record_a.owner, record_b.owner, desc) + return sorting.compare(record_a.owner, record_b.owner, desc) end end, }, @@ -168,7 +170,7 @@ public.search_config = { else price = g.aux_price_per_unit and ceil(record.unit_bid_price) or record.bid_price end - cell:SetText(aux.money.to_string(price, true, false, nil, color)) + cell:SetText(money.to_string(price, true, false, nil, color)) end, cmp = function(record_a, record_b, desc) local price_a @@ -183,7 +185,7 @@ public.search_config = { else price_b = g.aux_price_per_unit and record_b.unit_bid_price or record_b.bid_price end - return aux.sorting.compare(price_a, price_b, desc) + return sorting.compare(price_a, price_b, desc) end, }, { @@ -193,7 +195,7 @@ public.search_config = { isPrice = true, fill = function(cell, record) local price = g.aux_price_per_unit and ceil(record.unit_buyout_price) or record.buyout_price - cell:SetText(price > 0 and aux.money.to_string(price, true, false) or '---') + cell:SetText(price > 0 and money.to_string(price, true, false) or '---') end, cmp = function(record_a, record_b, desc) local price_a = g.aux_price_per_unit and record_a.unit_buyout_price or record_a.buyout_price @@ -201,7 +203,7 @@ public.search_config = { price_a = price_a > 0 and price_a or (desc and -huge or huge) price_b = price_b > 0 and price_b or (desc and -huge or huge) - return aux.sorting.compare(price_a, price_b, desc) + return sorting.compare(price_a, price_b, desc) end, }, { @@ -215,7 +217,7 @@ public.search_config = { cmp = function(record_a, record_b, desc) local pct_a = record_percentage(record_a) or (desc and -huge or huge) local pct_b = record_percentage(record_b) or (desc and -huge or huge) - return aux.sorting.compare(pct_a, pct_b, desc) + return sorting.compare(pct_a, pct_b, desc) end, }, } @@ -239,7 +241,7 @@ public.auctions_config = { cell:SetText(gsub(record.link, '[%[%]]', '')) end, cmp = function(record_a, record_b, desc) - return aux.sorting.compare(record_a.name, record_b.name, desc) + return sorting.compare(record_a.name, record_b.name, desc) end, }, { @@ -248,11 +250,11 @@ public.auctions_config = { align = 'CENTER', fill = function(cell, record) local display_level = max(record.level, 1) - display_level = UnitLevel('player') < record.level and aux.gui.color.red(display_level) or display_level + display_level = UnitLevel('player') < record.level and gui.color.red(display_level) or display_level cell:SetText(display_level) end, cmp = function(record_a, record_b, desc) - return aux.sorting.compare(record_a.level, record_b.level, desc) + return sorting.compare(record_a.level, record_b.level, desc) end, }, { @@ -260,11 +262,11 @@ public.auctions_config = { width = 0.06, align = 'CENTER', fill = function(cell, record, count, own, expandable) - local numAuctionsText = expandable and aux.gui.inline_color.link..count..FONT_COLOR_CODE_CLOSE or count + local numAuctionsText = expandable and gui.inline_color.link..count..FONT_COLOR_CODE_CLOSE or count cell:SetText(numAuctionsText) end, cmp = function(record_a, record_b, desc) - return aux.sorting.EQ + return sorting.EQ -- if sortKey == 'numAuctions' then -- if a.children then -- aVal = a.totalAuctions @@ -284,7 +286,7 @@ public.auctions_config = { cell:SetText(record.aux_quantity) end, cmp = function(record_a, record_b, desc) - return aux.sorting.compare(record_a.aux_quantity, record_b.aux_quantity, desc) + return sorting.compare(record_a.aux_quantity, record_b.aux_quantity, desc) end, }, { @@ -295,7 +297,7 @@ public.auctions_config = { cell:SetText(TIME_LEFT_STRINGS[record.duration or 0] or '---') end, cmp = function(record_a, record_b, desc) - return aux.sorting.compare(record_a.duration, record_b.duration, desc) + return sorting.compare(record_a.duration, record_b.duration, desc) end, }, { @@ -310,7 +312,7 @@ public.auctions_config = { else price = g.aux_price_per_unit and ceil(record.start_price / record.aux_quantity) or record.start_price end - cell:SetText(aux.money.to_string(price, true, false)) + cell:SetText(money.to_string(price, true, false)) end, cmp = function(record_a, record_b, desc) local price_a @@ -325,7 +327,7 @@ public.auctions_config = { else price_b = g.aux_price_per_unit and record_b.start_price / record_b.aux_quantity or record_b.start_price end - return aux.sorting.compare(price_a, price_b, desc) + return sorting.compare(price_a, price_b, desc) end, }, { @@ -335,7 +337,7 @@ public.auctions_config = { isPrice = true, fill = function(cell, record) local price = g.aux_price_per_unit and ceil(record.unit_buyout_price) or record.buyout_price - cell:SetText(price > 0 and aux.money.to_string(price, true, false) or '---') + cell:SetText(price > 0 and money.to_string(price, true, false) or '---') end, cmp = function(record_a, record_b, desc) local price_a = g.aux_price_per_unit and record_a.unit_buyout_price or record_a.buyout_price @@ -343,7 +345,7 @@ public.auctions_config = { price_a = price_a > 0 and price_a or (desc and -huge or huge) price_b = price_b > 0 and price_b or (desc and -huge or huge) - return aux.sorting.compare(price_a, price_b, desc) + return sorting.compare(price_a, price_b, desc) end, }, { @@ -351,17 +353,17 @@ public.auctions_config = { width = 0.21, align = 'CENTER', fill = function(cell, record) - cell:SetText(record.high_bidder or aux.gui.color.red 'No Bids') + cell:SetText(record.high_bidder or gui.color.red 'No Bids') end, cmp = function(record_a, record_b, desc) if not record_a.high_bidder and not record_b.high_bidder then - return aux.sorting.EQ + return sorting.EQ elseif not record_a.high_bidder then - return aux.sorting.GT + return sorting.GT elseif not record_b.high_bidder then - return aux.sorting.LT + return sorting.LT else - return aux.sorting.compare(record_a.high_bidder, record_b.high_bidder, desc) + return sorting.compare(record_a.high_bidder, record_b.high_bidder, desc) end end, }, @@ -386,7 +388,7 @@ public.bids_config = { cell:SetText(gsub(record.link, '[%[%]]', '')) end, cmp = function(record_a, record_b, desc) - return aux.sorting.compare(record_a.name, record_b.name, desc) + return sorting.compare(record_a.name, record_b.name, desc) end, }, { @@ -394,11 +396,11 @@ public.bids_config = { width = 0.06, align = 'CENTER', fill = function(cell, record, count, own, expandable) - local numAuctionsText = expandable and aux.gui.inline_color.link..count..FONT_COLOR_CODE_CLOSE or count + local numAuctionsText = expandable and gui.inline_color.link..count..FONT_COLOR_CODE_CLOSE or count cell:SetText(numAuctionsText) end, cmp = function(record_a, record_b, desc) - return aux.sorting.EQ + return sorting.EQ -- if sortKey == 'numAuctions' then -- if a.children then -- aVal = a.totalAuctions @@ -418,7 +420,7 @@ public.bids_config = { cell:SetText(record.aux_quantity) end, cmp = function(record_a, record_b, desc) - return aux.sorting.compare(record_a.aux_quantity, record_b.aux_quantity, desc) + return sorting.compare(record_a.aux_quantity, record_b.aux_quantity, desc) end, }, { @@ -429,7 +431,7 @@ public.bids_config = { cell:SetText(TIME_LEFT_STRINGS[record.duration or 0] or '---') end, cmp = function(record_a, record_b, desc) - return aux.sorting.compare(record_a.duration, record_b.duration, desc) + return sorting.compare(record_a.duration, record_b.duration, desc) end, }, { @@ -437,17 +439,17 @@ public.bids_config = { width = 0.13, align = 'CENTER', fill = function(cell, record) - cell:SetText(aux.is_player(record.owner) and (aux.gui.color.yellow(record.owner)) or (record.owner or '---')) + cell:SetText(is_player(record.owner) and (gui.color.yellow(record.owner)) or (record.owner or '---')) end, cmp = function(record_a, record_b, desc) if not record_a.owner and not record_b.owner then - return aux.sorting.EQ + return sorting.EQ elseif not record_a.owner then - return aux.sorting.GT + return sorting.GT elseif not record_b.owner then - return aux.sorting.LT + return sorting.LT else - return aux.sorting.compare(record_a.owner, record_b.owner, desc) + return sorting.compare(record_a.owner, record_b.owner, desc) end end, }, @@ -463,7 +465,7 @@ public.bids_config = { else price = g.aux_price_per_unit and ceil(record.unit_bid_price) or record.bid_price end - cell:SetText(aux.money.to_string(price)) + cell:SetText(money.to_string(price)) end, cmp = function(record_a, record_b, desc) local price_a @@ -478,7 +480,7 @@ public.bids_config = { else price_b = g.aux_price_per_unit and record_b.unit_bid_price or record_b.bid_price end - return aux.sorting.compare(price_a, price_b, desc) + return sorting.compare(price_a, price_b, desc) end, }, { @@ -488,7 +490,7 @@ public.bids_config = { isPrice = true, fill = function(cell, record) local price = g.aux_price_per_unit and ceil(record.unit_buyout_price) or record.buyout_price - cell:SetText(price > 0 and aux.money.to_string(price, true, false) or '---') + cell:SetText(price > 0 and money.to_string(price, true, false) or '---') end, cmp = function(record_a, record_b, desc) local price_a = g.aux_price_per_unit and record_a.unit_buyout_price or record_a.buyout_price @@ -496,7 +498,7 @@ public.bids_config = { price_a = price_a > 0 and price_a or (desc and -huge or huge) price_b = price_b > 0 and price_b or (desc and -huge or huge) - return aux.sorting.compare(price_a, price_b, desc) + return sorting.compare(price_a, price_b, desc) end, }, { @@ -506,14 +508,14 @@ public.bids_config = { fill = function(cell, record) local status if record.high_bidder then - status = aux.gui.color.yellow 'High Bidder' + status = gui.color.yellow 'High Bidder' else - status = aux.gui.color.red 'Outbid' + status = gui.color.red 'Outbid' end cell:SetText(status) end, cmp = function(record_a, record_b, desc) - return aux.sorting.compare(record_a.high_bidder and 1 or 0, record_b.high_bidder and 1 or 0, desc) + return sorting.compare(record_a.high_bidder and 1 or 0, record_b.high_bidder and 1 or 0, desc) end, }, } @@ -521,7 +523,7 @@ public.bids_config = { function record_percentage(record) if not record then return end - local historical_value = aux.history.value(record.item_key) or 0 + local historical_value = history.value(record.item_key) or 0 if historical_value > 0 then if record.unit_buyout_price > 0 then return round(100 * record.unit_buyout_price / historical_value, 1) @@ -539,7 +541,7 @@ function percentage_color(pct) end function public.percentage_historical(pct, bid) - return (bid and aux.gui.inline_color.gray or percentage_color(pct))..(pct > 10000 and '>10000' or pct)..'%'..FONT_COLOR_CODE_CLOSE + return (bid and gui.inline_color.gray or percentage_color(pct))..(pct > 10000 and '>10000' or pct)..'%'..FONT_COLOR_CODE_CLOSE end function public.time_left(code) @@ -586,8 +588,8 @@ local methods = { local rt = this:GetParent().row.rt local rowData = this:GetParent().row.data if rowData and rowData.record then - aux.info.set_tooltip(rowData.record.itemstring, this, 'ANCHOR_RIGHT') - aux.info.set_shopping_tooltip(rowData.record.slot) + info.set_tooltip(rowData.record.itemstring, this, 'ANCHOR_RIGHT') + info.set_shopping_tooltip(rowData.record.slot) rt.isShowingItemTooltip = true end end, @@ -645,9 +647,9 @@ local methods = { elseif IsShiftKeyDown() and ChatFrameEditBox:IsVisible() then ChatFrameEditBox:Insert(this.row.data.record.link) elseif not modified and button == 'RightButton' then -- TODO not when alt (how?) - aux.set_tab(1) - aux.search_tab.set_filter(strlower(aux.info.item(this.row.data.record.item_id).name)..'/exact') - aux.search_tab.execute(nil, false) + set_tab(1) + search_tab.set_filter(strlower(info.item(this.row.data.record.item_id).name)..'/exact') + search_tab.execute(nil, false) else local selection = this.rt:GetSelection() if not selection or selection.record ~= this.row.data.record then @@ -684,7 +686,7 @@ local methods = { self.isSorted = nil self:SetSelectedRecord(nil, true) - sort(self.records, function(a, b) return aux.sorting.multi_lt({a.search_signature, tostring(a)}, {b.search_signature, tostring(b)}) end) + sort(self.records, function(a, b) return sorting.multi_lt({a.search_signature, tostring(a)}, {b.search_signature, tostring(b)}) end) local records = self.records if getn(records) == 0 then return end @@ -714,7 +716,7 @@ local methods = { local totalAuctions, totalPlayerAuctions = 0, 0 for _, childInfo in info.children do totalAuctions = totalAuctions + childInfo.numAuctions - if aux.is_player(childInfo.record.owner) then + if is_player(childInfo.record.owner) then totalPlayerAuctions = totalPlayerAuctions + childInfo.numAuctions end end @@ -765,11 +767,11 @@ local methods = { end for _, sort in self.sorts do - local ordering = self.config[sort.index].cmp and self.config[sort.index].cmp(record_a, record_b, sort.descending) or aux.sorting.EQ + local ordering = self.config[sort.index].cmp and self.config[sort.index].cmp(record_a, record_b, sort.descending) or sorting.EQ - if ordering == aux.sorting.LT then + if ordering == sorting.LT then return true - elseif ordering == aux.sorting.GT then + elseif ordering == sorting.GT then return false end end @@ -1019,7 +1021,7 @@ function public.CreateAuctionResultsTable(parent, config) rt.contentFrame = contentFrame -- frame to hold the header columns and the rows - local scrollFrame = CreateFrame('ScrollFrame', aux.gui.name, rt, 'FauxScrollFrameTemplate') + local scrollFrame = CreateFrame('ScrollFrame', gui.name, rt, 'FauxScrollFrameTemplate') scrollFrame:SetScript('OnVerticalScroll', function() if not rt.scrollDisabled then FauxScrollFrame_OnVerticalScroll(rt.ROW_HEIGHT, function() rt:UpdateRows() end) @@ -1036,7 +1038,7 @@ function public.CreateAuctionResultsTable(parent, config) scrollBar:SetWidth(10) local thumbTex = scrollBar:GetThumbTexture() thumbTex:SetPoint('CENTER', 0, 0) - thumbTex:SetTexture(unpack(aux.gui.color.content.background)) + thumbTex:SetTexture(unpack(gui.color.content.background)) thumbTex:SetHeight(150) thumbTex:SetWidth(scrollBar:GetWidth()) getglobal(scrollBar:GetName()..'ScrollUpButton'):Hide() @@ -1062,8 +1064,8 @@ function public.CreateAuctionResultsTable(parent, config) local text = cell:CreateFontString() text:SetJustifyH 'CENTER' text:SetJustifyV 'CENTER' - text:SetFont(aux.gui.config.font, 12) - text:SetTextColor(unpack(aux.gui.color.label.enabled)) + text:SetFont(gui.config.font, 12) + text:SetTextColor(unpack(gui.color.label.enabled)) cell:SetFontString(text) if not column_config.isPrice then cell:SetText(column_config.title or '') end -- TODO text:SetAllPoints() @@ -1108,7 +1110,7 @@ function public.CreateAuctionResultsTable(parent, config) for j=1, getn(rt.config) do local cell = CreateFrame('Button', nil, row) local text = cell:CreateFontString() - text:SetFont(aux.gui.config.font, min(14, rt.ROW_HEIGHT)) + text:SetFont(gui.config.font, min(14, rt.ROW_HEIGHT)) text:SetJustifyH(rt.config[j].align or 'LEFT') text:SetJustifyV 'CENTER' text:SetPoint('TOPLEFT', 1, -1) diff --git a/tables/item_listing.lua b/tables/item_listing.lua index 94928c5..d6a9406 100644 --- a/tables/item_listing.lua +++ b/tables/item_listing.lua @@ -60,7 +60,7 @@ function public.create(parent, on_click, selected) scrollBar:SetWidth(12) local thumbTex = scrollBar:GetThumbTexture() thumbTex:SetPoint('CENTER', 0, 0) - thumbTex:SetTexture(unpack(aux.gui.color.content.background)) + thumbTex:SetTexture(unpack(gui.color.content.background)) thumbTex:SetHeight(50) thumbTex:SetWidth(12) getglobal(scrollBar:GetName()..'ScrollUpButton'):Hide() @@ -86,12 +86,12 @@ function public.create(parent, on_click, selected) end end) - row.item = aux.gui.item(row) + row.item = gui.item(row) row.item:SetScale(0.9) row.item:SetPoint('LEFT', 2.5, 0) row.item:SetPoint('RIGHT', -2.5, 0) row.item.button:SetScript('OnEnter', function() - aux.info.set_tooltip(row.item_record.itemstring, this, 'ANCHOR_RIGHT') + info.set_tooltip(row.item_record.itemstring, this, 'ANCHOR_RIGHT') end) row.item.button:SetScript('OnLeave', function() GameTooltip:Hide() diff --git a/tables/listing.lua b/tables/listing.lua index f5c34d2..88f7fd0 100644 --- a/tables/listing.lua +++ b/tables/listing.lua @@ -305,8 +305,8 @@ local methods = { local text = col:CreateFontString() text:SetJustifyV('CENTER') - text:SetFont(aux.gui.config.font, 16) - text:SetTextColor(unpack(aux.gui.color.text.enabled)) + text:SetFont(gui.config.font, 16) + text:SetTextColor(unpack(gui.color.text.enabled)) text:SetAllPoints() col.text = text col:SetFontString(text) @@ -333,7 +333,7 @@ local methods = { local colNum = getn(row.cols) + 1 local col = CreateFrame('Button', nil, row) local text = col:CreateFontString() - text:SetFont(aux.gui.config.font, ST_ROW_TEXT_SIZE) + text:SetFont(gui.config.font, ST_ROW_TEXT_SIZE) text:SetJustifyV 'CENTER' text:SetPoint('TOPLEFT', 1, -1) text:SetPoint('BOTTOMRIGHT', -1, 1) @@ -389,9 +389,9 @@ local methods = { -- update the text size of the head cols for _, col in st.headCols do if st.sizes.headFontSize then - col.text:SetFont(aux.gui.config.font, st.sizes.headFontSize) + col.text:SetFont(gui.config.font, st.sizes.headFontSize) else - col.text:SetFont(aux.gui.config.font, aux.gui.config.medium_font_size) + col.text:SetFont(gui.config.font, gui.config.medium_font_size) end end st:Redraw() @@ -429,14 +429,14 @@ function public.CreateScrollingTable(parent) st.scrollBar = scrollBar local thumbTex = scrollBar:GetThumbTexture() thumbTex:SetPoint('CENTER', 0, 0) - thumbTex:SetTexture(unpack(aux.gui.color.content.background)) + thumbTex:SetTexture(unpack(gui.color.content.background)) thumbTex:SetHeight(50) thumbTex:SetWidth(12) getglobal(scrollBar:GetName()..'ScrollUpButton'):Hide() getglobal(scrollBar:GetName()..'ScrollDownButton'):Hide() -- create head line at default position - st.headLine = aux.gui.horizontal_line(st, 0) + st.headLine = gui.horizontal_line(st, 0) -- add all the methods for name, func in methods do diff --git a/tabs/auctions/core.lua b/tabs/auctions/core.lua index ef76e56..e82662b 100644 --- a/tabs/auctions/core.lua +++ b/tabs/auctions/core.lua @@ -1,61 +1,58 @@ aux.module 'auctions_tab' -aux.tab(3, 'Auctions') +g.aux.tab(3, 'Auctions') auction_records = nil -function m.LOAD() - m.create_frames() +function LOAD() + create_frames() end -function m.OPEN() - m.frame:Show() - m.scan_auctions() +function OPEN() + frame:Show() + scan_auctions() end -function m.CLOSE() - m.frame:Hide() +function CLOSE() + frame:Hide() end function update_listing() - if not m:ACTIVE() then - return - end - - m.listing:SetDatabase(m.auction_records) + if not ACTIVE then return end + listing:SetDatabase(auction_records) end function public.scan_auctions() - m.status_bar:update_status(0,0) - m.status_bar:set_text('Scanning auctions...') + status_bar:update_status(0,0) + status_bar:set_text('Scanning auctions...') - m.auction_records = {} - m.update_listing() - aux.scan.start{ + auction_records = {} + update_listing() + scan.start{ type = 'owner', queries = {{ blizzard_query = {} }}, on_page_loaded = function(page, total_pages) - m.status_bar:update_status(100 * (page - 1) / total_pages, 0) - m.status_bar:set_text(format('Scanning (Page %d / %d)', page, total_pages)) + status_bar:update_status(100 * (page - 1) / total_pages, 0) + status_bar:set_text(format('Scanning (Page %d / %d)', page, total_pages)) end, on_auction = function(auction_record) - tinsert(m.auction_records, auction_record) + tinsert(auction_records, auction_record) end, on_complete = function() - m.status_bar:update_status(100, 100) - m.status_bar:set_text('Scan complete') - m.update_listing() + status_bar:update_status(100, 100) + status_bar:set_text('Scan complete') + update_listing() end, on_abort = function() - m.status_bar:update_status(100, 100) - m.status_bar:set_text('Scan aborted') + status_bar:update_status(100, 100) + status_bar:set_text('Scan aborted') end, } end function test(record) return function(index) - local auction_info = aux.info.auction(index, 'owner') + local auction_info = info.auction(index, 'owner') return auction_info and auction_info.search_signature == record.search_signature end end @@ -67,55 +64,44 @@ do local found_index function find_auction(record) - if not m.listing:ContainsRecord(record) then - return - end + if not listing:ContainsRecord(record) then return end - aux.scan.abort(scan_id) + scan.abort(scan_id) state = SEARCHING - scan_id = aux.scan_util.find( + scan_id = scan_util.find( record, - m.status_bar, - function() - state = IDLE - end, - function() - state = IDLE - m.listing:RemoveAuctionRecord(record) - end, + status_bar, + function() state = IDLE end, + function() state = IDLE; listing:RemoveAuctionRecord(record) end, function(index) state = FOUND found_index = index - m.cancel_button:SetScript('OnClick', function() - if m.test(record)(index) and m.listing:ContainsRecord(record) then - aux.cancel_auction(index, L(m.listing.RemoveAuctionRecord, m.listing, record)) + cancel_button:SetScript('OnClick', function() + if test(record)(index) and listing:ContainsRecord(record) then + cancel_auction(index, L(listing.RemoveAuctionRecord, listing, record)) end end) - m.cancel_button:Enable() + cancel_button:Enable() end ) end function on_update() if state == IDLE or state == SEARCHING then - m.cancel_button:Disable() + cancel_button:Disable() end - if state == SEARCHING then - return - end + if state == SEARCHING then return end - local selection = m.listing:GetSelection() + local selection = listing:GetSelection() if not selection then state = IDLE elseif selection and state == IDLE then - m.find_auction(selection.record) - elseif state == FOUND and not m.test(selection.record)(found_index) then - m.cancel_button:Disable() - if not aux.cancel_in_progress() then - state = IDLE - end + find_auction(selection.record) + elseif state == FOUND and not test(selection.record)(found_index) then + cancel_button:Disable() + if not cancel_in_progress then state = IDLE end end end end \ No newline at end of file diff --git a/tabs/auctions/frames.lua b/tabs/auctions/frames.lua index 059314b..a1f2a4a 100644 --- a/tabs/auctions/frames.lua +++ b/tabs/auctions/frames.lua @@ -1,17 +1,17 @@ aux.module 'auctions_tab' function create_frames() - frame = CreateFrame('Frame', nil, aux.frame) + frame = CreateFrame('Frame', nil, frame) frame:SetAllPoints() frame:SetScript('OnUpdate', on_update) frame:Hide() - frame.listing = aux.gui.panel(frame) - frame.listing:SetPoint('TOP', aux.frame, 'TOP', 0, -8) - frame.listing:SetPoint('BOTTOMLEFT', aux.frame.content, 'BOTTOMLEFT', 0, 0) - frame.listing:SetPoint('BOTTOMRIGHT', aux.frame.content, 'BOTTOMRIGHT', 0, 0) + frame.listing = gui.panel(frame) + frame.listing:SetPoint('TOP', frame, 'TOP', 0, -8) + frame.listing:SetPoint('BOTTOMLEFT', frame.content, 'BOTTOMLEFT', 0, 0) + frame.listing:SetPoint('BOTTOMRIGHT', frame.content, 'BOTTOMRIGHT', 0, 0) - listing = aux.auction_listing.CreateAuctionResultsTable(frame.listing, aux.auction_listing.auctions_config) + listing = auction_listing.CreateAuctionResultsTable(frame.listing, auction_listing.auctions_config) listing:SetSort(1,2,3,4,5,6,7,8) listing:Reset() listing:SetHandler('OnCellClick', function(cell, button) @@ -25,15 +25,15 @@ function create_frames() end) do - status_bar = aux.gui.status_bar(frame) + status_bar = gui.status_bar(frame) status_bar:SetWidth(265) status_bar:SetHeight(25) - status_bar:SetPoint('TOPLEFT', aux.frame.content, 'BOTTOMLEFT', 0, -6) + status_bar:SetPoint('TOPLEFT', frame.content, 'BOTTOMLEFT', 0, -6) status_bar:update_status(100, 100) status_bar:set_text('') end do - local btn = aux.gui.button(frame, 16) + local btn = gui.button(frame, 16) btn:SetPoint('TOPLEFT', m.status_bar, 'TOPRIGHT', 5, 0) btn:SetWidth(80) btn:SetHeight(24) @@ -42,7 +42,7 @@ function create_frames() cancel_button = btn end do - local btn = aux.gui.button(m.frame, 16) + local btn = gui.button(m.frame, 16) btn:SetPoint('TOPLEFT', m.cancel_button, 'TOPRIGHT', 5, 0) btn:SetWidth(80) btn:SetHeight(24) diff --git a/tabs/bids/core.lua b/tabs/bids/core.lua index 77202fd..5e7645b 100644 --- a/tabs/bids/core.lua +++ b/tabs/bids/core.lua @@ -1,61 +1,58 @@ aux.module 'bids_tab' -aux.tab(4, 'Bids') +g.aux.tab(4, 'Bids') auction_records = nil -function m.LOAD() - m.create_frames() +function LOAD() + create_frames() end -function m.OPEN() - m.frame:Show() - m.scan_bids() +function OPEN() + frame:Show() + scan_bids() end -function m.CLOSE() - m.frame:Hide() +function CLOSE() + frame:Hide() end function update_listing() - if not m:ACTIVE() then - return - end - - m.listing:SetDatabase(m.auction_records) + if not ACTIVE then return end + listing:SetDatabase(auction_records) end function public.scan_bids() - m.status_bar:update_status(0,0) - m.status_bar:set_text('Scanning auctions...') + status_bar:update_status(0,0) + status_bar:set_text('Scanning auctions...') - m.auction_records = {} - m.update_listing() - aux.scan.start{ + auction_records = {} + update_listing() + scan.start{ type = 'bidder', queries = {{ blizzard_query = {} }}, on_page_loaded = function(page, total_pages) - m.status_bar:update_status(100 * (page - 1) / total_pages, 0) - m.status_bar:set_text(format('Scanning (Page %d / %d)', page, total_pages)) + status_bar:update_status(100 * (page - 1) / total_pages, 0) + status_bar:set_text(format('Scanning (Page %d / %d)', page, total_pages)) end, on_auction = function(auction_record) - tinsert(m.auction_records, auction_record) + tinsert(auction_records, auction_record) end, on_complete = function() - m.status_bar:update_status(100, 100) - m.status_bar:set_text('Scan complete') - m.update_listing() + status_bar:update_status(100, 100) + status_bar:set_text('Scan complete') + update_listing() end, on_abort = function() - m.status_bar:update_status(100, 100) - m.status_bar:set_text('Scan aborted') + status_bar:update_status(100, 100) + status_bar:set_text('Scan aborted') end, } end function test(record) return function(index) - local auction_info = aux.info.auction(index, 'bidder') + local auction_info = info.auction(index, 'bidder') return auction_info and auction_info.search_signature == record.search_signature end end @@ -67,45 +64,41 @@ do local found_index function find_auction(record) - if not m.listing:ContainsRecord(record) then - return - end + if not listing:ContainsRecord(record) then return end - aux.scan.abort(scan_id) + scan.abort(scan_id) state = SEARCHING - scan_id = aux.scan_util.find( + scan_id = scan_util.find( record, - m.status_bar, + status_bar, + function() state = IDLE end, function() state = IDLE - end, - function() - state = IDLE - m.listing:RemoveAuctionRecord(record) + listing:RemoveAuctionRecord(record) end, function(index) state = FOUND found_index = index if not record.high_bidder then - m.bid_button:SetScript('OnClick', function() - if m.test(record)(index) and m.listing:ContainsRecord(record) then - aux.place_bid('bidder', index, record.bid_price, record.bid_price < record.buyout_price and function() - aux.info.bid_update(record) - m.listing:SetDatabase() - end or L(m.listing.RemoveAuctionRecord, m.listing, record)) + bid_button:SetScript('OnClick', function() + if test(record)(index) and listing:ContainsRecord(record) then + place_bid('bidder', index, record.bid_price, record.bid_price < record.buyout_price and function() + info.bid_update(record) + listing:SetDatabase() + end or L(listing.RemoveAuctionRecord, listing, record)) end end) - m.bid_button:Enable() + bid_button:Enable() end if record.buyout_price > 0 then - m.buyout_button:SetScript('OnClick', function() - if m.test(record)(index) and m.listing:ContainsRecord(record) then - aux.place_bid('bidder', index, record.buyout_price, L(m.listing.RemoveAuctionRecord, m.listing, record)) + buyout_button:SetScript('OnClick', function() + if test(record)(index) and listing:ContainsRecord(record) then + place_bid('bidder', index, record.buyout_price, L(listing.RemoveAuctionRecord, listing, record)) end end) - m.buyout_button:Enable() + buyout_button:Enable() end end ) @@ -113,25 +106,21 @@ do function on_update() if state == IDLE or state == SEARCHING then - m.buyout_button:Disable() - m.bid_button:Disable() + buyout_button:Disable() + bid_button:Disable() end - if state == SEARCHING then - return - end + if state == SEARCHING then return end - local selection = m.listing:GetSelection() + local selection = listing:GetSelection() if not selection then state = IDLE elseif selection and state == IDLE then - m.find_auction(selection.record) - elseif state == FOUND and not m.test(selection.record)(found_index) then - m.buyout_button:Disable() - m.bid_button:Disable() - if not aux.bid_in_progress() then - state = IDLE - end + find_auction(selection.record) + elseif state == FOUND and not test(selection.record)(found_index) then + buyout_button:Disable() + bid_button:Disable() + if not bid_in_progress() then state = IDLE end end end end \ No newline at end of file diff --git a/tabs/bids/frames.lua b/tabs/bids/frames.lua index 8dcb89b..40d58d2 100644 --- a/tabs/bids/frames.lua +++ b/tabs/bids/frames.lua @@ -1,17 +1,17 @@ aux.module 'bids_tab' function create_frames() - frame = CreateFrame('Frame', nil, aux.frame) + frame = CreateFrame('Frame', nil, frame) frame:SetAllPoints() frame:SetScript('OnUpdate', on_update) frame:Hide() - frame.listing = aux.gui.panel(frame) - frame.listing:SetPoint('TOP', aux.frame, 'TOP', 0, -8) - frame.listing:SetPoint('BOTTOMLEFT', aux.frame.content, 'BOTTOMLEFT', 0, 0) - frame.listing:SetPoint('BOTTOMRIGHT', aux.frame.content, 'BOTTOMRIGHT', 0, 0) + frame.listing = gui.panel(frame) + frame.listing:SetPoint('TOP', frame, 'TOP', 0, -8) + frame.listing:SetPoint('BOTTOMLEFT', frame.content, 'BOTTOMLEFT', 0, 0) + frame.listing:SetPoint('BOTTOMRIGHT', frame.content, 'BOTTOMRIGHT', 0, 0) - listing = aux.auction_listing.CreateAuctionResultsTable(frame.listing, aux.auction_listing.bids_config) + listing = auction_listing.CreateAuctionResultsTable(frame.listing, auction_listing.bids_config) listing:SetSort(1,2,3,4,5,6,7,8) listing:Reset() listing:SetHandler('OnCellClick', function(cell, button) @@ -29,15 +29,15 @@ function create_frames() end) do - status_bar = aux.gui.status_bar(frame) + status_bar = gui.status_bar(frame) status_bar:SetWidth(265) status_bar:SetHeight(25) - status_bar:SetPoint('TOPLEFT', aux.frame.content, 'BOTTOMLEFT', 0, -6) + status_bar:SetPoint('TOPLEFT', frame.content, 'BOTTOMLEFT', 0, -6) status_bar:update_status(100, 0) status_bar:set_text('') end do - local btn = aux.gui.button(frame, 16) + local btn = gui.button(frame, 16) btn:SetPoint('TOPLEFT', status_bar, 'TOPRIGHT', 5, 0) btn:SetWidth(80) btn:SetHeight(24) @@ -46,7 +46,7 @@ function create_frames() bid_button = btn end do - local btn = aux.gui.button(frame, 16) + local btn = gui.button(frame, 16) btn:SetPoint('TOPLEFT', bid_button, 'TOPRIGHT', 5, 0) btn:SetWidth(80) btn:SetHeight(24) @@ -55,7 +55,7 @@ function create_frames() buyout_button = btn end do - local btn = aux.gui.button(frame, 16) + local btn = gui.button(frame, 16) btn:SetPoint('TOPLEFT', buyout_button, 'TOPRIGHT', 5, 0) btn:SetWidth(80) btn:SetHeight(24) diff --git a/tabs/post/core.lua b/tabs/post/core.lua index 251756d..f768f5f 100644 --- a/tabs/post/core.lua +++ b/tabs/post/core.lua @@ -1,5 +1,5 @@ aux.module 'post_tab' -aux.tab(2, 'Post') +g.aux.tab(2, 'Post') local DURATION_4, DURATION_8, DURATION_24 = 120, 480, 1440 local settings_schema = {'record', '#', {stack_size='number'}, {duration='number'}, {start_price='number'}, {buyout_price='number'}, {hidden='boolean'}} @@ -17,7 +17,7 @@ end function m.OPEN() m.frame:Show() - m.deposit:SetText('Deposit: '..aux.money.to_string(0, nil, nil, nil, aux.gui.inline_color.text.enabled)) + m.deposit:SetText('Deposit: '..money.to_string(0, nil, nil, nil, gui.inline_color.text.enabled)) m.set_unit_start_price(0) m.set_unit_buyout_price(0) @@ -48,12 +48,12 @@ end function read_settings(item_key) item_key = item_key or m.selected_item.key - local dataset = aux.persistence.load_dataset() + local dataset = persistence.load_dataset() dataset.post = dataset.post or {} local settings if dataset.post[item_key] then - settings = aux.persistence.read(settings_schema, dataset.post[item_key]) + settings = persistence.read(settings_schema, dataset.post[item_key]) else settings = m.default_settings() end @@ -63,46 +63,40 @@ end function write_settings(settings, item_key) item_key = item_key or m.selected_item.key - local dataset = aux.persistence.load_dataset() + local dataset = persistence.load_dataset() dataset.post = dataset.post or {} - dataset.post[item_key] = aux.persistence.write(settings_schema, settings) + dataset.post[item_key] = persistence.write(settings_schema, settings) end function get_unit_start_price() local money_text = m.unit_start_price:GetText() - return aux.money.from_string(money_text) or 0 + return money.from_string(money_text) or 0 end function set_unit_start_price(amount) - m.unit_start_price:SetText(aux.money.to_string(amount, true, nil, 3)) + m.unit_start_price:SetText(money.to_string(amount, true, nil, 3)) end function get_unit_buyout_price() local money_text = m.unit_buyout_price:GetText() - return aux.money.from_string(money_text) or 0 + return money.from_string(money_text) or 0 end function set_unit_buyout_price(amount) - m.unit_buyout_price:SetText(aux.money.to_string(amount, true, nil, 3)) + m.unit_buyout_price:SetText(money.to_string(amount, true, nil, 3)) end function update_inventory_listing() - if not m.ACTIVE() then - return - end - - aux.item_listing.populate(m.item_listing, values(filter(m.inventory_records, function(record) + if not ACTIVE then return end + item_listing.populate(m.item_listing, values(filter(m.inventory_records, function(record) local settings = m.read_settings(record.key) return record.aux_quantity > 0 and (not settings.hidden or m.show_hidden_checkbox:GetChecked()) end))) end function update_auction_listing() - if not m.ACTIVE() then - return - end - + if not ACTIVE then return end local auction_rows = {} if m.selected_item then local unit_start_price = m.get_unit_start_price() @@ -111,49 +105,49 @@ function update_auction_listing() for i, auction_record in m.existing_auctions[m.selected_item.key] or {} do local blizzard_bid_undercut, buyout_price_undercut = m.undercut(auction_record, m.stack_size_slider:GetValue()) - blizzard_bid_undercut = aux.money.from_string(aux.money.to_string(blizzard_bid_undercut, true, nil, 3)) - buyout_price_undercut = aux.money.from_string(aux.money.to_string(buyout_price_undercut, true, nil, 3)) + blizzard_bid_undercut = money.from_string(money.to_string(blizzard_bid_undercut, true, nil, 3)) + buyout_price_undercut = money.from_string(money.to_string(buyout_price_undercut, true, nil, 3)) local stack_blizzard_bid_undercut, stack_buyout_price_undercut = m.undercut(auction_record, m.stack_size_slider:GetValue(), true) - stack_blizzard_bid_undercut = aux.money.from_string(aux.money.to_string(stack_blizzard_bid_undercut, true, nil, 3)) - stack_buyout_price_undercut = aux.money.from_string(aux.money.to_string(stack_buyout_price_undercut, true, nil, 3)) + stack_blizzard_bid_undercut = money.from_string(money.to_string(stack_blizzard_bid_undercut, true, nil, 3)) + stack_buyout_price_undercut = money.from_string(money.to_string(stack_buyout_price_undercut, true, nil, 3)) local stack_size = m.stack_size_slider:GetValue() - local historical_value = aux.history.value(m.selected_item.key) + local historical_value = history.value(m.selected_item.key) local bid_color if blizzard_bid_undercut < unit_start_price and stack_blizzard_bid_undercut < unit_start_price then - bid_color = aux.gui.inline_color.red + bid_color = gui.inline_color.red elseif blizzard_bid_undercut < unit_start_price then - bid_color = aux.gui.inline_color.orange + bid_color = gui.inline_color.orange elseif stack_blizzard_bid_undercut < unit_start_price then - bid_color = aux.gui.inline_color.yellow + bid_color = gui.inline_color.yellow end local buyout_color if buyout_price_undercut < unit_buyout_price and stack_buyout_price_undercut < unit_buyout_price then - buyout_color = aux.gui.inline_color.red + buyout_color = gui.inline_color.red elseif buyout_price_undercut < unit_buyout_price then - buyout_color = aux.gui.inline_color.orange + buyout_color = gui.inline_color.orange elseif stack_buyout_price_undercut < unit_buyout_price then - buyout_color = aux.gui.inline_color.yellow + buyout_color = gui.inline_color.yellow end tinsert(auction_rows, { cols = { - {value=auction_record.own and aux.gui.color.yellow(auction_record.count) or auction_record.count}, - {value=aux.auction_listing.time_left(auction_record.duration)}, - {value=auction_record.stack_size == stack_size and aux.gui.color.yellow(auction_record.stack_size) or auction_record.stack_size}, - {value=aux.money.to_string(auction_record.unit_blizzard_bid, true, nil, 3, bid_color) }, - {value=historical_value and aux.auction_listing.percentage_historical(round(auction_record.unit_blizzard_bid / historical_value * 100)) or '---'}, - {value=auction_record.unit_buyout_price > 0 and aux.money.to_string(auction_record.unit_buyout_price, true, nil, 3, buyout_color) or '---'}, - {value=auction_record.unit_buyout_price > 0 and historical_value and aux.auction_listing.percentage_historical(round(auction_record.unit_buyout_price / historical_value * 100)) or '---'}, + {value=auction_record.own and gui.color.yellow(auction_record.count) or auction_record.count}, + {value=auction_listing.time_left(auction_record.duration)}, + {value=auction_record.stack_size == stack_size and gui.color.yellow(auction_record.stack_size) or auction_record.stack_size}, + {value=money.to_string(auction_record.unit_blizzard_bid, true, nil, 3, bid_color) }, + {value=historical_value and auction_listing.percentage_historical(round(auction_record.unit_blizzard_bid / historical_value * 100)) or '---'}, + {value=auction_record.unit_buyout_price > 0 and money.to_string(auction_record.unit_buyout_price, true, nil, 3, buyout_color) or '---'}, + {value=auction_record.unit_buyout_price > 0 and historical_value and auction_listing.percentage_historical(round(auction_record.unit_buyout_price / historical_value * 100)) or '---'}, }, record = auction_record, }) end sort(auction_rows, function(a, b) - return aux.sorting.multi_lt( + return sorting.multi_lt( { a.record.unit_buyout_price == 0 and huge or a.record.unit_buyout_price, a.record.unit_blizzard_bid, @@ -189,13 +183,13 @@ function price_update() local start_price_input = m.get_unit_start_price() settings.start_price = start_price_input - local historical_value = aux.history.value(m.selected_item.key) - m.start_price_percentage:SetText(historical_value and aux.auction_listing.percentage_historical(round(start_price_input / historical_value * 100)) or '---') + local historical_value = history.value(m.selected_item.key) + m.start_price_percentage:SetText(historical_value and auction_listing.percentage_historical(round(start_price_input / historical_value * 100)) or '---') local buyout_price_input = m.get_unit_buyout_price() settings.buyout_price = buyout_price_input - local historical_value = aux.history.value(m.selected_item.key) - m.buyout_price_percentage:SetText(historical_value and aux.auction_listing.percentage_historical(round(buyout_price_input / historical_value * 100)) or '---') + local historical_value = history.value(m.selected_item.key) + m.buyout_price_percentage:SetText(historical_value and auction_listing.percentage_historical(round(buyout_price_input / historical_value * 100)) or '---') m.write_settings(settings) end @@ -220,7 +214,7 @@ function post_auctions() duration_code = 4 end - aux.post.start( + post.start( key, stack_size, duration, @@ -279,7 +273,7 @@ function update_item_configuration() item.texture:SetTexture(nil) item.count:SetText() - item.name:SetTextColor(unpack(aux.gui.color.label.enabled)) + item.name:SetTextColor(unpack(gui.color.label.enabled)) item.name:SetText('No item selected') start_price_frame:Hide() @@ -314,13 +308,13 @@ function update_item_configuration() m.stack_count_slider.editbox:SetNumber(m.stack_count_slider:GetValue()) do - local deposit_factor = aux.neutral_faction() and 0.25 or 0.05 + local deposit_factor = neutral_faction() and 0.25 or 0.05 local stack_size = m.stack_size_slider:GetValue() local stack_count stack_count = m.stack_count_slider:GetValue() local deposit = floor(m.selected_item.unit_vendor_price * deposit_factor * (m.selected_item.max_charges and 1 or stack_size)) * stack_count * UIDropDownMenu_GetSelectedValue(m.duration_dropdown) / 120 - m.deposit:SetText('Deposit: '..aux.money.to_string(deposit, nil, nil, nil, aux.gui.inline_color.text.enabled)) + m.deposit:SetText('Deposit: '..money.to_string(deposit, nil, nil, nil, gui.inline_color.text.enabled)) end m.refresh_button:Enable() @@ -354,14 +348,14 @@ function unit_vendor_price(item_key) for slot in inventory do - local item_info = aux.info.container_item(unpack(slot)) + local item_info = info.container_item(unpack(slot)) if item_info and item_info.item_key == item_key then - if aux.info.auctionable(item_info.tooltip, nil, item_info.lootable) then + if info.auctionable(item_info.tooltip, nil, item_info.lootable) then ClearCursor() PickupContainerItem(unpack(slot)) ClickAuctionSellItemButton() - local auction_sell_item = aux.info.auction_sell_item() + local auction_sell_item = info.auction_sell_item() ClearCursor() ClickAuctionSellItemButton() ClearCursor() @@ -376,9 +370,9 @@ end function update_historical_value_button() if m.selected_item then - local historical_value = aux.history.value(m.selected_item.key) + local historical_value = history.value(m.selected_item.key) m.historical_value_button.amount = historical_value - m.historical_value_button:SetText(historical_value and aux.money.to_string(historical_value, true, nil, 3) or '---') + m.historical_value_button:SetText(historical_value and money.to_string(historical_value, true, nil, 3) or '---') end end @@ -393,7 +387,7 @@ function set_item(item) return end - aux.scan.abort(m.scan_id) + scan.abort(m.scan_id) m.selected_item = item @@ -406,8 +400,8 @@ function set_item(item) m.stack_size_slider:SetValue(settings.stack_size) m.quantity_update(true) - m.unit_start_price:SetText(aux.money.to_string(settings.start_price, true, nil, 3, nil, true)) - m.unit_buyout_price:SetText(aux.money.to_string(settings.buyout_price, true, nil, 3, nil, true)) + m.unit_start_price:SetText(money.to_string(settings.start_price, true, nil, 3, nil, true)) + m.unit_buyout_price:SetText(money.to_string(settings.buyout_price, true, nil, 3, nil, true)) if not m.existing_auctions[m.selected_item.key] then m.refresh_entries() @@ -425,11 +419,11 @@ function update_inventory_records() for slot in inventory do - local item_info = aux.info.container_item(unpack(slot)) + local item_info = info.container_item(unpack(slot)) if item_info then local charge_class = item_info.charges or 0 - if aux.info.auctionable(item_info.tooltip, nil, item_info.lootable) then + if info.auctionable(item_info.tooltip, nil, item_info.lootable) then if not auction_candidate_map[item_info.item_key] then local availability = {} @@ -477,12 +471,12 @@ function refresh_entries() m.existing_auctions[item_key] = nil - local query = aux.scan_util.item_query(item_id) + local query = scan_util.item_query(item_id) m.status_bar:update_status(0,0) m.status_bar:set_text('Scanning auctions...') - m.scan_id = aux.scan.start{ + m.scan_id = scan.start{ type = 'list', ignore_owner = true, queries = { query }, @@ -522,7 +516,7 @@ function record_auction(key, aux_quantity, unit_blizzard_bid, unit_buyout_price, m.existing_auctions[key] = m.existing_auctions[key] or {} local entry for _, existing_entry in m.existing_auctions[key] do - if unit_blizzard_bid == existing_entry.unit_blizzard_bid and unit_buyout_price == existing_entry.unit_buyout_price and aux_quantity == existing_entry.stack_size and duration == existing_entry.duration and aux.is_player(owner) == existing_entry.own then + if unit_blizzard_bid == existing_entry.unit_blizzard_bid and unit_buyout_price == existing_entry.unit_buyout_price and aux_quantity == existing_entry.stack_size and duration == existing_entry.duration and is_player(owner) == existing_entry.own then entry = existing_entry end end @@ -533,7 +527,7 @@ function record_auction(key, aux_quantity, unit_blizzard_bid, unit_buyout_price, unit_blizzard_bid = unit_blizzard_bid, unit_buyout_price = unit_buyout_price, duration = duration, - own = aux.is_player(owner), + own = is_player(owner), count = 0, } tinsert(m.existing_auctions[key], entry) diff --git a/tabs/post/frames.lua b/tabs/post/frames.lua index f5f8bf1..668e46c 100644 --- a/tabs/post/frames.lua +++ b/tabs/post/frames.lua @@ -1,54 +1,54 @@ aux.module 'post_tab' function create_frames() - frame = CreateFrame('Frame', nil, aux.frame) + frame = CreateFrame('Frame', nil, frame) frame:SetAllPoints() frame:SetScript('OnUpdate', on_update) frame:Hide() frame.content = CreateFrame('Frame', nil, frame) - frame.content:SetPoint('TOP', aux.frame, 'TOP', 0, -8) - frame.content:SetPoint('BOTTOMLEFT', aux.frame.content, 'BOTTOMLEFT', 0, 0) - frame.content:SetPoint('BOTTOMRIGHT', aux.frame.content, 'BOTTOMRIGHT', 0, 0) + frame.content:SetPoint('TOP', frame, 'TOP', 0, -8) + frame.content:SetPoint('BOTTOMLEFT', frame.content, 'BOTTOMLEFT', 0, 0) + frame.content:SetPoint('BOTTOMRIGHT', frame.content, 'BOTTOMRIGHT', 0, 0) - frame.inventory = aux.gui.panel(frame.content) + frame.inventory = gui.panel(frame.content) frame.inventory:SetWidth(212) frame.inventory:SetPoint('TOPLEFT', 0, 0) frame.inventory:SetPoint('BOTTOMLEFT', 0, 0) - frame.parameters = aux.gui.panel(frame.content) + frame.parameters = gui.panel(frame.content) frame.parameters:SetHeight(173) frame.parameters:SetPoint('TOPLEFT', frame.inventory, 'TOPRIGHT', 2.5, 0) frame.parameters:SetPoint('TOPRIGHT', 0, 0) - frame.auctions = aux.gui.panel(frame.content) + frame.auctions = gui.panel(frame.content) frame.auctions:SetHeight(228) frame.auctions:SetPoint('BOTTOMLEFT', frame.inventory, 'BOTTOMRIGHT', 2.5, 0) frame.auctions:SetPoint('BOTTOMRIGHT', 0, 0) do - local checkbox = aux.gui.checkbox(frame.inventory) + local checkbox = gui.checkbox(frame.inventory) checkbox:SetPoint('TOPLEFT', 49, -16) checkbox:SetScript('OnClick', function() refresh = true end) - local label = aux.gui.label(checkbox, aux.gui.config.small_font_size) + local label = gui.label(checkbox, gui.config.small_font_size) label:SetPoint('LEFT', checkbox, 'RIGHT', 4, 1) label:SetText('Show hidden items') show_hidden_checkbox = checkbox end - aux.gui.horizontal_line(frame.inventory, -48) + gui.horizontal_line(frame.inventory, -48) - item_listing = aux.item_listing.create( + item_listing = item_listing.create( frame.inventory, function() if arg1 == 'LeftButton' then set_item(this.item_record) elseif arg1 == 'RightButton' then - aux.set_tab(1) - aux.search_tab.set_filter(strlower(aux.info.item(this.item_record.item_id).name)..'/exact') - aux.search_tab.execute(nil, false) + set_tab(1) + search_tab.set_filter(strlower(info.item(this.item_record.item_id).name)..'/exact') + search_tab.execute(nil, false) end end, function(item_record) @@ -56,7 +56,7 @@ function create_frames() end ) - auction_listing = aux.listing.CreateScrollingTable(frame.auctions) + auction_listing = listing.CreateScrollingTable(frame.auctions) auction_listing:SetColInfo({ { name='Auctions', width=.12, align='CENTER' }, { name='Left', width=.1, align='CENTER' }, @@ -81,15 +81,15 @@ function create_frames() end) do - status_bar = aux.gui.status_bar(frame) + status_bar = gui.status_bar(frame) status_bar:SetWidth(265) status_bar:SetHeight(25) - status_bar:SetPoint('TOPLEFT', aux.frame.content, 'BOTTOMLEFT', 0, -6) + status_bar:SetPoint('TOPLEFT', frame.content, 'BOTTOMLEFT', 0, -6) status_bar:update_status(100, 100) status_bar:set_text('') end do - local btn = aux.gui.button(frame.parameters, 16) + local btn = gui.button(frame.parameters, 16) btn:SetPoint('TOPLEFT', status_bar, 'TOPRIGHT', 5, 0) btn:SetWidth(80) btn:SetHeight(24) @@ -98,24 +98,24 @@ function create_frames() post_button = btn end do - local btn = aux.gui.button(frame.parameters, 16) + local btn = gui.button(frame.parameters, 16) btn:SetPoint('TOPLEFT', post_button, 'TOPRIGHT', 5, 0) btn:SetWidth(80) btn:SetHeight(24) btn:SetText('Refresh') btn:SetScript('OnClick', function() - aux.scan.abort(scan_id) + scan.abort(scan_id) refresh_entries() refresh = true end) refresh_button = btn end do - item = aux.gui.item(frame.parameters) + item = gui.item(frame.parameters) item:SetPoint('TOPLEFT', 10, -6) item.button:SetScript('OnEnter', function() if selected_item then - aux.info.set_tooltip(selected_item.itemstring, this, 'ANCHOR_RIGHT') + info.set_tooltip(selected_item.itemstring, this, 'ANCHOR_RIGHT') end end) item.button:SetScript('OnLeave', function() @@ -123,7 +123,7 @@ function create_frames() end) end do - local slider = aux.gui.slider(frame.parameters) + local slider = gui.slider(frame.parameters) slider:SetValueStep(1) slider:SetPoint('TOPLEFT', 13, -74) slider:SetWidth(190) @@ -154,7 +154,7 @@ function create_frames() stack_size_slider = slider end do - local slider = aux.gui.slider(frame.parameters) + local slider = gui.slider(frame.parameters) slider:SetValueStep(1) slider:SetPoint('TOPLEFT', stack_size_slider, 'BOTTOMLEFT', 0, -32) slider:SetWidth(190) @@ -177,10 +177,10 @@ function create_frames() stack_count_slider = slider end do - local dropdown = aux.gui.dropdown(frame.parameters) + local dropdown = gui.dropdown(frame.parameters) dropdown:SetPoint('TOPLEFT', stack_count_slider, 'BOTTOMLEFT', 0, -19) dropdown:SetWidth(90) - local label = aux.gui.label(dropdown, aux.gui.config.small_font_size) + local label = gui.label(dropdown, gui.config.small_font_size) label:SetPoint('BOTTOMLEFT', dropdown, 'TOPLEFT', -2, -3) label:SetText('Duration') UIDropDownMenu_Initialize(dropdown, initialize_duration_dropdown) @@ -190,12 +190,12 @@ function create_frames() duration_dropdown = dropdown end do - local label = aux.gui.label(frame.parameters, aux.gui.config.medium_font_size) + local label = gui.label(frame.parameters, gui.config.medium_font_size) label:SetPoint('LEFT', duration_dropdown, 'RIGHT', 25, 0) deposit = label end do - local checkbox = aux.gui.checkbox(frame.parameters) + local checkbox = gui.checkbox(frame.parameters) checkbox:SetPoint('TOPRIGHT', -83, -6) checkbox:SetScript('OnClick', function() local settings = read_settings() @@ -203,7 +203,7 @@ function create_frames() write_settings(settings) refresh = true end) - local label = aux.gui.label(checkbox, aux.gui.config.small_font_size) + local label = gui.label(checkbox, gui.config.small_font_size) label:SetPoint('LEFT', checkbox, 'RIGHT', 4, 1) label:SetText 'Hide this item' hide_checkbox = checkbox @@ -215,11 +215,11 @@ function create_frames() do local frame = CreateFrame('Frame', nil, frame.parameters) start_price_frame = frame - aux.gui.set_content_style(frame) + gui.set_content_style(frame) frame:SetPoint('TOPRIGHT', m.frame.parameters, 'TOPRIGHT', -71, -60) frame:SetWidth(180) frame:SetHeight(22) - local editbox = aux.gui.editbox(frame) + local editbox = gui.editbox(frame) editbox:SetAllPoints() editbox:SetAlignment 'RIGHT' editbox:SetFontSize(17) @@ -233,7 +233,7 @@ function create_frames() end end) editbox.change = function() - this.pretty:SetText(aux.money.to_string(get_unit_start_price(), true, nil, 3)) + this.pretty:SetText(money.to_string(get_unit_start_price(), true, nil, 3)) refresh = true end editbox.enter = function() this:ClearFocus() end @@ -242,23 +242,23 @@ function create_frames() this:SetAlpha(1) end editbox.focus_loss = function() - this:SetText(aux.money.to_string(get_unit_start_price(), true, nil, 3, nil, true)) + this:SetText(money.to_string(get_unit_start_price(), true, nil, 3, nil, true)) this.pretty:Show() this:SetAlpha(0) end editbox:SetAlpha(0) - editbox.pretty = aux.gui.label(frame, 17) + editbox.pretty = gui.label(frame, 17) editbox.pretty:SetPoint('LEFT', 1, 0) editbox.pretty:SetPoint('RIGHT', -2, 0) editbox.pretty:SetJustifyH 'RIGHT' - editbox.pretty:SetTextColor(aux.gui.color.text.enabled()) + editbox.pretty:SetTextColor(gui.color.text.enabled()) do - local label = aux.gui.label(frame, aux.gui.config.small_font_size) + local label = gui.label(frame, gui.config.small_font_size) label:SetPoint('BOTTOMLEFT', frame, 'TOPLEFT', -2, 1) label:SetText 'Unit Starting Price' end do - local label = aux.gui.label(frame, 14) + local label = gui.label(frame, 14) label:SetPoint('LEFT', frame, 'RIGHT', 8, 0) label:SetWidth(50) label:SetJustifyH 'CENTER' @@ -269,11 +269,11 @@ function create_frames() do local frame = CreateFrame('Frame', nil, frame.parameters) buyout_price_frame = frame - aux.gui.set_content_style(frame) + gui.set_content_style(frame) frame:SetPoint('TOPRIGHT', unit_start_price, 'BOTTOMRIGHT', 0, -19) frame:SetWidth(180) frame:SetHeight(22) - local editbox = aux.gui.editbox(frame) + local editbox = gui.editbox(frame) editbox:SetAllPoints() editbox:SetAlignment 'RIGHT' editbox:SetFontSize(17) @@ -285,7 +285,7 @@ function create_frames() end end) editbox.change = function() - this.pretty:SetText(aux.money.to_string(get_unit_buyout_price(), true, nil, 3)) + this.pretty:SetText(money.to_string(get_unit_buyout_price(), true, nil, 3)) refresh = true end editbox.enter = function() this:ClearFocus() end @@ -294,23 +294,23 @@ function create_frames() this:SetAlpha(1) end editbox.focus_loss = function() - this:SetText(aux.money.to_string(get_unit_buyout_price(), true, nil, 3, nil, true)) + this:SetText(money.to_string(get_unit_buyout_price(), true, nil, 3, nil, true)) this.pretty:Show() this:SetAlpha(0) end editbox:SetAlpha(0) - editbox.pretty = aux.gui.label(frame, 17) + editbox.pretty = gui.label(frame, 17) editbox.pretty:SetPoint('LEFT', 1, 0) editbox.pretty:SetPoint('RIGHT', -2, 0) editbox.pretty:SetJustifyH 'RIGHT' - editbox.pretty:SetTextColor(aux.gui.color.text.enabled()) + editbox.pretty:SetTextColor(gui.color.text.enabled()) do - local label = aux.gui.label(frame, aux.gui.config.small_font_size) + local label = gui.label(frame, gui.config.small_font_size) label:SetPoint('BOTTOMLEFT', frame, 'TOPLEFT', -2, 1) label:SetText 'Unit Buyout Price' end do - local label = aux.gui.label(frame, 14) + local label = gui.label(frame, 14) label:SetPoint('LEFT', frame, 'RIGHT', 8, 0) label:SetWidth(50) label:SetJustifyH 'CENTER' @@ -319,9 +319,9 @@ function create_frames() unit_buyout_price = editbox end do - local btn = aux.gui.button(frame.parameters, 14) + local btn = gui.button(frame.parameters, 14) btn:SetPoint('TOPRIGHT', -10, -146) - aux.gui.set_size(btn, 150, 20) + gui.set_size(btn, 150, 20) btn:GetFontString():SetJustifyH 'RIGHT' btn:GetFontString():SetPoint('RIGHT', -2, 0) btn:SetScript('OnClick', function() @@ -330,7 +330,7 @@ function create_frames() set_unit_buyout_price(this.amount) end end) - local label = aux.gui.label(btn, aux.gui.config.small_font_size) + local label = gui.label(btn, gui.config.small_font_size) label:SetPoint('BOTTOMLEFT', btn, 'TOPLEFT', -2, 1) label:SetText 'Historical Value' historical_value_button = btn diff --git a/tabs/search/core.lua b/tabs/search/core.lua index ec8c932..d93a35e 100644 --- a/tabs/search/core.lua +++ b/tabs/search/core.lua @@ -1,5 +1,5 @@ aux.module 'search_tab' -aux.tab(1, 'Search') +g.aux.tab(1, 'Search') StaticPopupDialogs['AUX_SEARCH_TABLE_FULL'] = { text = 'Table full!\nFurther results from this search will still be processed but no longer displayed in the table.', diff --git a/tabs/search/filter.lua b/tabs/search/filter.lua index 0578466..951c0f4 100644 --- a/tabs/search/filter.lua +++ b/tabs/search/filter.lua @@ -109,8 +109,8 @@ function get_filter_builder_query() end local name = blizzard_query.name - if not index(aux.filter.parse_query_string(name), 'blizzard', 'name') then - name = aux.filter.quote(name) + if not index(filter.parse_query_string(name), 'blizzard', 'name') then + name = filter.quote(name) end add((name ~= '' or blizzard_query.exact) and name) @@ -134,7 +134,7 @@ function get_filter_builder_query() add(strlower(getglobal('ITEM_QUALITY'..quality..'_DESC'))) end - local post_filter_string = aux.filter.query_string{blizzard={}, post=post_filter} + local post_filter_string = filter.query_string{blizzard={}, post=post_filter} add(post_filter_string ~= '' and post_filter_string) return query_string or '' @@ -171,7 +171,7 @@ function clear_form() end function import_query_string() - local components, error = aux.filter.parse_query_string(select(3, strfind(search_box:GetText(), '^([^;]*)'))) + local components, error = filter.parse_query_string(select(3, strfind(search_box:GetText(), '^([^;]*)'))) if components then set_form(components) else @@ -195,12 +195,12 @@ function public.formatted_post_filter(components) elseif i > 1 then str = str..'

' for _=1,getn(stack) do - str = str..aux.gui.color.content.background('----') + str = str..gui.color.content.background('----') end end no_line_break = component[1] == 'operator' and component[2] == 'not' - local filter_color = (filter_builder_state.selected == i and aux.gui.color.orange or aux.gui.color.aux) + local filter_color = (filter_builder_state.selected == i and gui.color.orange or gui.color.aux) local component_text = filter_color(component[2]) if component[1] == 'operator' and component[2] ~= 'not' then component_text = component_text..filter_color(tonumber(component[3]) or '') @@ -208,9 +208,9 @@ function public.formatted_post_filter(components) elseif component[1] == 'filter' then for parameter in present(component[3]) do if component[2] == 'item' then - parameter = aux.info.display_name(aux.cache.item_id(parameter)) or '['..parameter..']' - elseif aux.filter.filters[component[2]].input_type == 'money' then - parameter = aux.money.to_string(aux.money.from_string(parameter), nil, true) + parameter = info.display_name(cache.item_id(parameter)) or '['..parameter..']' + elseif filter.filters[component[2]].input_type == 'money' then + parameter = money.to_string(money.from_string(parameter), nil, true) end component_text = component_text..filter_color(': ')..parameter end @@ -262,13 +262,13 @@ end function add_post_filter() for str in present(filter_input:GetText()) do - for filter in present(aux.filter.filters[str]) do + for filter in present(filter.filters[str]) do if filter.input_type ~= '' then str = str..'/'..filter_parameter_input:GetText() end end - local components, error, suggestions = aux.filter.parse_query_string(str) + local components, error, suggestions = filter.parse_query_string(str) if components and getn(components.blizzard) == 0 and getn(components.post) == 1 then add_component(components.post[1]) @@ -325,9 +325,9 @@ function initialize_filter_dropdown() value = filter, func = function() filter_input:SetText(this.value) - if index(aux.filter.filters[this.value], 'input_type') == '' or this.value == 'not' then + if index(filter.filters[this.value], 'input_type') == '' or this.value == 'not' then add_post_filter() - elseif aux.filter.filters[this.value] then + elseif filter.filters[this.value] then filter_parameter_input:Show() filter_parameter_input:SetFocus() else diff --git a/tabs/search/frames.lua b/tabs/search/frames.lua index 7975768..df23950 100644 --- a/tabs/search/frames.lua +++ b/tabs/search/frames.lua @@ -3,31 +3,31 @@ aux.module 'search_tab' FILTER_SPACING = 28.5 function create_frames() - frame = CreateFrame('Frame', nil, aux.frame) + frame = CreateFrame('Frame', nil, frame) frame:SetAllPoints() frame:SetScript('OnUpdate', on_update) frame:Hide() - frame.filter = aux.gui.panel(frame) - frame.filter:SetAllPoints(aux.frame.content) + frame.filter = gui.panel(frame) + frame.filter:SetAllPoints(frame.content) - frame.results = aux.gui.panel(frame) - frame.results:SetAllPoints(aux.frame.content) + frame.results = gui.panel(frame) + frame.results:SetAllPoints(frame.content) frame.saved = CreateFrame('Frame', nil, frame) - frame.saved:SetAllPoints(aux.frame.content) + frame.saved:SetAllPoints(frame.content) - frame.saved.favorite = aux.gui.panel(frame.saved) + frame.saved.favorite = gui.panel(frame.saved) frame.saved.favorite:SetWidth(378.5) frame.saved.favorite:SetPoint('TOPLEFT', 0, 0) frame.saved.favorite:SetPoint('BOTTOMLEFT', 0, 0) - frame.saved.recent = aux.gui.panel(frame.saved) + frame.saved.recent = gui.panel(frame.saved) frame.saved.recent:SetWidth(378.5) frame.saved.recent:SetPoint('TOPRIGHT', 0, 0) frame.saved.recent:SetPoint('BOTTOMRIGHT', 0, 0) do - local btn = aux.gui.button(frame) + local btn = gui.button(frame) btn:SetPoint('TOPLEFT', 0, 0) btn:SetWidth(42) btn:SetHeight(42) @@ -54,7 +54,7 @@ function create_frames() do local panel = CreateFrame('Frame', nil, frame) panel:SetBackdrop{bgFile=[[Interface\Buttons\WHITE8X8]]} - panel:SetBackdropColor(unpack(aux.gui.color.content.background)) + panel:SetBackdropColor(unpack(gui.color.content.background)) panel:SetPoint('LEFT', settings_button, 'RIGHT', 0, 0) panel:SetPoint('RIGHT', 0, 0) panel:SetHeight(42) @@ -76,42 +76,42 @@ function create_frames() this:SetText(valid_input) end if blizzard_page_index(this:GetText()) and not real_time_button:GetChecked() then - this:SetBackdropColor(aux.gui.color.state.enabled()) + this:SetBackdropColor(gui.color.state.enabled()) else - this:SetBackdropColor(aux.gui.color.state.disabled()) + this:SetBackdropColor(gui.color.state.disabled()) end end do - local editbox = aux.gui.editbox(settings) + local editbox = gui.editbox(settings) editbox:SetPoint('LEFT', 75, 0) editbox:SetWidth(50) editbox:SetNumeric(true) editbox:SetScript('OnTabPressed', function() last_page_input:SetFocus() end) editbox.enter = execute editbox.change = change - local label = aux.gui.label(editbox, 16) + local label = gui.label(editbox, 16) label:SetPoint('RIGHT', editbox, 'LEFT', -6, 0) label:SetText('Pages') - label:SetTextColor(aux.gui.color.text.enabled()) + label:SetTextColor(gui.color.text.enabled()) first_page_input = editbox end do - local editbox = aux.gui.editbox(settings) + local editbox = gui.editbox(settings) editbox:SetPoint('LEFT', first_page_input, 'RIGHT', 10, 0) editbox:SetWidth(50) editbox:SetNumeric(true) editbox:SetScript('OnTabPressed', function() first_page_input:SetFocus() end) editbox.enter = execute editbox.change = change - local label = aux.gui.label(editbox, aux.gui.config.medium_font_size) + local label = gui.label(editbox, gui.config.medium_font_size) label:SetPoint('RIGHT', editbox, 'LEFT', -3.5, 0) label:SetText('-') - label:SetTextColor(aux.gui.color.text.enabled()) + label:SetTextColor(gui.color.text.enabled()) last_page_input = editbox end end do - local btn = aux.gui.checkbutton(settings) + local btn = gui.checkbutton(settings) btn:SetPoint('LEFT', 230, 0) btn:SetWidth(140) btn:SetHeight(25) @@ -126,7 +126,7 @@ function create_frames() public.real_time_button = btn end do - local btn = aux.gui.checkbutton(settings) + local btn = gui.checkbutton(settings) btn:SetPoint('LEFT', real_time_button, 'RIGHT', 15, 0) btn:SetWidth(140) btn:SetHeight(25) @@ -141,7 +141,7 @@ function create_frames() auto_buy_button = btn end do - local btn = aux.gui.checkbutton(settings) + local btn = gui.checkbutton(settings) btn:SetPoint('LEFT', auto_buy_button, 'RIGHT', 15, 0) btn:SetWidth(140) btn:SetHeight(25) @@ -169,7 +169,7 @@ function create_frames() auto_buy_filter_button = btn end do - local btn = aux.gui.button(controls, 25) + local btn = gui.button(controls, 25) btn:SetPoint('LEFT', 5, 0) btn:SetWidth(30) btn:SetHeight(25) @@ -178,7 +178,7 @@ function create_frames() previous_button = btn end do - local btn = aux.gui.button(controls, 25) + local btn = gui.button(controls, 25) btn:SetPoint('LEFT', previous_button, 'RIGHT', 4, 0) btn:SetWidth(30) btn:SetHeight(25) @@ -187,7 +187,7 @@ function create_frames() next_button = btn end do - local btn = aux.gui.button(controls, aux.gui.config.huge_font_size) + local btn = gui.button(controls, gui.config.huge_font_size) btn:SetPoint('RIGHT', -5, 0) btn:SetWidth(70) btn:SetHeight(25) @@ -202,31 +202,31 @@ function create_frames() start_button = btn end do - local btn = aux.gui.button(controls, aux.gui.config.huge_font_size) + local btn = gui.button(controls, gui.config.huge_font_size) btn:SetPoint('RIGHT', -5, 0) btn:SetWidth(70) btn:SetHeight(25) btn:SetText('Stop') btn:SetScript('OnClick', function() - aux.scan.abort(search_scan_id) + scan.abort(search_scan_id) end) stop_button = btn end do - local btn = aux.gui.button(controls, aux.gui.config.huge_font_size) + local btn = gui.button(controls, gui.config.huge_font_size) btn:SetPoint('RIGHT', start_button, 'LEFT', -4, 0) btn:SetWidth(70) btn:SetHeight(25) - btn:SetText(aux.gui.color.green 'Resume') + btn:SetText(gui.color.green 'Resume') btn:SetScript('OnClick', function() execute(true) end) resume_button = btn end do - local editbox = aux.gui.editbox(controls) + local editbox = gui.editbox(controls) editbox:EnableMouse(1) - editbox.complete = aux.completion.complete_filter + editbox.complete = completion.complete_filter editbox:SetPoint('RIGHT', start_button, 'LEFT', -4, 0) editbox:SetHeight(25) editbox.char = function() @@ -239,11 +239,11 @@ function create_frames() search_box = editbox end do - aux.gui.horizontal_line(frame, -40) + gui.horizontal_line(frame, -40) end do - local btn = aux.gui.button(frame, aux.gui.config.large_font_size2) - btn:SetPoint('BOTTOMLEFT', aux.frame.content, 'TOPLEFT', 10, 8) + local btn = gui.button(frame, gui.config.large_font_size2) + btn:SetPoint('BOTTOMLEFT', frame.content, 'TOPLEFT', 10, 8) btn:SetWidth(243) btn:SetHeight(22) btn:SetText 'Search Results' @@ -251,7 +251,7 @@ function create_frames() search_results_button = btn end do - local btn = aux.gui.button(frame, aux.gui.config.large_font_size2) + local btn = gui.button(frame, gui.config.large_font_size2) btn:SetPoint('TOPLEFT', search_results_button, 'TOPRIGHT', 5, 0) btn:SetWidth(243) btn:SetHeight(22) @@ -260,7 +260,7 @@ function create_frames() saved_searches_button = btn end do - local btn = aux.gui.button(frame, aux.gui.config.large_font_size2) + local btn = gui.button(frame, gui.config.large_font_size2) btn:SetPoint('TOPLEFT', saved_searches_button, 'TOPRIGHT', 5, 0) btn:SetWidth(243) btn:SetHeight(22) @@ -272,11 +272,11 @@ function create_frames() local frame = CreateFrame('Frame', nil, frame) frame:SetWidth(265) frame:SetHeight(25) - frame:SetPoint('TOPLEFT', aux.frame.content, 'BOTTOMLEFT', 0, -6) + frame:SetPoint('TOPLEFT', frame.content, 'BOTTOMLEFT', 0, -6) status_bar_frame = frame end do - local btn = aux.gui.button(frame.results, 16) + local btn = gui.button(frame.results, 16) btn:SetPoint('TOPLEFT', status_bar_frame, 'TOPRIGHT', 5, 0) btn:SetWidth(80) btn:SetHeight(24) @@ -285,7 +285,7 @@ function create_frames() bid_button = btn end do - local btn = aux.gui.button(frame.results, 16) + local btn = gui.button(frame.results, 16) btn:SetPoint('TOPLEFT', bid_button, 'TOPRIGHT', 5, 0) btn:SetWidth(80) btn:SetHeight(24) @@ -294,7 +294,7 @@ function create_frames() buyout_button = btn end do - local btn = aux.gui.button(frame.results, 16) + local btn = gui.button(frame.results, 16) btn:SetPoint('TOPLEFT', buyout_button, 'TOPRIGHT', 5, 0) btn:SetWidth(80) btn:SetHeight(24) @@ -305,13 +305,13 @@ function create_frames() end) end do - local btn = aux.gui.button(frame.saved, 16) + local btn = gui.button(frame.saved, 16) btn:SetPoint('TOPLEFT', status_bar_frame, 'TOPRIGHT', 5, 0) btn:SetWidth(80) btn:SetHeight(24) btn:SetText 'Favorite' btn:SetScript('OnClick', function() - local filters = aux.filter.queries(search_box:GetText()) + local filters = filter.queries(search_box:GetText()) if filters then tinsert(g.aux_favorite_searches, 1, { filter_string = search_box:GetText(), @@ -322,30 +322,30 @@ function create_frames() end) end do - local btn1 = aux.gui.button(frame.filter, 16) + local btn1 = gui.button(frame.filter, 16) btn1:SetPoint('TOPLEFT', status_bar_frame, 'TOPRIGHT', 5, 0) - aux.gui.set_size(btn1, 80, 24) + gui.set_size(btn1, 80, 24) btn1:SetText 'Search' btn1:SetScript('OnClick', function() export_query_string() execute() end) - local btn2 = aux.gui.button(frame.filter, 16) + local btn2 = gui.button(frame.filter, 16) btn2:SetPoint('LEFT', btn1, 'RIGHT', 5, 0) - aux.gui.set_size(btn2, 80, 24) + gui.set_size(btn2, 80, 24) btn2:SetText 'Export' btn2:SetScript('OnClick', export_query_string) - local btn3 = aux.gui.button(frame.filter, 16) + local btn3 = gui.button(frame.filter, 16) btn3:SetPoint('LEFT', btn2, 'RIGHT', 5, 0) - aux.gui.set_size(btn3, 80, 24) + gui.set_size(btn3, 80, 24) btn3:SetText 'Import' btn3:SetScript('OnClick', import_query_string) end do - local editbox = aux.gui.editbox(frame.filter) - editbox.complete_item = aux.completion.complete(function() return g.aux_auctionable_items end) + local editbox = gui.editbox(frame.filter) + editbox.complete_item = completion.complete(function() return g.aux_auctionable_items end) editbox:SetPoint('TOPLEFT', 14, -FILTER_SPACING) editbox:SetWidth(260) editbox.char = function() @@ -365,22 +365,22 @@ function create_frames() end) editbox.change = update_form editbox.enter = L(editbox.ClearFocus, editbox) - local label = aux.gui.label(editbox, aux.gui.config.small_font_size) + local label = gui.label(editbox, gui.config.small_font_size) label:SetPoint('BOTTOMLEFT', editbox, 'TOPLEFT', -2, 1) label:SetText 'Name' name_input = editbox end do - local checkbox = aux.gui.checkbox(frame.filter) + local checkbox = gui.checkbox(frame.filter) checkbox:SetPoint('TOPLEFT', name_input, 'TOPRIGHT', 16, 0) checkbox:SetScript('OnClick', update_form) - local label = aux.gui.label(checkbox, aux.gui.config.small_font_size) + local label = gui.label(checkbox, gui.config.small_font_size) label:SetPoint('BOTTOMLEFT', checkbox, 'TOPLEFT', -2, 1) label:SetText('Exact') exact_checkbox = checkbox end do - local editbox = aux.gui.editbox(frame.filter) + local editbox = gui.editbox(frame.filter) editbox:SetPoint('TOPLEFT', name_input, 'BOTTOMLEFT', 0, -FILTER_SPACING) editbox:SetWidth(125) editbox:SetNumeric(true) @@ -399,13 +399,13 @@ function create_frames() end update_form() end - local label = aux.gui.label(editbox, aux.gui.config.small_font_size) + local label = gui.label(editbox, gui.config.small_font_size) label:SetPoint('BOTTOMLEFT', editbox, 'TOPLEFT', -2, 1) label:SetText 'Level Range' min_level_input = editbox end do - local editbox = aux.gui.editbox(frame.filter) + local editbox = gui.editbox(frame.filter) editbox:SetPoint('TOPLEFT', min_level_input, 'TOPRIGHT', 10, 0) editbox:SetWidth(125) editbox:SetNumeric(true) @@ -424,26 +424,26 @@ function create_frames() end update_form() end - local label = aux.gui.label(editbox, aux.gui.config.medium_font_size) + local label = gui.label(editbox, gui.config.medium_font_size) label:SetPoint('RIGHT', editbox, 'LEFT', -3, 0) label:SetText('-') max_level_input = editbox end do - local checkbox = aux.gui.checkbox(frame.filter) + local checkbox = gui.checkbox(frame.filter) checkbox:SetPoint('TOPLEFT', max_level_input, 'TOPRIGHT', 16, 0) checkbox:SetScript('OnClick', update_form) - local label = aux.gui.label(checkbox, aux.gui.config.small_font_size) + local label = gui.label(checkbox, gui.config.small_font_size) label:SetPoint('BOTTOMLEFT', checkbox, 'TOPLEFT', -2, 1) label:SetText('Usable') usable_checkbox = checkbox end do - local dropdown = aux.gui.dropdown(frame.filter) + local dropdown = gui.dropdown(frame.filter) class_dropdown = dropdown dropdown:SetPoint('TOPLEFT', min_level_input, 'BOTTOMLEFT', 0, 5 - FILTER_SPACING) dropdown:SetWidth(300) - local label = aux.gui.label(dropdown, aux.gui.config.small_font_size) + local label = gui.label(dropdown, gui.config.small_font_size) label:SetPoint('BOTTOMLEFT', dropdown, 'TOPLEFT', -2, -3) label:SetText('Item Class') UIDropDownMenu_Initialize(dropdown, initialize_class_dropdown) @@ -452,11 +452,11 @@ function create_frames() end) end do - local dropdown = aux.gui.dropdown(frame.filter) + local dropdown = gui.dropdown(frame.filter) subclass_dropdown = dropdown dropdown:SetPoint('TOPLEFT', class_dropdown, 'BOTTOMLEFT', 0, 10 - FILTER_SPACING) dropdown:SetWidth(300) - local label = aux.gui.label(dropdown, aux.gui.config.small_font_size) + local label = gui.label(dropdown, gui.config.small_font_size) label:SetPoint('BOTTOMLEFT', dropdown, 'TOPLEFT', -2, -3) label:SetText('Item Subclass') UIDropDownMenu_Initialize(dropdown, initialize_subclass_dropdown) @@ -465,11 +465,11 @@ function create_frames() end) end do - local dropdown = aux.gui.dropdown(frame.filter) + local dropdown = gui.dropdown(frame.filter) slot_dropdown = dropdown dropdown:SetPoint('TOPLEFT', subclass_dropdown, 'BOTTOMLEFT', 0, 10 - FILTER_SPACING) dropdown:SetWidth(300) - local label = aux.gui.label(dropdown, aux.gui.config.small_font_size) + local label = gui.label(dropdown, gui.config.small_font_size) label:SetPoint('BOTTOMLEFT', dropdown, 'TOPLEFT', -2, -3) label:SetText('Item Slot') UIDropDownMenu_Initialize(dropdown, initialize_slot_dropdown) @@ -478,11 +478,11 @@ function create_frames() end) end do - local dropdown = aux.gui.dropdown(frame.filter) + local dropdown = gui.dropdown(frame.filter) quality_dropdown = dropdown dropdown:SetPoint('TOPLEFT', slot_dropdown, 'BOTTOMLEFT', 0, 10 - FILTER_SPACING) dropdown:SetWidth(300) - local label = aux.gui.label(dropdown, aux.gui.config.small_font_size) + local label = gui.label(dropdown, gui.config.small_font_size) label:SetPoint('BOTTOMLEFT', dropdown, 'TOPLEFT', -2, -3) label:SetText('Min Quality') UIDropDownMenu_Initialize(dropdown, initialize_quality_dropdown) @@ -490,9 +490,9 @@ function create_frames() UIDropDownMenu_Initialize(this, initialize_quality_dropdown) end) end - aux.gui.vertical_line(frame.filter, 332) + gui.vertical_line(frame.filter, 332) do - local dropdown = aux.gui.dropdown(frame.filter) + local dropdown = gui.dropdown(frame.filter) dropdown:SetPoint('TOPRIGHT', -174.5, -10) dropdown:SetWidth(150) UIDropDownMenu_Initialize(dropdown, initialize_filter_dropdown) @@ -500,24 +500,24 @@ function create_frames() UIDropDownMenu_Initialize(this, initialize_filter_dropdown) end) getglobal(dropdown:GetName()..'Text'):Hide() - local label = aux.gui.label(dropdown, aux.gui.config.medium_font_size) + local label = gui.label(dropdown, gui.config.medium_font_size) label:SetPoint('RIGHT', dropdown, 'LEFT', -15, 0) label:SetText('Post Filter') filter_dropdown = dropdown end do - local input = aux.gui.editbox(frame.filter) + local input = gui.editbox(frame.filter) input:SetPoint('CENTER', filter_dropdown, 'CENTER', 0, 0) input:SetWidth(150) input:SetScript('OnTabPressed', function() filter_parameter_input:SetFocus() end) - input.complete = aux.completion.complete(function() return {'and', 'or', 'not', unpack(keys(aux.filter.filters))} end) + input.complete = completion.complete(function() return {'and', 'or', 'not', unpack(keys(filter.filters))} end) input.char = function() this:complete() end input.change = function() local filter = this:GetText() - if aux.filter.filters[filter] and aux.filter.filters[filter].input_type ~= '' then - local _, _, suggestions = aux.filter.parse_query_string(filter..'/') - filter_parameter_input:SetNumeric(aux.filter.filters[filter].input_type == 'number') - filter_parameter_input.complete = aux.completion.complete(function() return suggestions or {} end) + if filter.filters[filter] and filter.filters[filter].input_type ~= '' then + local _, _, suggestions = filter.parse_query_string(filter..'/') + filter_parameter_input:SetNumeric(filter.filters[filter].input_type == 'number') + filter_parameter_input.complete = completion.complete(function() return suggestions or {} end) filter_parameter_input:Show() else filter_parameter_input:Hide() @@ -533,7 +533,7 @@ function create_frames() filter_input = input end do - local input = aux.gui.editbox(frame.filter) + local input = gui.editbox(frame.filter) input:SetPoint('LEFT', filter_dropdown, 'RIGHT', 10, 0) input:SetWidth(150) input:SetScript('OnTabPressed', function() @@ -575,11 +575,11 @@ function create_frames() scroll_frame:SetScript('OnDragStop', function() this:SetScript('OnUpdate', nil) end) - aux.gui.set_content_style(scroll_frame, -2, -2, -2, -2) + gui.set_content_style(scroll_frame, -2, -2, -2, -2) local scroll_child = CreateFrame('SimpleHTML', nil, scroll_frame) scroll_frame:SetScrollChild(scroll_child) scroll_child:SetFont('p', [[Fonts\ARIALN.TTF]], 23) - scroll_child:SetTextColor('p', aux.gui.color.label.enabled()) + scroll_child:SetTextColor('p', gui.color.label.enabled()) scroll_child:SetWidth(1) scroll_child:SetHeight(1) scroll_child:SetScript('OnHyperlinkClick', data_link_click) @@ -591,12 +591,12 @@ function create_frames() status_bars = {} tables = {} for _=1,5 do - local status_bar = aux.gui.status_bar(frame) + local status_bar = gui.status_bar(frame) status_bar:SetAllPoints(status_bar_frame) status_bar:Hide() tinsert(status_bars, status_bar) - local table = aux.auction_listing.CreateAuctionResultsTable(frame.results, aux.auction_listing.search_config) + local table = auction_listing.CreateAuctionResultsTable(frame.results, auction_listing.search_config) table:SetHandler('OnCellClick', function(cell, button) if IsAltKeyDown() and current_search.table:GetSelection().record == cell.row.data.record then if button == 'LeftButton' and buyout_button:IsEnabled() then @@ -659,7 +659,7 @@ function create_frames() end } - recent_searches_listing = aux.listing.CreateScrollingTable(frame.saved.recent) + recent_searches_listing = listing.CreateScrollingTable(frame.saved.recent) recent_searches_listing:SetColInfo{{name='Recent Searches', width=1}} recent_searches_listing:EnableSorting(false) recent_searches_listing:DisableSelection(true) @@ -667,7 +667,7 @@ function create_frames() recent_searches_listing:SetHandler('OnEnter', handlers.OnEnter) recent_searches_listing:SetHandler('OnLeave', handlers.OnLeave) - favorite_searches_listing = aux.listing.CreateScrollingTable(frame.saved.favorite) + favorite_searches_listing = listing.CreateScrollingTable(frame.saved.favorite) favorite_searches_listing:SetColInfo{{name='Favorite Searches', width=1}} favorite_searches_listing:EnableSorting(false) favorite_searches_listing:DisableSelection(true) diff --git a/tabs/search/results.lua b/tabs/search/results.lua index 4800967..c4d3b55 100644 --- a/tabs/search/results.lua +++ b/tabs/search/results.lua @@ -98,7 +98,7 @@ function update_continuation() end function discard_continuation() - aux.scan.abort(search_scan_id) + scan.abort(search_scan_id) current_search.continuation = nil update_continuation() end @@ -115,7 +115,7 @@ end function update_auto_buy_filter() if g.aux_auto_buy_filter ~= '' then - local queries = aux.filter.queries(g.aux_auto_buy_filter) + local queries = filter.queries(g.aux_auto_buy_filter) if queries then if getn(queries) > 1 then log('Error: The automatic buyout filter may contain only one query') @@ -144,7 +144,7 @@ function start_real_time_scan(query, search, continuation) local next_page local new_records = {} - search_scan_id = aux.scan.start{ + search_scan_id = scan.start{ type = 'list', queries = {query}, auto_buy_validator = search.auto_buy_validator, @@ -162,8 +162,8 @@ function start_real_time_scan(query, search, continuation) if not ignore_page then if search.auto_buy then ctrl.suspend() - aux.place_bid('list', auction_record.index, auction_record.buyout_price, L(ctrl.resume, true)) - aux.control.thread(aux.control.when, later(GetTime(), 10), L(ctrl.resume, false)) + place_bid('list', auction_record.index, auction_record.buyout_price, L(ctrl.resume, true)) + control.thread(control.when, later(GetTime(), 10), L(ctrl.resume, false)) else tinsert(new_records, auction_record) end @@ -228,7 +228,7 @@ function start_search(queries, continuation) end - search_scan_id = aux.scan.start{ + search_scan_id = scan.start{ type = 'list', queries = queries, auto_buy_validator = search.auto_buy_validator, @@ -258,8 +258,8 @@ function start_search(queries, continuation) on_auction = function(auction_record, ctrl) if search.auto_buy then ctrl.suspend() - aux.place_bid('list', auction_record.index, auction_record.buyout_price, L(ctrl.resume, true)) - aux.control.thread(aux.control.when, later(GetTime(), 10), L(ctrl.resume, false)) + place_bid('list', auction_record.index, auction_record.buyout_price, L(ctrl.resume, true)) + control.thread(control.when, later(GetTime(), 10), L(ctrl.resume, false)) elseif getn(search.records) < 1000 then tinsert(search.records, auction_record) if getn(search.records) == 1000 then @@ -310,7 +310,7 @@ function public.execute(resume, real_time) end local filter_string = search_box:GetText() - local queries = aux.filter.queries(filter_string) + local queries = filter.queries(filter_string) if not queries then return elseif real_time then @@ -367,7 +367,7 @@ end function test(record) return function(index) - local auction_info = aux.info.auction(index) + local auction_info = info.auction(index) return auction_info and auction_info.search_signature == record.search_signature end end @@ -381,13 +381,13 @@ do function find_auction(record) local search = current_search - if not search.table:ContainsRecord(record) or aux.is_player(record.owner) then + if not search.table:ContainsRecord(record) or is_player(record.owner) then return end - aux.scan.abort(scan_id) + scan.abort(scan_id) state = SEARCHING - scan_id = aux.scan_util.find( + scan_id = scan_util.find( record, current_search.status_bar, function() @@ -408,8 +408,8 @@ do if not record.high_bidder then bid_button:SetScript('OnClick', function() if test(record)(index) and search.table:ContainsRecord(record) then - aux.place_bid('list', index, record.bid_price, record.bid_price < record.buyout_price and function() - aux.info.bid_update(record) + place_bid('list', index, record.bid_price, record.bid_price < record.buyout_price and function() + info.bid_update(record) search.table:SetDatabase() end or L(search.table.RemoveAuctionRecord, search.table, record)) end @@ -420,7 +420,7 @@ do if record.buyout_price > 0 then buyout_button:SetScript('OnClick', function() if test(record)(index) and search.table:ContainsRecord(record) then - aux.place_bid('list', index, record.buyout_price, L(search.table.RemoveAuctionRecord, search.table, record)) + place_bid('list', index, record.buyout_price, L(search.table.RemoveAuctionRecord, search.table, record)) end end) buyout_button:Enable() @@ -447,7 +447,7 @@ do elseif state == FOUND and not test(selection.record)(found_index) then buyout_button:Disable() bid_button:Disable() - if not aux.bid_in_progress() then + if not bid_in_progress() then state = IDLE end end diff --git a/util/completion.lua b/util/completion.lua index c5dbda8..c63cdb2 100644 --- a/util/completion.lua +++ b/util/completion.lua @@ -8,7 +8,7 @@ function public:complete_filter() local filter_string = this:GetText() local completed_filter_string = ({strfind(filter_string, '([^;]*)/[^/;]*$')})[3] - local _, suggestions = aux.filter.query(completed_filter_string or '') + local _, suggestions = filter.query(completed_filter_string or '') local start_index, _, current_modifier = strfind(filter_string, '([^/;]*)$') current_modifier = current_modifier or '' diff --git a/util/core.lua b/util/core.lua index e665a58..c6f8ddd 100644 --- a/util/core.lua +++ b/util/core.lua @@ -1,6 +1,6 @@ aux.module 'util' -local temp, recycle, getn = temp, recycle, g.getn +local temp, recycle, getn = g.temp, g.recycle, g.getn function public.copy(t) local copy = {} @@ -9,6 +9,12 @@ function public.copy(t) return copy end +public.join = g.table.concat + +function public.replicate(count, value) + if count > 0 then return value, replicate(count - 1, value) end +end + do local value, charges local function setter(n) @@ -18,7 +24,7 @@ do return v end end - for i=1,9 do public[join(replicate(i, 'x'))] = setter(i) end + for i=1,9 do public[join{replicate(i, 'x')}] = setter(i) end function public.accessor.__() assert(charges > 0) charges = charges - 1 @@ -183,10 +189,6 @@ function public.all(xs, p) return true end -function public.replicate(count, value) - return value, replicate(count - 1, value) -end - function public.filter(xs, p) local ys = {} for k, x in xs do @@ -233,8 +235,6 @@ function public.split(str, separator) end end -public.join = g.table.concat - function public.tokenize(str) local tokens = {} for token in string.gfind(str, '%S+') do tinsert(tokens, token) end @@ -265,9 +265,9 @@ function public.bag_type(bag) return 1 end for link in present(GetInventoryItemLink('player', ContainerIDToInventoryID(bag))) do - local item_id = aux.info.parse_link(link) - local item_info = aux.info.item(item_id) - return aux.info.item_subclass_index(3, item_info.subclass) + local item_id = info.parse_link(link) + local item_info = info.item(item_id) + return info.item_subclass_index(3, item_info.subclass) end end diff --git a/util/filter.lua b/util/filter.lua index bb179af..911c88c 100644 --- a/util/filter.lua +++ b/util/filter.lua @@ -19,7 +19,7 @@ public.filters = { input_type = '', validator = function() return function(auction_record) - return auction_record.usable and not aux.info.tooltip_match(ITEM_SPELL_KNOWN, auction_record.tooltip) + return auction_record.usable and not info.tooltip_match(ITEM_SPELL_KNOWN, auction_record.tooltip) end end, }, @@ -35,7 +35,7 @@ public.filters = { input_type = 'string', validator = function(name) return function(auction_record) - return strlower(aux.info.item(auction_record.item_id).name) == name + return strlower(info.item(auction_record.item_id).name) == name end end }, @@ -117,8 +117,8 @@ public.filters = { validator = function(pct) return function(auction_record) return auction_record.unit_buyout_price > 0 - and aux.history.value(auction_record.item_key) - and auction_record.unit_buyout_price / aux.history.value(auction_record.item_key) * 100 <= pct + and history.value(auction_record.item_key) + and auction_record.unit_buyout_price / history.value(auction_record.item_key) * 100 <= pct end end }, @@ -128,8 +128,8 @@ public.filters = { validator = function(pct) return function(auction_record) return auction_record.unit_buyout_price > 0 - and aux.history.value(auction_record.item_key) - and auction_record.unit_buyout_price / aux.history.value(auction_record.item_key) * 100 <= pct + and history.value(auction_record.item_key) + and auction_record.unit_buyout_price / history.value(auction_record.item_key) * 100 <= pct end end }, @@ -138,7 +138,7 @@ public.filters = { input_type = 'money', validator = function(amount) return function(auction_record) - return aux.history.value(auction_record.item_key) and aux.history.value(auction_record.item_key) * auction_record.aux_quantity - auction_record.bid_price >= amount + return history.value(auction_record.item_key) and history.value(auction_record.item_key) * auction_record.aux_quantity - auction_record.bid_price >= amount end end }, @@ -147,7 +147,7 @@ public.filters = { input_type = 'money', validator = function(amount) return function(auction_record) - return auction_record.buyout_price > 0 and aux.history.value(auction_record.item_key) and aux.history.value(auction_record.item_key) * auction_record.aux_quantity - auction_record.buyout_price >= amount + return auction_record.buyout_price > 0 and history.value(auction_record.item_key) and history.value(auction_record.item_key) * auction_record.aux_quantity - auction_record.buyout_price >= amount end end }, @@ -156,7 +156,7 @@ public.filters = { input_type = 'money', validator = function(amount) return function(auction_record) - local disenchant_value = aux.disenchant.value(auction_record.slot, auction_record.quality, auction_record.level) + local disenchant_value = disenchant.value(auction_record.slot, auction_record.quality, auction_record.level) return disenchant_value and disenchant_value - auction_record.bid_price >= amount end end @@ -166,7 +166,7 @@ public.filters = { input_type = 'money', validator = function(amount) return function(auction_record) - local disenchant_value = aux.disenchant.value(auction_record.slot, auction_record.quality, auction_record.level) + local disenchant_value = disenchant.value(auction_record.slot, auction_record.quality, auction_record.level) return auction_record.buyout_price > 0 and disenchant_value and disenchant_value - auction_record.buyout_price >= amount end end @@ -176,7 +176,7 @@ public.filters = { input_type = 'money', validator = function(amount) return function(auction_record) - local vendor_price = aux.cache.merchant_info(auction_record.item_id) + local vendor_price = cache.merchant_info(auction_record.item_id) return vendor_price and vendor_price * auction_record.aux_quantity - auction_record.bid_price >= amount end end @@ -186,7 +186,7 @@ public.filters = { input_type = 'money', validator = function(amount) return function(auction_record) - local vendor_price = aux.cache.merchant_info(auction_record.item_id) + local vendor_price = cache.merchant_info(auction_record.item_id) return auction_record.buyout_price > 0 and vendor_price and vendor_price * auction_record.aux_quantity - auction_record.buyout_price >= amount end end @@ -234,10 +234,10 @@ do end end for _, parser in { - {'class', aux.info.item_class_index}, - {'subclass', L(aux.info.item_subclass_index, index(self.class, 2) or 0, _1)}, - {'slot', L(aux.info.item_slot_index, index(self.class, 2) or 0, index(self.subclass, 2) or 0, _1)}, - {'quality', aux.info.item_quality_index}, + {'class', info.item_class_index}, + {'subclass', L(info.item_subclass_index, index(self.class, 2) or 0, _1)}, + {'slot', L(info.item_slot_index, index(self.class, 2) or 0, index(self.subclass, 2) or 0, _1)}, + {'quality', info.item_quality_index}, } do if not self[parser[1]] then tinsert(parser, str) @@ -266,7 +266,7 @@ end function parse_parameter(input_type, str) if input_type == 'money' then - local money = aux.money.from_string(str) + local money = money.from_string(str) return money and money > 0 and money or nil elseif input_type == 'number' then local number = tonumber(str) @@ -444,8 +444,8 @@ function public.query_string(components) elseif component[1] == 'filter' then query_builder.append(component[2]) for _, parameter in {component[3]} do - if aux.filter.filters[component[2]].input_type == 'money' then - parameter = aux.money.to_string(aux.money.from_string(parameter), nil, true, nil, nil, true) + if filter.filters[component[2]].input_type == 'money' then + parameter = money.to_string(money.from_string(parameter), nil, true, nil, nil, true) end query_builder.append(parameter) end @@ -460,38 +460,38 @@ function prettified_query_string(components) for key, filter in components.blizzard do if key == 'exact' then - prettified.prepend(aux.info.display_name(aux.cache.item_id(components.blizzard.name[2])) or aux.gui.color.blizzard('['..components.blizzard.name[2]..']')) + prettified.prepend(info.display_name(cache.item_id(components.blizzard.name[2])) or gui.color.blizzard('['..components.blizzard.name[2]..']')) elseif key ~= 'name' then - prettified.append(aux.gui.color.blizzard(filter[1])) + prettified.append(gui.color.blizzard(filter[1])) end end if components.blizzard.name and not components.blizzard.exact and components.blizzard.name[2] ~= '' then - prettified.prepend(aux.gui.color.blizzard(components.blizzard.name[2])) + prettified.prepend(gui.color.blizzard(components.blizzard.name[2])) end for _, component in components.post do if component[1] == 'operator' then - prettified.append(aux.gui.color.aux(component[2]..(component[2] ~= 'not' and tonumber(component[3]) or ''))) + prettified.append(gui.color.aux(component[2]..(component[2] ~= 'not' and tonumber(component[3]) or ''))) elseif component[1] == 'filter' then if component[2] ~= 'tooltip' then - prettified.append(aux.gui.color.aux(component[2])) + prettified.append(gui.color.aux(component[2])) end for parameter in present(component[3]) do if component[2] == 'item' then - prettified.append(aux.info.display_name(aux.cache.item_id(parameter)) or aux.gui.color.label.enabled('['..parameter..']')) + prettified.append(info.display_name(cache.item_id(parameter)) or gui.color.label.enabled('['..parameter..']')) else if filters[component[2]].input_type == 'money' then - prettified.append(aux.money.to_string(aux.money.from_string(parameter), nil, true, nil, aux.gui.inline_color.label.enabled)) + prettified.append(money.to_string(money.from_string(parameter), nil, true, nil, gui.inline_color.label.enabled)) else - prettified.append(aux.gui.color.label.enabled(parameter)) + prettified.append(gui.color.label.enabled(parameter)) end end end end end if prettified.get() == '' then - return aux.gui.color.blizzard'<>' + return gui.color.blizzard'<>' else return prettified.get() end @@ -511,11 +511,11 @@ function blizzard_query(components) local query = {name=filters.name and filters.name[2]} local item_info, class_index, subclass_index, slot_index - if filters.exact and x(aux.cache.item_id(filters.name[2])) and x(aux.info.item(__)) then + if filters.exact and x(cache.item_id(filters.name[2])) and x(info.item(__)) then item_info = __ - class_index = aux.info.item_class_index(item_info.class) - subclass_index = aux.info.item_subclass_index(class_index or 0, item_info.subclass) - slot_index = aux.info.item_slot_index(class_index or 0, subclass_index or 0, item_info.slot) + class_index = info.item_class_index(item_info.class) + subclass_index = info.item_subclass_index(class_index or 0, item_info.subclass) + slot_index = info.item_slot_index(class_index or 0, subclass_index or 0, item_info.slot) end if item_info then @@ -544,7 +544,7 @@ function validator(components) end return function(record) - if components.blizzard.exact and strlower(aux.info.item(record.item_id).name) ~= components.blizzard.name[2] then + if components.blizzard.exact and strlower(info.item(record.item_id).name) ~= components.blizzard.name[2] then return false end local stack = {} diff --git a/util/info.lua b/util/info.lua index 6aad9fd..a6f994e 100644 --- a/util/info.lua +++ b/util/info.lua @@ -121,8 +121,8 @@ function public.auction(index, query_type) link = link, itemstring = item_info.itemstring, item_key = item_id..':'..suffix_id, - search_signature = join({item_id, suffix_id, enchant_id, start_price, buyout_price, bid_price, aux_quantity, duration, query_type == 'owner' and high_bidder or (high_bidder and 1 or 0), g.aux_ignore_owner and (aux.is_player(owner) and 0 or 1) or (owner or '?')}, ':'), - sniping_signature = join({item_id, suffix_id, enchant_id, start_price, buyout_price, aux_quantity, g.aux_ignore_owner and (aux.is_player(owner, true) and 0 or 1) or (owner or '?')}, ':'), + search_signature = join({item_id, suffix_id, enchant_id, start_price, buyout_price, bid_price, aux_quantity, duration, query_type == 'owner' and high_bidder or (high_bidder and 1 or 0), g.aux_ignore_owner and (is_player(owner) and 0 or 1) or (owner or '?')}, ':'), + sniping_signature = join({item_id, suffix_id, enchant_id, start_price, buyout_price, aux_quantity, g.aux_ignore_owner and (is_player(owner, true) and 0 or 1) or (owner or '?')}, ':'), name = name, texture = texture, @@ -161,12 +161,12 @@ end function public.bid_update(auction_record) auction_record.high_bid = auction_record.bid_price auction_record.blizzard_bid = auction_record.bid_price - auction_record.min_increment = aux.min_bid_increment(auction_record.bid_price) + auction_record.min_increment = min_bid_increment(auction_record.bid_price) auction_record.bid_price = auction_record.bid_price + auction_record.min_increment auction_record.unit_blizzard_bid = auction_record.blizzard_bid / auction_record.aux_quantity auction_record.unit_bid_price = auction_record.bid_price / auction_record.aux_quantity auction_record.high_bidder = 1 - auction_record.search_signature = table.concat({auction_record.item_id, auction_record.suffix_id, auction_record.enchant_id, auction_record.start_price, auction_record.buyout_price, auction_record.bid_price, auction_record.aux_quantity, auction_record.duration, 1, g.aux_ignore_owner and (aux.is_player(auction_record.owner) and 0 or 1) or (auction_record.owner or '?')}, ':') + auction_record.search_signature = table.concat({auction_record.item_id, auction_record.suffix_id, auction_record.enchant_id, auction_record.start_price, auction_record.buyout_price, auction_record.bid_price, auction_record.aux_quantity, auction_record.duration, 1, g.aux_ignore_owner and (is_player(auction_record.owner) and 0 or 1) or (auction_record.owner or '?')}, ':') end function public.set_tooltip(itemstring, owner, anchor) @@ -244,7 +244,7 @@ function public.load_tooltip(frame, tooltip) end function public.display_name(item_id, no_brackets, no_color) - for item_info in present(aux.info.item(item_id)) do + for item_info in present(info.item(item_id)) do local name = item_info.name if not no_brackets then name = '['..name..']' @@ -368,7 +368,7 @@ function public.item(item_id, suffix_id) texture = texture, } end - return aux.cache.item_info(item_id) + return cache.item_info(item_id) end function public.item_class_index(item_class) diff --git a/util/persistence.lua b/util/persistence.lua index fe8560e..f788435 100644 --- a/util/persistence.lua +++ b/util/persistence.lua @@ -6,7 +6,7 @@ do local realm, faction function LOAD() - aux.control.thread(aux.control.when, function() faction = UnitFactionGroup 'player' return faction end, function() end) + control.thread(control.when, function() faction = UnitFactionGroup 'player' return faction end, function() end) realm = GetCVar 'realmName' end diff --git a/util/scan_util.lua b/util/scan_util.lua index 2736b5d..e5218f1 100644 --- a/util/scan_util.lua +++ b/util/scan_util.lua @@ -3,7 +3,7 @@ aux.module 'scan_util' function public.find(auction_record, status_bar, on_abort, on_failure, on_success) local function test(index) - local auction_info = aux.info.auction(index, auction_record.query_type) + local auction_info = info.auction(index, auction_record.query_type) return auction_info and auction_info.search_signature == auction_record.search_signature end @@ -36,7 +36,7 @@ function public.find(auction_record, status_bar, on_abort, on_failure, on_succes local found - return aux.scan.start{ + return scan.start{ type = auction_record.query_type, queries = queries, on_scan_start = function() @@ -72,10 +72,10 @@ end function public.item_query(item_id, first_page, last_page) - local item_info = aux.info.item(item_id) + local item_info = info.item(item_id) if item_info then - local query = aux.filter.query(item_info.name..'/exact') + local query = filter.query(item_info.name..'/exact') query.blizzard_query.first_page = first_page query.blizzard_query.last_page = last_page return {