annotate Libs/DF/addon.lua @ 20:dc1c77254f80

- added close button to users panel. - framework update.
author Tercio
date Tue, 11 Aug 2015 12:46:46 -0300
parents 680465749fc7
children 0682d738499b
rev   line source
Tercio@11 1
Tercio@11 2 local DF = _G ["DetailsFramework"]
Tercio@11 3 local _
Tercio@11 4
Tercio@20 5 if (not DF or not DetailsFrameworkCanLoad) then
Tercio@18 6 return
Tercio@18 7 end
Tercio@18 8
Tercio@11 9 function DF:CreateAddOn (name, global_saved, global_table, options_table, broker)
Tercio@11 10
Tercio@17 11 local addon = LibStub ("AceAddon-3.0"):NewAddon (name, "AceConsole-3.0", "AceEvent-3.0", "AceTimer-3.0", "DetailsFramework-1.0", "AceComm-3.0")
Tercio@11 12 _G [name] = addon
Tercio@11 13 addon.__name = name
Tercio@11 14
Tercio@11 15 function addon:OnInitialize()
Tercio@11 16
Tercio@11 17 if (global_saved) then
Tercio@11 18 if (broker and broker.Minimap and not global_table.Minimap) then
Tercio@11 19 DF:Msg (name, "broker.Minimap is true but no global.Minimap declared.")
Tercio@11 20 end
Tercio@11 21 self.db = LibStub ("AceDB-3.0"):New (global_saved, global_table or {}, true)
Tercio@11 22 end
Tercio@11 23
Tercio@11 24 if (options_table) then
Tercio@11 25 LibStub ("AceConfig-3.0"):RegisterOptionsTable (name, options_table)
Tercio@11 26 addon.OptionsFrame1 = LibStub ("AceConfigDialog-3.0"):AddToBlizOptions (name, name)
Tercio@11 27
Tercio@11 28 LibStub ("AceConfig-3.0"):RegisterOptionsTable (name .. "-Profiles", LibStub ("AceDBOptions-3.0"):GetOptionsTable (self.db))
Tercio@11 29 addon.OptionsFrame2 = LibStub ("AceConfigDialog-3.0"):AddToBlizOptions (name .. "-Profiles", "Profiles", name)
Tercio@11 30 end
Tercio@11 31
Tercio@11 32 if (broker) then
Tercio@11 33 local broker_click_function = broker.OnClick
Tercio@11 34 if (not broker_click_function and options_table) then
Tercio@11 35 broker_click_function = function()
Tercio@11 36 InterfaceOptionsFrame_OpenToCategory (name)
Tercio@11 37 InterfaceOptionsFrame_OpenToCategory (name)
Tercio@11 38 end
Tercio@11 39 end
Tercio@11 40
Tercio@11 41 local databroker = LibStub ("LibDataBroker-1.1"):NewDataObject (name, {
Tercio@11 42 type = broker.type or "launcher",
Tercio@11 43 icon = broker.icon or [[Interface\PvPRankBadges\PvPRank15]],
Tercio@11 44 text = broker.text or "",
Tercio@11 45 OnTooltipShow = broker.OnTooltipShow,
Tercio@11 46 OnClick = broker_click_function
Tercio@11 47 })
Tercio@11 48
Tercio@11 49 if (databroker and broker.Minimap and global_table.Minimap) then
Tercio@11 50 LibStub ("LibDBIcon-1.0"):Register (name, databroker, addon.db.profile.Minimap)
Tercio@11 51 end
Tercio@20 52 end
Tercio@20 53
Tercio@20 54 if (addon.OnInit) then
Tercio@20 55 xpcall (addon.OnInit, geterrorhandler(), addon)
Tercio@11 56 end
Tercio@11 57
Tercio@11 58 end
Tercio@11 59
Tercio@11 60 return addon
Tercio@11 61
Tercio@11 62 end