comparison OneRing3.lua @ 0:54e8dbc97ee3

initial commit of onering3
author Bryan McLemore <kaelten@gmail.com>
date Fri, 17 Apr 2009 04:19:16 -0500
parents
children b4037e0bbae1
comparison
equal deleted inserted replaced
-1:000000000000 0:54e8dbc97ee3
1
2 local OneBag3 = LibStub('AceAddon-3.0'):GetAddon('OneBag3')
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')
4 local AceDB3 = LibStub('AceDB-3.0')
5 local L = LibStub("AceLocale-3.0"):GetLocale("OneRing3")
6
7 OneRing3:InitializePluginSystem()
8
9 --- Handles the do once configuration, including db, frames and configuration
10 function OneRing3:OnInitialize()
11 self.db = OneBag3.db
12 self.displayName = "OneRing3"
13
14 self.bagIndexes = {-2}
15 self.forcedCols = 4
16
17 self.frame = self:CreateMainFrame("OneRingFrame")
18 self.frame.handler = self
19
20 table.insert(OneBag3.frame.childrenFrames, self.frame)
21
22 self.frame:SetPosition(self.db.profile.position)
23 self.frame:CustomizeFrame(self.db.profile)
24
25 self.frame.moneyframe:Hide()
26 self.frame.sidebarButton:Hide()
27 self.frame.configButton:Hide()
28
29 self.frame.name:ClearAllPoints()
30 self.frame.name:SetPoint("TOPLEFT", "OneRingFrame", "TOPLEFT", 10, -15)
31
32 self.frame:SetScript("OnShow", function()
33 if not self.frame.slots then
34 self.frame.slots = {}
35 end
36
37 self:BuildFrame()
38 self:OrganizeFrame()
39 self:UpdateFrame()
40
41 local UpdateBag = function(event, bag)
42 self:UpdateBag(bag)
43 end
44
45 self:RegisterEvent("BAG_UPDATE", UpdateBag)
46 self:RegisterEvent("BAG_UPDATE_COOLDOWN", UpdateBag)
47 self:RegisterEvent("UPDATE_INVENTORY_ALERTS", "UpdateFrame")
48
49 self.frame.name:SetText(L["%s's KeyRing"]:format(UnitName("player")))
50
51 self.frame:ClearAllPoints()
52 if not OneBag3.frame:IsVisible() then
53 self.frame:SetPoint("CENTER", UIParent, "CENTER", 0, 0)
54 else
55 self.frame:SetPoint("BOTTOMLEFT", OneBag3.frame, "TOPLEFT", 0, 8)
56 end
57 end)
58
59 self.frame:SetScript("OnHide", function()
60 self:UnregisterEvent("BAG_UPDATE")
61 self:UnregisterEvent("BAG_UPDATE_COOLDOWN")
62 self:UnregisterEvent("UPDATE_INVENTORY_ALERTS")
63 end)
64 end
65
66 --- Sets up hooks and registers events
67 function OneRing3:OnEnable()
68 self:SecureHook("ToggleKeyRing", function()
69 if self.frame:IsVisible() then
70 self.frame:Hide()
71 else
72 self.frame:Show()
73 end
74
75 local shownContainerID = IsBagOpen(KEYRING_CONTAINER)
76 if ( shownContainerID ) then
77 local frame = getglobal("ContainerFrame"..shownContainerID)
78 frame:Hide()
79 end
80 end)
81 end
82