refactoring

This commit is contained in:
Manuel Simon Hirsig
2016-09-30 18:32:19 +02:00
parent 4414ccf084
commit f29cb9ae1d
36 changed files with 531 additions and 298 deletions
+16 -8
View File
@@ -1,13 +1,21 @@
aux 'search_tab' local scan, scan_util = aux.scan, aux.scan_util
aux_search_tab = module
StaticPopupDialogs['AUX_SEARCH_TABLE_FULL'] = {
include (green_t)
include (aux)
include (aux_util)
include (aux_control)
include (aux_util_color)
TAB '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.',
button1 = 'Ok',
showAlert = 1,
timeout = 0,
hideOnEscape = 1,
}
StaticPopupDialogs['AUX_SEARCH_AUTO_BUY'] = {
StaticPopupDialogs.AUX_SEARCH_AUTO_BUY = {
text = 'Are you sure you want to activate automatic buyout?',
button1 = 'Yes',
button2 = 'No',
@@ -20,10 +28,10 @@ StaticPopupDialogs['AUX_SEARCH_AUTO_BUY'] = {
do
local function action()
aux_auto_buy_filter = _G[this:GetParent():GetName() .. 'EditBox']:GetText()
update_auto_buy_filter()
aux_search_tab_results.update_auto_buy_filter()
end
StaticPopupDialogs['AUX_SEARCH_AUTO_BUY_FILTER'] = {
StaticPopupDialogs.AUX_SEARCH_AUTO_BUY_FILTER = {
text = 'Enter a filter for automatic buyout.',
button1 = 'Accept',
button2 = 'Cancel',
@@ -52,10 +60,10 @@ private.SAVED = 2
private.FILTER = 3
function LOAD()
create_frames()
aux_search_tab_frame.create()
subtab = SAVED
update_auto_buy_filter()
new_search('')
aux_search_tab_results.update_auto_buy_filter()
aux_search_tab_results.new_search('')
current_search.placeholder = true
end
+14 -6
View File
@@ -1,4 +1,12 @@
aux 'search_tab' local filter_util = aux.filter_util
aux_search_tab_filter = module
include (green_t)
include (aux)
include (aux_util)
include (aux_control)
include (aux_util_color)
local filter_util = aux_filter_util
function private.valid_level(str)
local level = tonumber(str)
@@ -73,7 +81,7 @@ function private.update_form()
if blizzard_query.exact then
for key in temp-S('class', 'subclass', 'slot', 'quality') do
_E[key .. '_dropdown'].button:Disable()
_M[key .. '_dropdown'].button:Disable()
end
else
class_dropdown.button:Enable()
@@ -81,9 +89,9 @@ function private.update_form()
end
for key in temp-S('min_level', 'max_level') do
if blizzard_query.exact then
_E[key .. '_input']:EnableMouse(false)
_M[key .. '_input']:EnableMouse(false)
else
_E[key .. '_input']:EnableMouse(true)
_M[key .. '_input']:EnableMouse(true)
end
end
if blizzard_query.exact then
@@ -210,9 +218,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 .. ']'
parameter = aux_info.display_name(aux_cache.item_id(parameter)) or '[' .. parameter .. ']'
elseif filter_util.filters[component[2]].input_type == 'money' then
parameter = aux.money.to_string(aux.money.from_string(parameter), nil, true)
parameter = aux_money.to_string(aux_money.from_string(parameter), nil, true)
end
component_text = component_text .. filter_color(': ') .. parameter
end
+18 -15
View File
@@ -1,21 +1,24 @@
aux 'search_tab' local gui, completion, listing, auction_listing, filter_util = aux.gui, aux.completion, aux.listing, aux.auction_listing, aux.filter_util
aux_search_tab_frame = module
FILTER_SPACING = 28.5
local gui, completion, listing, auction_listing, filter_util = aux_gui, aux_completion, aux_listing, aux_auction_listing, aux_filter_util
function private.create_frames()
private.frame = CreateFrame('Frame', nil, aux_frame)
local FILTER_SPACING = 28.5
function public.create()
setfenv(1, getfenv(2))
private.frame = CreateFrame('Frame', nil, AuxFrame)
frame:SetAllPoints()
frame:SetScript('OnUpdate', on_update)
frame:Hide()
frame.filter = gui.panel(frame)
frame.filter:SetAllPoints(aux_frame.content)
frame.filter:SetAllPoints(AuxFrame.content)
frame.results = gui.panel(frame)
frame.results:SetAllPoints(aux_frame.content)
frame.results:SetAllPoints(AuxFrame.content)
frame.saved = CreateFrame('Frame', nil, frame)
frame.saved:SetAllPoints(aux_frame.content)
frame.saved:SetAllPoints(AuxFrame.content)
frame.saved.favorite = gui.panel(frame.saved)
frame.saved.favorite:SetWidth(378.5)
@@ -149,9 +152,9 @@ function private.create_frames()
btn:SetScript('OnClick', function()
if this:GetChecked() then
this:SetChecked(false)
aux_auto_buy_filter = nil
aux_search_tab_results.aux_auto_buy_filter = nil
this.prettified = nil
auto_buy_validator = nil
aux_search_tab_results.auto_buy_validator = nil
else
StaticPopup_Show('AUX_SEARCH_AUTO_BUY_FILTER')
end
@@ -208,7 +211,7 @@ function private.create_frames()
btn:SetHeight(25)
btn:SetText('Stop')
btn:SetScript('OnClick', function()
aux.scan.abort(search_scan_id)
aux_scan.abort(aux_search_tab_results.search_scan_id)
end)
private.stop_button = btn
end
@@ -227,7 +230,7 @@ function private.create_frames()
local editbox = gui.editbox(controls)
editbox:EnableMouse(1)
editbox.formatter = function(str)
local queries = aux.filter_util.queries(str)
local queries = aux_filter_util.queries(str)
return queries and join(map(copy(queries), function(query) return query.prettified end), ';') or color.red(str)
end
editbox.complete = completion.complete_filter
@@ -247,7 +250,7 @@ function private.create_frames()
end
do
local btn = gui.button(frame, gui.font_size.large)
btn:SetPoint('BOTTOMLEFT', aux_frame.content, 'TOPLEFT', 10, 8)
btn:SetPoint('BOTTOMLEFT', AuxFrame.content, 'TOPLEFT', 10, 8)
btn:SetWidth(243)
btn:SetHeight(22)
btn:SetText('Search Results')
@@ -276,7 +279,7 @@ function private.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', AuxFrame.content, 'BOTTOMLEFT', 0, -6)
private.status_bar_frame = frame
end
do
@@ -583,8 +586,8 @@ function private.create_frames()
private.filter_display = scroll_child
end
private.status_bars = t
private.tables = t
public.status_bars = t
public.tables = t
for _ = 1, 5 do
local status_bar = gui.status_bar(frame)
status_bar:SetAllPoints(status_bar_frame)
+23 -15
View File
@@ -1,16 +1,24 @@
aux 'search_tab' local info, scan = aux.info, aux.scan
aux_search_tab_results = module
include (green_t)
include (aux)
include (aux_util)
include (aux_control)
include (aux_util_color)
local info, scan = aux_info, aux_scan
aux_auto_buy_filter = ''
do
local id = 0
function private.search_scan_id.get() return id end
function private.search_scan_id.set(v) id = v end
function public.search_scan_id.get() return id end
function public.search_scan_id.set(v) id = v end
end
do
local validator
function private.auto_buy_validator.get() return validator end
function private.auto_buy_validator.set(v) validator = v end
function public.auto_buy_validator.get() return validator end
function public.auto_buy_validator.set(v) validator = v end
end
do
@@ -46,7 +54,7 @@ do
update_continuation()
end
function private.new_search(filter_string)
function public.new_search(filter_string)
while getn(searches) > search_index do
tremove(searches)
end
@@ -54,16 +62,16 @@ do
tinsert(searches, search)
if getn(searches) > 5 then
tremove(searches, 1)
tinsert(status_bars, tremove(status_bars, 1))
tinsert(tables, tremove(tables, 1))
tinsert(aux_search_tab.status_bars, tremove(aux_search_tab.status_bars, 1))
tinsert(aux_search_tab.tables, tremove(aux_search_tab.tables, 1))
search_index = 4
end
search.status_bar = status_bars[getn(searches)]
search.status_bar = aux_search_tab.status_bars[getn(searches)]
search.status_bar:update_status(100, 100)
search.status_bar:set_text('')
search.table = tables[getn(searches)]
search.table = aux_search_tab.tables[getn(searches)]
search.table:SetSort(1, 2, 3, 4, 5, 6, 7, 8, 9)
search.table:Reset()
search.table:SetDatabase(search.records)
@@ -116,9 +124,9 @@ function update_start_stop()
end
end
function private.update_auto_buy_filter()
function public.update_auto_buy_filter()
if aux_auto_buy_filter ~= '' then
local queries, error = aux.filter_util.queries(aux_auto_buy_filter)
local queries, error = aux_filter_util.queries(aux_auto_buy_filter)
if queries then
if getn(queries) > 1 then
print 'Error: The automatic buyout filter does not support multi-queries'
@@ -312,7 +320,7 @@ function public.execute(resume, real_time)
end
local filter_string = search_box:GetText()
local queries, error = aux.filter_util.queries(filter_string)
local queries, error = aux_filter_util.queries(filter_string)
if not queries then
print('Invalid filter:', error)
return
@@ -338,7 +346,7 @@ function public.execute(resume, real_time)
else
new_search(filter_string)
end
new_recent_search(filter_string, join(map(copy(queries), function(filter) return filter.prettified end), ';'))
aux_search_tab_saved.new_recent_search(filter_string, join(map(copy(queries), function(filter) return filter.prettified end), ';'))
else
current_search.records = t
current_search.table:SetDatabase(current_search.records)
@@ -390,7 +398,7 @@ do
scan.abort(scan_id)
state = SEARCHING
scan_id = aux.scan_util.find(
scan_id = aux_scan_util.find(
record,
current_search.status_bar,
function()
+10 -4
View File
@@ -1,4 +1,10 @@
aux 'search_tab'
aux_search_tab_saved = module
include (green_t)
include (aux)
include (aux_util)
include (aux_control)
include (aux_util_color)
aux_favorite_searches = t
aux_recent_searches = t
@@ -13,7 +19,7 @@ function private.update_search_listings()
index = i,
})
end
favorite_searches_listing:SetData(favorite_search_rows)
aux_search_tab.favorite_searches_listing:SetData(favorite_search_rows)
local recent_search_rows = t
for i, recent_search in aux_recent_searches do
@@ -24,10 +30,10 @@ function private.update_search_listings()
index = i,
})
end
recent_searches_listing:SetData(recent_search_rows)
aux_search_tab.recent_searches_listing:SetData(recent_search_rows)
end
function private.new_recent_search(filter_string, prettified)
function public.new_recent_search(filter_string, prettified)
tinsert(aux_recent_searches, 1, {
filter_string = filter_string,
prettified = prettified,