flickerstreak@23: --[[ flickerstreak@23: FuBar plugin module for ReAction flickerstreak@23: flickerstreak@23: --]] flickerstreak@23: flickerstreak@23: -- local imports flickerstreak@23: local ReAction = ReAction flickerstreak@23: local L = ReAction.L flickerstreak@23: local _G = _G flickerstreak@23: local Tablet = AceLibrary("Tablet-2.0") flickerstreak@23: local Dewdrop = AceLibrary("Dewdrop-2.0") flickerstreak@23: flickerstreak@23: -- module declaration flickerstreak@23: local moduleID = "ReActionFu" flickerstreak@23: local module = ReAction:NewModule( moduleID, flickerstreak@23: "FuBarPlugin-2.0" flickerstreak@23: ) flickerstreak@23: flickerstreak@23: module.hasIcon = "Interface\\Icons\\INV_Qiraj_JewelEncased" flickerstreak@23: module.hasNoColor = true flickerstreak@23: module.clickableTooltip = false flickerstreak@23: module.cannotDetachTooltip = true flickerstreak@23: module.hideMenuTitle = true flickerstreak@23: module.independentProfile = true flickerstreak@23: module.defaultPosition = "LEFT" flickerstreak@23: module.defaultMinimapPosition = 240 -- degrees flickerstreak@23: flickerstreak@23: function module:OnInitialize() flickerstreak@23: self.db = ReAction:AcquireDBNamespace(moduleID) flickerstreak@23: ReAction:RegisterDefaults(moduleID,"profile", flickerstreak@23: { flickerstreak@23: requireFuBar = false flickerstreak@23: } flickerstreak@23: ) flickerstreak@23: flickerstreak@23: if self.db.profile.requireFuBar == true then flickerstreak@23: self:Hide() flickerstreak@23: end flickerstreak@23: end flickerstreak@23: flickerstreak@23: function module:OnEnable() flickerstreak@23: flickerstreak@23: end flickerstreak@23: flickerstreak@23: function module:OnDisable() flickerstreak@23: flickerstreak@23: end flickerstreak@23: flickerstreak@23: function module:OnProfileEnable() flickerstreak@23: if self.db.profile.requireFuBar == true then flickerstreak@23: self:Hide() flickerstreak@23: else flickerstreak@23: self:Show() flickerstreak@23: end flickerstreak@23: end flickerstreak@23: flickerstreak@23: function module:OnProfileDisable() flickerstreak@23: flickerstreak@23: end flickerstreak@23: flickerstreak@23: function module:OnTooltipUpdate() flickerstreak@23: flickerstreak@23: end flickerstreak@23: flickerstreak@23: function module:OnClick(button) flickerstreak@23: flickerstreak@23: end flickerstreak@23: flickerstreak@23: function module:OnMenuRequest( level, value, inTooltip, valueN_1, valueN_2, valueN_3, valueN_4 ) flickerstreak@23: if not self.aceOptionsTable then flickerstreak@23: local opts = { flickerstreak@23: type = "group", flickerstreak@23: handler = ReAction, flickerstreak@23: args = { flickerstreak@23: } flickerstreak@23: } flickerstreak@23: Dewdrop:InjectAceOptionsTable(ReAction,opts) flickerstreak@23: self.aceOptionsTable = opts flickerstreak@23: end flickerstreak@23: for _, m in ReAction:IterateModulesWithMethod("GetGlobalOptions") do flickerstreak@23: for k,v in pairs(m:GetGlobalOptions()) do flickerstreak@23: self.aceOptionsTable.args[k] = v flickerstreak@23: end flickerstreak@23: end flickerstreak@23: Dewdrop:FeedAceOptionsTable(self.aceOptionsTable) flickerstreak@23: end flickerstreak@23: