Mercurial > wow > buffalo2
view Templates.lua @ 108:a41f6b74709a
- Handler number and boolean cluster arguments as positioning priority layer and "always top" respectively
- Use SetShown and IsShown instead of IsVisible in doing full re-anchor checks
author | Nick@Zahhak |
---|---|
date | Sat, 25 Feb 2017 11:42:07 -0500 |
parents | ff00679a7817 |
children | 26938ae258b7 |
line wrap: on
line source
-- Veneer -- Templates.lua -- Created: 10/24/2016 9:16 AM -- %file-revision% -- -- Mover Widget base local print = DEVIAN_WORKSPACE and function(...) _G.print('VnTemplate', ...) end or nop local debugTemplates = {} VeneerConfigLayerMixin = {} VeneerAnimationMixin = {} VeneerHandlerMixin = { anchorPoint = 'CENTER', anchorPriority = 4, data = {}, } function VeneerConfigLayerMixin:OnLoad() local handler = self:GetParent() print(handler:GetName(), 'configLayers') handler.ConfigLayers = handler.ConfigLayers or {} for i, region in ipairs(handler.ConfigLayers) do region:SetShown(Veneer.ConfigMode) end end function VeneerConfigLayerMixin:OnUpdate() local handler = self:GetParent() handler.ConfigLayers = handler.ConfigLayers or {} self.ConfigName:SetText(handler:GetName()) self.ConfigID:SetText(handler:GetID()) end function VeneerAnimationMixin:OnPlay() PlaySoundKitID(229) self.animating = true print('|cFF00FF00Anim:OnPlay|r @', unpack(self.sourcePoint)) end function VeneerAnimationMixin:OnStop() PlaySoundKitID(229) self.animating = nil print('|cFF00FF00Anim:OnFinish|r @', unpack(self.destPoint)) end function VeneerAnimationMixin:OnFinished() PlaySoundKitID(229) self.animating = nil print('|cFF00FF00Anim:OnFinish|r @', unpack(self.destPoint)) end function VeneerHandlerMixin:OnShow() self:Reanchor() Veneer:StaticReanchor(self) end function VeneerHandlerMixin:OnHide() Veneer:DynamicReanchor() end function VeneerHandlerMixin:Reanchor (anchorAll) Veneer:DynamicReanchor() end function VeneerHandlerMixin:Setup() local configName = self:GetName():gsub('^Veneer', '') VeneerData[configName] = VeneerData[configName] or self.defaultSettings or {} -- reconcile any data accumulated before login trigger for k,v in pairs(self.data) do if not VeneerData[configName][k] then print('reconciling pre-data:', k, v) VeneerData[configName][k] = v end end local guid = UnitGUID('player') self.data = VeneerData[configName] self.data[guid] = self.data[guid] or {} self.profile = self.data[guid] print('data table loaded:', configName) self.initialized = true end function VeneerHandlerMixin:Print(...) local txt = '|cFFFFFF00'..self:GetName()..'|r:' for i = 1, select('#', ...) do txt = txt .. ' '.. tostring(select(i, ...)) end DEFAULT_CHAT_FRAME:AddMessage(txt) end function VeneerHandlerMixin:UpdateConfigLayers (configMode) -- Override to manage config visual elements when a config update is fired from /vn or login if not self:IsShown() then self:SetShown(configMode) self:Reanchor() end self.configMode = configMode end