/TelUI_AddonSkins/AddonSkins.lua

http://github.com/Asphyxia/Tukui · Lua · 30 lines · 22 code · 4 blank · 4 comment · 6 complexity · ded8e7a5f4a88062d8a4ef0e01d532c5 MD5 · raw file

  1. --[[
  2. Mod_AddonSkins - Addon skinning and integration for TelUI
  3. ]]
  4. if not TelUI then return end
  5. local TelUI = TelUI
  6. local Mod_AddonSkins = TelUI:CreateClass("Mod_AddonSkins")
  7. function Mod_AddonSkins.__construct()
  8. local self = super()
  9. for name,func in pairs(Mod_AddonSkins:GetSkins()) do
  10. if TelUI.addonskins[name] ~= false then
  11. TelUI.safecall(func,Skin, TelUI.loadedSkin, Layout, TelUI.loadedLayout, TelUI.skin)
  12. end
  13. end
  14. return self
  15. end
  16. function Mod_AddonSkins:RegisterSkin(name, initFunc)
  17. self = Mod_AddonSkins -- Static function
  18. if type(initFunc) ~= "function" then error("initFunc must be a function!",2) end
  19. self.skins[name] = initFunc
  20. --
  21. end
  22. function Mod_AddonSkins:GetSkins()
  23. self = Mod_AddonSkins -- Static function
  24. return self.skins
  25. end
  26. Mod_AddonSkins.skins = {}