Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ----- Broker ACP -----
- myACP_LQT = LibStub("LibQTip-1.0")
- local LDB_Name = 'ACP'
- local BrokerName = 'Broker_' .. LDB_Name
- local target_addon = 'acp'
- local command_line = '/acp'
- local icon = "Interface\\Icons\\INV_GIZMO_GOBLINGTONKCONTROLLER"
- local name, title, notes, enabled, loadable, reason, security = GetAddOnInfo(target_addon)
- if enabled then
- if type(myObjACP) ~= 'table' then
- myObjACP = LibStub:GetLibrary("LibDataBroker-1.1"):NewDataObject(BrokerName, {})
- end
- local myObj = myObjACP
- myObj.type = "launcher"
- myObj.label = LDB_Name
- myObj.text = LDB_Name
- myObj.icon = icon
- else
- myObjACP = {}
- end
- function myObjACP.OnEnter(self)
- local ADDON_NAME = 'Broker_ACP'
- if not (myACP_LQT:IsAcquired(ADDON_NAME)) then
- Broker_ACP_tooltip = myACP_LQT:Acquire(ADDON_NAME, 3, "LEFT", "LEFT", "LEFT")
- Broker_ACP_tooltip:SmartAnchorTo(self)
- Broker_ACP_tooltip:SetAutoHideDelay(0.25, self)
- end
- Broker_ACP_ShowTooltip()
- end
- function myObjACP.OnLeave(self) end
- function myObjACP:OnClick(button)
- ACP:ToggleUI()
- end
- function Broker_ACP_ShowTooltip()
- local line
- Broker_ACP_tooltip:Clear()
- line = Broker_ACP_tooltip:AddLine()
- line = Broker_ACP_tooltip:SetCell(line, 1, 'Disable All')
- Broker_ACP_tooltip:SetLineScript(line, 'OnMouseUp', Broker_ACP_OnMouseUp, 'Disable All')
- local PlayerClass = UnitClass("player")
- for k, v in pairs(ACP_Data.AddonSet) do
- if type(ACP_Data.AddonSet[k]["name"]) ~= 'nil' then
- line = Broker_ACP_tooltip:AddLine()
- line = Broker_ACP_tooltip:SetCell(line, 1, tostring(k) .. " - " .. ACP_Data.AddonSet[k]["name"])
- line = Broker_ACP_tooltip:SetCell(line, 2, Broker_ACP_SetIsEnabled(k))
- Broker_ACP_tooltip:SetLineScript(line, 'OnMouseUp', Broker_ACP_OnMouseUp, k)
- elseif k == PlayerClass then
- line = Broker_ACP_tooltip:AddLine()
- line = Broker_ACP_tooltip:SetCell(line, 1, k)
- line = Broker_ACP_tooltip:SetCell(line, 2, Broker_ACP_SetIsEnabled(k))
- Broker_ACP_tooltip:SetLineScript(line, 'OnMouseUp', Broker_ACP_OnMouseUp, k)
- end
- end
- line = Broker_ACP_tooltip:AddLine()
- line = Broker_ACP_tooltip:SetCell(line, 1, "|cff00ff00-------------------|r")
- line = Broker_ACP_tooltip:AddLine()
- line = Broker_ACP_tooltip:SetCell(line, 1, 'Reload UI')
- Broker_ACP_tooltip:SetLineScript(line, 'OnMouseUp', Broker_ACP_OnMouseUp, 'ReloadUI')
- Broker_ACP_tooltip:Show()
- end
- function Broker_ACP_OnMouseUp(frame, var, button)
- if var == 'Disable All' then
- ACP:DisableAllAddons()
- local PlayerClass = UnitClass("player")
- ACP:LoadSet(PlayerClass)
- elseif var == 'Toggle ACP' then
- ACP:ToggleUI()
- elseif var == 'ReloadUI' then
- StaticPopupDialogs["EXAMPLE_HELLOWORLD"] = {
- text = "Do you want to ReloadUI?",
- button1 = "Yes",
- button2 = "No",
- OnAccept = function()
- ReloadUI()
- end,
- timeout = 0,
- whileDead = true,
- hideOnEscape = true,
- preferredIndex = 3, -- avoid some UI taint, see http://www.wowace.com/announcements/how-to-avoid-some-ui-taint/
- }
- StaticPopup_Show("EXAMPLE_HELLOWORLD")
- else
- if button == 'LeftButton' then
- ACP:LoadSet(var)
- else
- ACP:UnloadSet(var)
- end
- end
- Broker_ACP_ShowTooltip()
- end
- function Broker_ACP_SetIsEnabled(k)
- local AllAddonsForSetEnabled = "Enabled"
- for i, v in pairs(ACP_Data.AddonSet[k]) do
- if type(i) == "number" then
- local name, title, notes, enabled, loadable, reason, security = GetAddOnInfo(v)
- if not enabled and (reason ~= "MISSING") then
- AllAddonsForSetEnabled = " "
- break
- end
- end
- end
- return AllAddonsForSetEnabled
- end
- ------------------------------
Advertisement
Add Comment
Please, Sign In to add comment