diff Veneer.lua @ 109:26938ae258b7

- Re-use the basic addon table for core mixin - add /rl command
author Nick@Zahhak
date Mon, 06 Mar 2017 02:30:22 -0500
parents a41f6b74709a
children 7c77fde36287
line wrap: on
line diff
--- a/Veneer.lua	Sat Feb 25 11:42:07 2017 -0500
+++ b/Veneer.lua	Mon Mar 06 02:30:22 2017 -0500
@@ -4,16 +4,17 @@
 -- 3. Setup() where (not self.initialized)
 -- 4. Update()
 -- 5. Reanchor()
-
-SLASH_VENEER1 = "/veneer"
-SLASH_VENEER2 = "/vn"
+local ADDON, Veneer = ...
 local VENEER_VERSION = 703
 local LE_FREE_FRAMES_GROUP = 1
 local type, strrep, ipairs, tinsert, tostring, select = type, string.rep, ipairs, tinsert, tostring, select
 local pairs, tremove = pairs, tremove
+local print = DEVIAN_WORKSPACE and function(...) _G.print('Veneer', ...) end or nop
+local wipe = table.wipe
 
+SLASH_VENEER1 = "/veneer"
+SLASH_VENEER2 = "/vn"
 SlashCmdList.VENEER = function(cmd)
-
   if Veneer.ConfigMode then
     Veneer.ConfigMode = false
   else
@@ -22,19 +23,14 @@
   Veneer:UpdateConfigLayers()
 end
 
-VeneerCore = {
-  Frames = {},
-  ConfigLayers = {},
-  FrameClusters = {
-    [LE_FREE_FRAMES_GROUP] = {},
-  },
-  parserDepth = 0,
-  pendingCalls = {},
-  AddOnCheck = {}
-}
-
-local print = DEVIAN_WORKSPACE and function(...) _G.print('Veneer', ...) end or nop
-local wipe = table.wipe
+Veneer.Frames = {}
+Veneer.ConfigLayers = {}
+Veneer.FrameClusters = {
+    [LE_FREE_FRAMES_GROUP] = {}
+  }
+Veneer.parserDepth = 0
+Veneer.pendingCalls = {}
+Veneer.AddOnCheck = {}
 
 local defaults = {
   enableAll = true,
@@ -84,7 +80,7 @@
   CENTER = {0, 0},
 }
 
-function VeneerCore:print(...)
+function Veneer:print(...)
   local txt = '|cFFFFFF00Veneer|r:'
   for i = 1, select('#', ...) do
     txt = txt .. ' '.. tostring(select(i, ...))
@@ -93,7 +89,7 @@
   DEFAULT_CHAT_FRAME:AddMessage(txt)
 end
 
-function VeneerCore:OnLoad()
+function Veneer:OnLoad()
   print('|cFFFFFF00Veneer!|r')
   self:RegisterEvent('ADDON_LOADED')
   self:RegisterEvent('PLAYER_LOGIN')
@@ -106,7 +102,7 @@
 
 local select, IsAddOnLoaded, IsLoggedIn = select, IsAddOnLoaded, IsLoggedIn
 
-function VeneerCore:OnEvent(event, ...)
+function Veneer:OnEvent(event, ...)
   print('|cFFFF0088OnEvent()|r',event, ...)
   if (event == 'PLAYER_LOGIN') or (event == 'ADDON_LOADED') then
     print(IsLoggedIn(), self.initialized)
@@ -138,11 +134,11 @@
   end
 end
 
-function VeneerCore:OnDragStart()
+function Veneer:OnDragStart()
   self:StartMoving()
 end
 
-function VeneerCore:OnDragStop()
+function Veneer:OnDragStop()
   self:StopMovingOrSizing()
 end
 
@@ -154,13 +150,13 @@
       frame:Setup()
       frame.initialized = true
     else
-      Veneer:RegisterEvent('ADDON_LOADED')
+      frame:RegisterEvent('ADDON_LOADED')
     end
 
   end
 end
 
-function VeneerCore:Setup ()
+function Veneer:Setup ()
   print('|cFFFF0088Setup()|r')
   local resetConfig = (not VeneerData)
   if (not VeneerData) then
@@ -176,7 +172,7 @@
   self:Update()
 end
 
-function VeneerCore:UpdateConfigLayers()
+function Veneer:UpdateConfigLayers()
   if VeneerData then
 
     VeneerData.ConfigMode = self.ConfigMode
@@ -208,7 +204,7 @@
 end
 
 
-function VeneerCore:GetClusterFromArgs (...)
+function Veneer:GetClusterFromArgs (...)
   local primaryAnchor
   local insertPosition
   local insertPriority
@@ -264,7 +260,7 @@
 end
 
 -- args: frame object, list of anchor groups, true for forced top, number for priority layer
-function VeneerCore:AddHandler(handler, ...)
+function Veneer:AddHandler(handler, ...)
   print('|cFFFFFF00*** Adding handler:', handler.moduleName or handler:GetName())
 
 
@@ -319,12 +315,12 @@
   end
 end
 
-function VeneerCore:Reanchor()
+function Veneer:Reanchor()
   self:ExecuteOnClusters(nil, 'Reanchor')
   self:DynamicReanchor(self)
 end
 
-function VeneerCore:Update()
+function Veneer:Update()
   self:ExecuteOnClusters(nil, function(frame)
     if frame.initialized and frame.Update then
       frame:Update()
@@ -334,13 +330,13 @@
 end
 
 -- updates anchor relations to and from the target handler
-function VeneerCore:GetAnchor(...)
+function Veneer:GetAnchor(...)
 
 end
 
 -- Evaluates frames visibility and chains them accordingly
 
-function VeneerCore:DynamicReanchor(parent)
+function Veneer:DynamicReanchor(parent)
   parent = parent or self
   print('|cFF88FF00DynamicReanchor()')
   for anchorPoint, cluster in pairs(parent.FrameClusters) do
@@ -375,7 +371,7 @@
 end
 
 -- Evaluates the current visibility state and re-anchors adjacent blocks accordingly
-function VeneerCore:InternalReanchor(handler, printFunc)
+function Veneer:InternalReanchor(handler, printFunc)
   print('|cFF00FFFFVeneer:InternalReanchor('..handler:GetName()..')')
   if handler.anchorFrame then
     handler:SetPoint(handler.anchorPoint, handler.anchorFrame, handler.anchorFrom, handler.anchorX, handler.anchorY)
@@ -424,7 +420,7 @@
   end
 end
 
-function VeneerCore:SlideBlock(frame, ...)
+function Veneer:SlideBlock(frame, ...)
   local aX, aY = frame:GetLeft(), frame:GetTop()
 
   frame:SetPoint('TOPLEFT', frame, 'BOTTOMLEFT', aX, aY)
@@ -441,7 +437,7 @@
 end
 
 
-function VeneerCore:ExecuteOnClusters(layer, method)
+function Veneer:ExecuteOnClusters(layer, method)
   self.parserDepth = self.parserDepth + 1
   if not layer then
     if self.parserDepth > 1 then
@@ -481,7 +477,7 @@
 
 
 -- Takes frame handle and assigns a block to it
-function VeneerCore:Acquire (frame, template)
+function Veneer:Acquire (frame, template)
   if not frame then
     print('|cFFFF4400Unable to acquire frame...|r')
     return
@@ -504,4 +500,6 @@
     self.Frames[frame] = veneer
   end
   return veneer
-end
\ No newline at end of file
+end
+
+VeneerCore = Veneer
\ No newline at end of file