Mercurial > wow > hansgar_and_franzok_assist
comparison Libs/DF/addon.lua @ 11:2f09fe4be15c
Added an Options Panel.
| author | Tercio |
|---|---|
| date | Mon, 20 Apr 2015 16:34:18 -0300 |
| parents | |
| children | 0c160948ac5e |
comparison
equal
deleted
inserted
replaced
| 10:f1e32be6773e | 11:2f09fe4be15c |
|---|---|
| 1 | |
| 2 | |
| 3 | |
| 4 local DF = _G ["DetailsFramework"] | |
| 5 local _ | |
| 6 | |
| 7 function DF:CreateAddOn (name, global_saved, global_table, options_table, broker) | |
| 8 | |
| 9 local addon = LibStub ("AceAddon-3.0"):NewAddon (name, "AceConsole-3.0", "AceEvent-3.0", "AceTimer-3.0", "DetailsFramework-1.0") | |
| 10 _G [name] = addon | |
| 11 addon.__name = name | |
| 12 | |
| 13 function addon:OnInitialize() | |
| 14 | |
| 15 if (global_saved) then | |
| 16 if (broker and broker.Minimap and not global_table.Minimap) then | |
| 17 DF:Msg (name, "broker.Minimap is true but no global.Minimap declared.") | |
| 18 end | |
| 19 self.db = LibStub ("AceDB-3.0"):New (global_saved, global_table or {}, true) | |
| 20 end | |
| 21 | |
| 22 if (options_table) then | |
| 23 LibStub ("AceConfig-3.0"):RegisterOptionsTable (name, options_table) | |
| 24 addon.OptionsFrame1 = LibStub ("AceConfigDialog-3.0"):AddToBlizOptions (name, name) | |
| 25 | |
| 26 LibStub ("AceConfig-3.0"):RegisterOptionsTable (name .. "-Profiles", LibStub ("AceDBOptions-3.0"):GetOptionsTable (self.db)) | |
| 27 addon.OptionsFrame2 = LibStub ("AceConfigDialog-3.0"):AddToBlizOptions (name .. "-Profiles", "Profiles", name) | |
| 28 end | |
| 29 | |
| 30 if (broker) then | |
| 31 | |
| 32 local broker_click_function = broker.OnClick | |
| 33 if (not broker_click_function and options_table) then | |
| 34 broker_click_function = function() | |
| 35 InterfaceOptionsFrame_OpenToCategory (name) | |
| 36 InterfaceOptionsFrame_OpenToCategory (name) | |
| 37 end | |
| 38 end | |
| 39 | |
| 40 local databroker = LibStub ("LibDataBroker-1.1"):NewDataObject (name, { | |
| 41 type = broker.type or "launcher", | |
| 42 icon = broker.icon or [[Interface\PvPRankBadges\PvPRank15]], | |
| 43 text = broker.text or "", | |
| 44 OnTooltipShow = broker.OnTooltipShow, | |
| 45 OnClick = broker_click_function | |
| 46 }) | |
| 47 | |
| 48 if (databroker and broker.Minimap and global_table.Minimap) then | |
| 49 LibStub ("LibDBIcon-1.0"):Register (name, databroker, addon.db.profile.Minimap) | |
| 50 end | |
| 51 | |
| 52 end | |
| 53 | |
| 54 end | |
| 55 | |
| 56 return addon | |
| 57 | |
| 58 end |
