annotate OneRing3.lua @ 34:950739962e33

Added tag v3.2.9 for changeset 380285db8fed
author Bryan McLemore <kaelten@gmail.com>
date Mon, 30 May 2011 12:48:28 -0500
parents 380285db8fed
children d2c358f09dc5
rev   line source
kaelten@0 1
kaelten@0 2 local OneBag3 = LibStub('AceAddon-3.0'):GetAddon('OneBag3')
kaelten@33 3 local OneRing3 = LibStub('AceAddon-3.0'):NewAddon('OneRing3', 'OneCore-1.0', 'OneFrame-1.0', 'OneConfig-1.0', 'OnePlugin-1.0', 'AceHook-3.0', 'AceEvent-3.0', 'AceConsole-3.0')
kaelten@0 4 local AceDB3 = LibStub('AceDB-3.0')
kaelten@33 5 local L = LibStub("AceLocale-3.0"):GetLocale("OneRing3")
kaelten@0 6
kaelten@33 7 OneRing3:InitializePluginSystem()
kaelten@33 8
kaelten@0 9 --- Handles the do once configuration, including db, frames and configuration
kaelten@33 10 function OneRing3:OnInitialize()
kaelten@0 11 self.db = OneBag3.db
kaelten@0 12 self.displayName = "OneRing3"
kaelten@33 13
kaelten@0 14 self.bagIndexes = {-2}
kaelten@0 15 self.forcedCols = 4
kaelten@1 16 self.bottomBorder = 5
kaelten@1 17 self.topBorder = -5
kaelten@33 18
kaelten@0 19 self.frame = self:CreateMainFrame("OneRingFrame")
kaelten@0 20 self.frame.handler = self
kaelten@33 21
kaelten@0 22 table.insert(OneBag3.frame.childrenFrames, self.frame)
kaelten@33 23
kaelten@0 24 self.frame:SetPosition(self.db.profile.position)
kaelten@0 25 self.frame:CustomizeFrame(self.db.profile)
kaelten@33 26
kaelten@0 27 self.frame.moneyframe:Hide()
kaelten@0 28 self.frame.sidebarButton:Hide()
kaelten@33 29 self.frame.configButton:Hide()
kaelten@33 30
kaelten@0 31 self.frame.name:ClearAllPoints()
kaelten@0 32 self.frame.name:SetPoint("TOPLEFT", "OneRingFrame", "TOPLEFT", 10, -15)
kaelten@33 33
kaelten@0 34 self.frame:SetScript("OnShow", function()
kaelten@0 35 if not self.frame.slots then
kaelten@0 36 self.frame.slots = {}
kaelten@0 37 end
kaelten@33 38
kaelten@0 39 self:BuildFrame()
kaelten@0 40 self:OrganizeFrame()
kaelten@0 41 self:UpdateFrame()
kaelten@33 42
kaelten@33 43 local UpdateBag = function(event, bag)
kaelten@0 44 self:UpdateBag(bag)
kaelten@0 45 end
kaelten@0 46
kaelten@0 47 self:RegisterEvent("BAG_UPDATE", UpdateBag)
kaelten@0 48 self:RegisterEvent("BAG_UPDATE_COOLDOWN", UpdateBag)
kaelten@33 49 self:RegisterEvent("UPDATE_INVENTORY_ALERTS", "UpdateFrame")
kaelten@5 50 self:RegisterEvent("ITEM_LOCK_CHANGED", "UpdateItemLock")
kaelten@0 51
kaelten@33 52 self.frame.name:SetText(L["%s's KeyRing"]:format(UnitName("player")))
kaelten@33 53
kaelten@33 54 self.frame:ClearAllPoints()
kaelten@33 55 if not OneBag3.frame:IsVisible() then
kaelten@33 56 self.frame:SetPoint("CENTER", UIParent, "CENTER", 0, 0)
kaelten@33 57 else
kaelten@33 58 self.frame:SetPoint("BOTTOMLEFT", OneBag3.frame, "TOPLEFT", 0, 8)
kaelten@0 59 end
kaelten@0 60 end)
kaelten@33 61
kaelten@0 62 self.frame:SetScript("OnHide", function()
kaelten@0 63 self:UnregisterEvent("BAG_UPDATE")
kaelten@0 64 self:UnregisterEvent("BAG_UPDATE_COOLDOWN")
kaelten@33 65 self:UnregisterEvent("UPDATE_INVENTORY_ALERTS")
kaelten@5 66 self:UnregisterEvent("ITEM_LOCK_CHANGED")
kaelten@0 67 end)
kaelten@0 68 end
kaelten@0 69
kaelten@0 70 --- Sets up hooks and registers events
kaelten@0 71 function OneRing3:OnEnable()
kaelten@0 72 self:SecureHook("ToggleKeyRing", function()
kaelten@0 73 if self.frame:IsVisible() then
kaelten@0 74 self.frame:Hide()
kaelten@0 75 else
kaelten@0 76 self.frame:Show()
kaelten@0 77 end
kaelten@33 78
kaelten@0 79 local shownContainerID = IsBagOpen(KEYRING_CONTAINER)
kaelten@0 80 if ( shownContainerID ) then
kaelten@0 81 local frame = getglobal("ContainerFrame"..shownContainerID)
kaelten@0 82 frame:Hide()
kaelten@0 83 end
kaelten@0 84 end)
kaelten@0 85 end