From 3c37788b1920cbc35f40ed7c62bac12abf735197 Mon Sep 17 00:00:00 2001 From: Manuel Simon Hirsig Date: Mon, 22 Aug 2016 21:10:41 +0200 Subject: [PATCH] big refactoring --- core.lua => aux-addon.lua | 8 +- aux-addon.toc | 39 ++++---- control.lua | 2 +- frames.lua => frame.lua | 2 +- init.lua | 120 ------------------------ tabs/auctions/{frames.lua => frame.lua} | 0 tabs/bids/{frames.lua => frame.lua} | 0 tabs/post/{frames.lua => frame.lua} | 0 tabs/search/{frames.lua => frame.lua} | 0 9 files changed, 24 insertions(+), 147 deletions(-) rename core.lua => aux-addon.lua (99%) rename frames.lua => frame.lua (99%) delete mode 100644 init.lua rename tabs/auctions/{frames.lua => frame.lua} (100%) rename tabs/bids/{frames.lua => frame.lua} (100%) rename tabs/post/{frames.lua => frame.lua} (100%) rename tabs/search/{frames.lua => frame.lua} (100%) diff --git a/core.lua b/aux-addon.lua similarity index 99% rename from core.lua rename to aux-addon.lua index 965160e..fbab392 100644 --- a/core.lua +++ b/aux-addon.lua @@ -1,13 +1,11 @@ -module 'core' - function INIT() - import :_ 'core' :_ 'util' + import :_ 'aux' :_ 'util' function LOAD() - import :_ 'core' :_ 'control' :_ 'util' + import :_ 'aux' :_ 'util' end end -module 'core' +module 'aux' public.version = '5.0.0' do diff --git a/aux-addon.toc b/aux-addon.toc index 9452664..03ca9eb 100644 --- a/aux-addon.toc +++ b/aux-addon.toc @@ -4,12 +4,11 @@ ## SavedVariables: aux_datasets, aux_items, aux_item_ids, aux_auctionable_items, aux_merchant_buy, aux_merchant_sell, aux_characters, aux_recent_searches, aux_favorite_searches, aux_ignore_owner, aux_price_per_unit module.lua -init.lua -core.lua -util.lua +aux-addon.lua +util\core.lua control.lua -gui.lua -frames.lua +gui\core.lua +frame.lua util\completion.lua @@ -21,34 +20,34 @@ util\filter.lua util\scan_util.lua -components\cache.lua -components\disenchant.lua -components\slash.lua -components\scan.lua -components\stack.lua -components\post.lua -components\history.lua -components\tooltip.lua +core\cache.lua +core\disenchant.lua +core\slash.lua +core\scan.lua +core\stack.lua +core\post.lua +core\history.lua +core\tooltip.lua -tables\listing.lua -tables\auction_listing.lua -tables\item_listing.lua +gui\listing.lua +gui\auction_listing.lua +gui\item_listing.lua tabs\search\core.lua tabs\search\results.lua tabs\search\saved.lua tabs\search\filter.lua -tabs\search\frames.lua +tabs\search\frame.lua tabs\post\core.lua -tabs\post\frames.lua +tabs\post\frame.lua tabs\auctions\core.lua -tabs\auctions\frames.lua +tabs\auctions\frame.lua tabs\bids\core.lua -tabs\bids\frames.lua +tabs\bids\frame.lua diff --git a/control.lua b/control.lua index 4d495d9..eaff7ed 100644 --- a/control.lua +++ b/control.lua @@ -1,4 +1,4 @@ -module 'core' +module 'aux' event_frame = CreateFrame 'Frame' listeners = {} diff --git a/frames.lua b/frame.lua similarity index 99% rename from frames.lua rename to frame.lua index 5842548..532936e 100644 --- a/frames.lua +++ b/frame.lua @@ -1,4 +1,4 @@ -module 'core' +module 'aux' public.bids_loaded = false public.current_owner_page = nil diff --git a/init.lua b/init.lua deleted file mode 100644 index 96c80b9..0000000 --- a/init.lua +++ /dev/null @@ -1,120 +0,0 @@ -function INIT() - import :_ 'core' :_ 'util' - function LOAD() - import :_ 'core' :_ 'control' :_ 'util' - end -end - -module 'core' -public.version = '5.0.0' - -do - local table_pool, temporary = {}, {} - - CreateFrame'Frame':SetScript('OnUpdate', function() - for t in temporary do - recycle(t) - log(getn(table_pool)) - end - wipe(temporary) - end) - - function public.wipe(t) -- like with a cloth or something - for k in t do - t[k] = nil - end - table.setn(t, 0) - end - - function public.recycle(t) - temporary[t] = nil - wipe(t) - tinsert(table_pool, t) - end - - function public.accessor.t() return - tremove(table_pool) or {} - end - - function public.accessor.tt() - local t = tremove(table_pool) or {} - temporary[t] = true - return t - end - - do - local mt = { - __call=function(self, arg) return self[1](arg) end, - __sub=function(self, arg) return self[1](arg) end, - } - function public.modifier(f) - local self = t - self[1] = f - return setmetatable(self, mt) - end - end - - public.tmp = modifier(function(t) - temporary[t] = true - return t - end) - - do - local mt = { - __call=function(self, arg1, arg2) - tinsert(self, arg2 or arg1) - return self - end, - __index=function(self, key) - tinsert(self, key) - return self - end, - } - function public.accessor.from() - return setmetatable(tt, mt) - end - end - - do - local mt = {__call = function(self, key) return self[key] end} - public.set = modifier(function(table) - local self = t - for _, v in table do self[v] = true end - recycle(table) - return setmetatable(self, mt) - end) - end - - public.array = modifier(function(table) - local self = t - for _, v in table do tinsert(self, v) end - recycle(table) - return self - end) - - -- TODO map -end - -local event_frame = CreateFrame 'Frame' -for event in tmp-set-from . ADDON_LOADED . VARIABLES_LOADED . PLAYER_LOGIN . AUCTION_HOUSE_SHOW . AUCTION_HOUSE_CLOSED . AUCTION_BIDDER_LIST_UPDATE . AUCTION_OWNED_LIST_UPDATE do - event_frame:RegisterEvent(event) -end - -ADDON_LOADED = t -do - 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() - if event == 'ADDON_LOADED' then - if ADDON_LOADED[arg1] then ADDON_LOADED[arg1]() end - elseif event == 'VARIABLES_LOADED' then - for _, f in variables_loaded_hooks do f() end - elseif event == 'PLAYER_LOGIN' then - for _, f in player_login_hooks do f() end - log('v'..version..' loaded.') - else - _m[event]() - end - end) -end \ No newline at end of file diff --git a/tabs/auctions/frames.lua b/tabs/auctions/frame.lua similarity index 100% rename from tabs/auctions/frames.lua rename to tabs/auctions/frame.lua diff --git a/tabs/bids/frames.lua b/tabs/bids/frame.lua similarity index 100% rename from tabs/bids/frames.lua rename to tabs/bids/frame.lua diff --git a/tabs/post/frames.lua b/tabs/post/frame.lua similarity index 100% rename from tabs/post/frames.lua rename to tabs/post/frame.lua diff --git a/tabs/search/frames.lua b/tabs/search/frame.lua similarity index 100% rename from tabs/search/frames.lua rename to tabs/search/frame.lua