diff --git a/ElvUI_SLE/modules/uibuttons.lua b/ElvUI_SLE/modules/uibuttons.lua
index 165a1c6..88442bb 100644
--- a/ElvUI_SLE/modules/uibuttons.lua
+++ b/ElvUI_SLE/modules/uibuttons.lua
@@ -12,6 +12,15 @@ local AddonTable = {}
local StatusTable = {}
local RollTable = {}
+local function CustomRollCall()
+ local min, max = tonumber(E.db.sle.uibuttons.roll.min), tonumber(E.db.sle.uibuttons.roll.max)
+ if min <= max then
+ RandomRoll(min, max)
+ else
+ SLE:Print(L["Custom roll limits are set incorrectly! Minimum should be smaller then or equial to maximum."])
+ end
+end
+
function UB:OnEnter(self)
UB.menuHolder:SetAlpha(1)
end
@@ -40,48 +49,21 @@ function UB:CreateFrame()
UB.menuHolder:HookScript('OnLeave', UB.OnLeave)
UB.menuHolder.Config = CreateFrame("Frame", "SLEUIConfigHolder", UB.menuHolder)
- UB.menuHolder.Config.Toggle = CreateFrame("Button", "SLEUIConfigToggle", UB.menuHolder)
- UB.menuHolder.Config.Toggle.text = UB.menuHolder.Config.Toggle:CreateFontString(nil, "OVERLAY")
- UB.menuHolder.Config.Toggle.text:SetFont(E["media"].normFont, 10, "OUTLINE")
- UB.menuHolder.Config.Toggle.text:SetPoint("CENTER", UB.menuHolder.Config.Toggle, "CENTER", 0, 0)
- UB.menuHolder.Config.Toggle.text:SetText("C")
- UB.menuHolder.Config:HookScript('OnEnter', UB.OnEnter)
- UB.menuHolder.Config:HookScript('OnLeave', UB.OnLeave)
+ UB:CreateCoreButton("Config", "C")
UB:ConfigSetup()
- Sk:HandleButton(UB.menuHolder.Config.Toggle)
UB.menuHolder.Addon = CreateFrame("Frame", "SLEUIAddonHolder", UB.menuHolder)
- UB.menuHolder.Addon.Toggle = CreateFrame("Button", "SLEUIAddonToggle", UB.menuHolder)
- UB.menuHolder.Addon.Toggle.text = UB.menuHolder.Addon.Toggle:CreateFontString(nil, "OVERLAY")
- UB.menuHolder.Addon.Toggle.text:SetFont(E["media"].normFont, 10, "OUTLINE")
- UB.menuHolder.Addon.Toggle.text:SetPoint("CENTER", UB.menuHolder.Addon.Toggle, "CENTER", 0, 0)
- UB.menuHolder.Addon.Toggle.text:SetText("A")
- UB.menuHolder.Addon:HookScript('OnEnter', UB.OnEnter)
- UB.menuHolder.Addon:HookScript('OnLeave', UB.OnLeave)
+ UB:CreateCoreButton("Addon", "A")
UB:AddonSetup()
- Sk:HandleButton(UB.menuHolder.Addon.Toggle)
UB.menuHolder.Status = CreateFrame("Frame", "SLEUIStatusHolder", UB.menuHolder)
- UB.menuHolder.Status.Toggle = CreateFrame("Button", "SLEUIStatusToggle", UB.menuHolder)
- UB.menuHolder.Status.Toggle.text = UB.menuHolder.Status.Toggle:CreateFontString(nil, "OVERLAY")
- UB.menuHolder.Status.Toggle.text:SetFont(E["media"].normFont, 10, "OUTLINE")
- UB.menuHolder.Status.Toggle.text:SetPoint("CENTER", UB.menuHolder.Status.Toggle, "CENTER", 0, 0)
- UB.menuHolder.Status.Toggle.text:SetText("S")
- UB.menuHolder.Status:HookScript('OnEnter', UB.OnEnter)
- UB.menuHolder.Status:HookScript('OnLeave', UB.OnLeave)
+ UB:CreateCoreButton("Status", "S")
UB:StatusSetup()
- Sk:HandleButton(UB.menuHolder.Status.Toggle)
UB.menuHolder.Roll = CreateFrame("Frame", "SLEUIRollHolder", UB.menuHolder)
- UB.menuHolder.Roll.Toggle = CreateFrame("Button", "SLEUIRollToggle", UB.menuHolder)
- UB.menuHolder.Roll.Toggle.text = UB.menuHolder.Roll.Toggle:CreateFontString(nil, "OVERLAY")
- UB.menuHolder.Roll.Toggle.text:SetFont(E["media"].normFont, 10, "OUTLINE")
- UB.menuHolder.Roll.Toggle.text:SetPoint("CENTER", UB.menuHolder.Roll.Toggle, "CENTER", 0, 0)
- UB.menuHolder.Roll.Toggle.text:SetText("R")
- UB.menuHolder.Roll:HookScript('OnEnter', UB.OnEnter)
- UB.menuHolder.Roll:HookScript('OnLeave', UB.OnLeave)
+ UB:CreateCoreButton("Roll", "R")
UB:RollSetup()
- Sk:HandleButton(UB.menuHolder.Roll.Toggle)
+
ToggleTable = {
UB.menuHolder.Config.Toggle,
@@ -91,6 +73,87 @@ function UB:CreateFrame()
}
end
+function UB:CreateCoreButton(name, text)
+ UB.menuHolder[name].Toggle = CreateFrame("Button", "SLEUI"..name.."Toggle", UB.menuHolder)
+ local button = UB.menuHolder[name].Toggle
+ button.text = button:CreateFontString(nil, "OVERLAY")
+ button.text:SetPoint("CENTER", button, "CENTER", 0, 0)
+ UB.menuHolder[name]:HookScript('OnEnter', UB.OnEnter)
+ UB.menuHolder[name]:HookScript('OnLeave', UB.OnLeave)
+ Sk:HandleButton(button)
+
+ if text then
+ local t = button:CreateFontString(nil,"OVERLAY",button)
+ t:FontTemplate()
+ t:SetPoint("CENTER", button, 'CENTER', 0, -1)
+ t:SetJustifyH("CENTER")
+ t:SetText(text)
+ button:SetFontString(t)
+ end
+end
+
+function UB:CreateDropdownButton(parent, name, text, tooltip1, tooltip2, click, addon)
+ UB.menuHolder[parent][name] = CreateFrame("Button", "SLEUI"..parent..name, UB.menuHolder[parent])
+ local b = UB.menuHolder[parent][name]
+ local toggle = UB.menuHolder[parent].Toggle
+ if addon and name == "Boss" then
+ b.shown = true
+ b.bossmode = function() end
+ if IsAddOnLoaded("DBM-Core") then
+ b.bossmode = function() DBM:LoadGUI() end
+ -- elseif IsAddOnLoaded("Bigwigs") then
+ -- b.bossmode = function() end
+ elseif IsAddOnLoaded("VEM-Core") then
+ b.bossmode = function() VEM:LoadGUI() end
+ -- elseif IsAddOnLoaded("DXE_Loader") then
+ -- b.bossmode = function() end
+ -- elseif IsAddOnLoaded("") then
+ -- b.bossmode = function() end
+ else
+ b.shown = false
+ end
+ elseif addon then
+ if IsAddOnLoaded(addon) then
+ b.shown = true
+ else
+ b.shown = false
+ end
+ end
+
+ b:SetScript("OnClick", function(self)
+ click()
+ toggle.opened = false
+ UB:ToggleCats()
+ end)
+
+ if tooltip1 then
+ b:SetScript("OnEnter", function(self)
+ UB:OnEnter()
+ GameTooltip:SetOwner(self)
+ GameTooltip:AddLine(tooltip1, .6, .6, .6, .6, .6, 1)
+ GameTooltip:AddLine(tooltip2, 1, 1, 1, 1, 1, 1)
+ GameTooltip:Show()
+ end)
+ b:SetScript("OnLeave", function(self)
+ UB:OnLeave()
+ GameTooltip:Hide()
+ end)
+ else
+ b:HookScript('OnEnter', UB.OnEnter)
+ b:HookScript('OnEnter', UB.OnEnter)
+ end
+ Sk:HandleButton(b)
+
+ if text then
+ local t = b:CreateFontString(nil,"OVERLAY",b)
+ t:FontTemplate()
+ t:SetPoint("CENTER", b, 'CENTER', 0, -1)
+ t:SetJustifyH("CENTER")
+ t:SetText(text)
+ b:SetFontString(t)
+ end
+end
+
function UB:ToggleCats()
if UB.menuHolder.Config.Toggle.opened then
UB.menuHolder.Config:Show()
@@ -138,126 +201,12 @@ function UB:ConfigSetup()
end)
button:HookScript('OnEnter', UB.OnEnter)
button:HookScript('OnLeave', UB.OnLeave)
- do
- UB.menuHolder.Config.Elv = CreateFrame("Button", "SLEUIConfigElv", UB.menuHolder.Config)
- UB.menuHolder.Config.Elv.text = UB.menuHolder.Config.Elv:CreateFontString(nil, "OVERLAY")
- UB.menuHolder.Config.Elv.text:SetFont(E["media"].normFont, 10, "OUTLINE")
- UB.menuHolder.Config.Elv.text:SetPoint("CENTER", UB.menuHolder.Config.Elv, "CENTER")
- UB.menuHolder.Config.Elv.text:SetText("ElvUI")
- UB.menuHolder.Config.Elv:SetScript("OnClick", function(self)
- E:ToggleConfig()
- button.opened = false
- UB:ToggleCats()
- end)
- UB.menuHolder.Config.Elv:SetScript("OnEnter", function(self)
- UB:OnEnter()
- GameTooltip:SetOwner(self)
- GameTooltip:AddLine(L["ElvUI Config"], .6, .6, .6, .6, .6, 1)
- GameTooltip:AddLine(L["Click to toggle config window"], 1, 1, 1, 1, 1, 1)
- GameTooltip:Show()
- end)
- UB.menuHolder.Config.Elv:SetScript("OnLeave", function(self)
- UB:OnLeave()
- GameTooltip:Hide()
- end)
- Sk:HandleButton(UB.menuHolder.Config.Elv)
- end
- do
- UB.menuHolder.Config.SLE = CreateFrame("Button", "SLEUIConfigSLE", UB.menuHolder.Config)
- UB.menuHolder.Config.SLE.text = UB.menuHolder.Config.SLE:CreateFontString(nil, "OVERLAY")
- UB.menuHolder.Config.SLE.text:SetFont(E["media"].normFont, 10, "OUTLINE")
- UB.menuHolder.Config.SLE.text:SetPoint("CENTER", UB.menuHolder.Config.SLE, "CENTER")
- UB.menuHolder.Config.SLE.text:SetText("S&L")
- UB.menuHolder.Config.SLE:SetScript("OnClick", function(self)
- E:ToggleConfig()
- ACD:SelectGroup("ElvUI", "sle", "options")
- button.opened = false
- UB:ToggleCats()
- end)
- UB.menuHolder.Config.SLE:SetScript("OnEnter", function(self)
- UB:OnEnter()
- GameTooltip:SetOwner(self)
- GameTooltip:AddLine(L["S&L Config"], .6, .6, .6, .6, .6, 1)
- GameTooltip:AddLine(L["Click to toggle Shadow & Light config group"], 1, 1, 1, 1, 1, 1)
- GameTooltip:Show()
- end)
- UB.menuHolder.Config.SLE:SetScript("OnLeave", function(self)
- UB:OnLeave()
- GameTooltip:Hide()
- end)
- Sk:HandleButton(UB.menuHolder.Config.SLE)
- end
- do
- UB.menuHolder.Config.Benik = CreateFrame("Button", "SLEUIConfigBenik", UB.menuHolder.Config)
- UB.menuHolder.Config.Benik.text = UB.menuHolder.Config.Benik:CreateFontString(nil, "OVERLAY")
- UB.menuHolder.Config.Benik.text:SetFont(E["media"].normFont, 10, "OUTLINE")
- UB.menuHolder.Config.Benik.text:SetPoint("CENTER", UB.menuHolder.Config.Benik, "CENTER")
- UB.menuHolder.Config.Benik.text:SetText("BenikUI")
- UB.menuHolder.Config.Benik:SetScript("OnClick", function(self)
- E:ToggleConfig()
- ACD:SelectGroup("ElvUI", "bui")
- button.opened = false
- UB:ToggleCats()
- end)
- UB.menuHolder.Config.Benik:SetScript("OnEnter", function(self)
- UB:OnEnter()
- GameTooltip:SetOwner(self)
- GameTooltip:AddLine(L["BenikUI Config"], .6, .6, .6, .6, .6, 1)
- GameTooltip:AddLine(L["Click to toggle BenikUI config group"], 1, 1, 1, 1, 1, 1)
- GameTooltip:Show()
- end)
- UB.menuHolder.Config.Benik:SetScript("OnLeave", function(self)
- UB:OnLeave()
- GameTooltip:Hide()
- end)
- Sk:HandleButton(UB.menuHolder.Config.Benik)
- end
- do
- UB.menuHolder.Config.Reload = CreateFrame("Button", "SLEUIConfigReload", UB.menuHolder.Config)
- UB.menuHolder.Config.Reload.text = UB.menuHolder.Config.Reload:CreateFontString(nil, "OVERLAY")
- UB.menuHolder.Config.Reload.text:SetFont(E["media"].normFont, 10, "OUTLINE")
- UB.menuHolder.Config.Reload.text:SetPoint("CENTER", UB.menuHolder.Config.Reload, "CENTER")
- UB.menuHolder.Config.Reload.text:SetText("/reload")
- UB.menuHolder.Config.Reload:SetScript("OnClick", function(self)
- ReloadUI()
- end)
- UB.menuHolder.Config.Reload:SetScript("OnEnter", function(self)
- UB:OnEnter()
- GameTooltip:SetOwner(self)
- GameTooltip:AddLine(L["Reload UI"], .6, .6, .6, .6, .6, 1)
- GameTooltip:AddLine(L["Click to reload your interface"], 1, 1, 1, 1, 1, 1)
- GameTooltip:Show()
- end)
- UB.menuHolder.Config.Reload:SetScript("OnLeave", function(self)
- UB:OnLeave()
- GameTooltip:Hide()
- end)
- Sk:HandleButton(UB.menuHolder.Config.Reload)
- end
- do
- UB.menuHolder.Config.MoveUI = CreateFrame("Button", "SLEUIConfigMoveUI", UB.menuHolder.Config)
- UB.menuHolder.Config.MoveUI.text = UB.menuHolder.Config.MoveUI:CreateFontString(nil, "OVERLAY")
- UB.menuHolder.Config.MoveUI.text:SetFont(E["media"].normFont, 10, "OUTLINE")
- UB.menuHolder.Config.MoveUI.text:SetPoint("CENTER", UB.menuHolder.Config.MoveUI, "CENTER")
- UB.menuHolder.Config.MoveUI.text:SetText("/moveui")
- UB.menuHolder.Config.MoveUI:SetScript("OnClick", function(self)
- E:ToggleConfigMode()
- button.opened = false
- UB:ToggleCats()
- end)
- UB.menuHolder.Config.MoveUI:SetScript("OnEnter", function(self)
- UB:OnEnter()
- GameTooltip:SetOwner(self)
- GameTooltip:AddLine(L["Move UI"], .6, .6, .6, .6, .6, 1)
- GameTooltip:AddLine(L["Click to unlock moving ElvUI elements"], 1, 1, 1, 1, 1, 1)
- GameTooltip:Show()
- end)
- UB.menuHolder.Config.MoveUI:SetScript("OnLeave", function(self)
- UB:OnLeave()
- GameTooltip:Hide()
- end)
- Sk:HandleButton(UB.menuHolder.Config.MoveUI)
- end
+
+ UB:CreateDropdownButton("Config", "Elv", "ElvUI", L["ElvUI Config"], L["Click to toggle config window"], E.ToggleConfig)
+ UB:CreateDropdownButton("Config", "SLE", "S&L", L["S&L Config"], L["Click to toggle Shadow & Light config group"], function() E:ToggleConfig(); ACD:SelectGroup("ElvUI", "sle", "options") end)
+ UB:CreateDropdownButton("Config", "Benik", "BenikUI", L["BenikUI Config"], L["Click to toggle BenikUI config group"], function() E:ToggleConfig(); ACD:SelectGroup("ElvUI", "bui") end)
+ UB:CreateDropdownButton("Config", "Reload", "/reloadui", L["Reload UI"], L["Click to reload your interface"], ReloadUI)
+ UB:CreateDropdownButton("Config", "MoveUI", "/moveui", L["Move UI"], L["Click to unlock moving ElvUI elements"], function() E:ToggleConfigMode() end)
ConfigTable = {
UB.menuHolder.Config.Elv,
@@ -292,201 +241,27 @@ function UB:AddonSetup()
button:HookScript('OnEnter', UB.OnEnter)
button:HookScript('OnLeave', UB.OnLeave)
- do
- UB.menuHolder.Addon.Manager = CreateFrame("Button", "SLEUIAddonManager", UB.menuHolder.Addon)
- UB.menuHolder.Addon.Manager.text = UB.menuHolder.Addon.Manager:CreateFontString(nil, "OVERLAY")
- UB.menuHolder.Addon.Manager.text:SetFont(E["media"].normFont, 10, "OUTLINE")
- UB.menuHolder.Addon.Manager.text:SetPoint("CENTER", UB.menuHolder.Addon.Manager, "CENTER")
- UB.menuHolder.Addon.Manager.text:SetText(L["Addons"])
- UB.menuHolder.Addon.Manager:SetScript("OnClick", function(self)
- GameMenuButtonAddons:Click()
- button.opened = false
- UB:ToggleCats()
- end)
- UB.menuHolder.Addon.Manager:SetScript("OnEnter", function(self)
- UB:OnEnter()
- GameTooltip:SetOwner(self, "ANCHOR_TOP", 30,0)
- GameTooltip:AddLine(L["AddOns Manager"], .6, .6, .6, .6, .6, 1)
- GameTooltip:AddLine(L["Click to toggle the AddOn Manager frame."], 1, 1, 1, 1, 1, 1)
- GameTooltip:Show()
- end)
- UB.menuHolder.Addon.Manager:SetScript("OnLeave", function(self)
- UB:OnLeave()
- GameTooltip:Hide()
- end)
- UB.menuHolder.Addon.Manager.shown = true
- Sk:HandleButton(UB.menuHolder.Addon.Manager)
- tinsert(AddonTable, UB.menuHolder.Addon.Manager)
- end
- do
- UB.menuHolder.Addon.Boss = CreateFrame("Button", "SLEUIAddonBoss", UB.menuHolder.Addon)
- UB.menuHolder.Addon.Boss.text = UB.menuHolder.Addon.Boss:CreateFontString(nil, "OVERLAY")
- UB.menuHolder.Addon.Boss.text:SetFont(E["media"].normFont, 10, "OUTLINE")
- UB.menuHolder.Addon.Boss.text:SetPoint("CENTER", UB.menuHolder.Addon.Boss, "CENTER")
- UB.menuHolder.Addon.Boss.text:SetText(L["Boss Mod"])
- UB.menuHolder.Addon.Boss:SetScript("OnClick", function(self)
- UB.menuHolder.Addon.bossmode()
- button.opened = false
- UB:ToggleCats()
- end)
- UB.menuHolder.Addon.Boss:SetScript("OnEnter", function(self)
- UB:OnEnter()
- GameTooltip:SetOwner(self, "ANCHOR_TOP", 30,0)
- GameTooltip:AddLine(L["Boss Mod"], .6, .6, .6, .6, .6, 1)
- GameTooltip:AddLine(L["Click to toggle the Configuration/Option Window from the Bossmod you have enabled."], 1, 1, 1, 1, 1, 1)
- GameTooltip:Show()
- end)
- UB.menuHolder.Addon.Boss:SetScript("OnLeave", function(self)
- UB:OnLeave()
- GameTooltip:Hide()
- end)
- UB.menuHolder.Addon.Boss.shown = true
- UB.menuHolder.Addon.bossmode = function() end
- if IsAddOnLoaded("DBM-Core") then
- UB.menuHolder.Addon.bossmode = function() DBM:LoadGUI() end
- -- elseif IsAddOnLoaded("Bigwigs") then
- -- UB.menuHolder.Addon.bossmode = function() end
- elseif IsAddOnLoaded("VEM-Core") then
- UB.menuHolder.Addon.bossmode = function() VEM:LoadGUI() end
- -- elseif IsAddOnLoaded("DXE_Loader") then
- -- UB.menuHolder.Addon.bossmode = function() end
- -- elseif IsAddOnLoaded("") then
- -- UB.menuHolder.Addon.bossmode = function() end
- else
- UB.menuHolder.Addon.Boss.shown = false
- end
- Sk:HandleButton(UB.menuHolder.Addon.Boss)
- tinsert(AddonTable, UB.menuHolder.Addon.Boss)
- end
- do
- UB.menuHolder.Addon.Altoholic = CreateFrame("Button", "SLEUIAddonAltoholic", UB.menuHolder.Addon)
- UB.menuHolder.Addon.Altoholic.text = UB.menuHolder.Addon.Altoholic:CreateFontString(nil, "OVERLAY")
- UB.menuHolder.Addon.Altoholic.text:SetFont(E["media"].normFont, 10, "OUTLINE")
- UB.menuHolder.Addon.Altoholic.text:SetInside(UB.menuHolder.Addon.Altoholic)
- UB.menuHolder.Addon.Altoholic.text:SetText("Altoholic")
- UB.menuHolder.Addon.Altoholic.text:SetJustifyH("CENTER")
- UB.menuHolder.Addon.Altoholic:SetScript("OnClick", function(self)
- Altoholic:ToggleUI()
- button.opened = false
- UB:ToggleCats()
- end)
- if IsAddOnLoaded("Altoholic") then
- UB.menuHolder.Addon.Altoholic.shown = true
- else
- UB.menuHolder.Addon.Altoholic.shown = false
- end
- UB.menuHolder.Addon.Altoholic:HookScript('OnEnter', UB.OnEnter)
- UB.menuHolder.Addon.Altoholic:HookScript('OnLeave', UB.OnLeave)
- Sk:HandleButton(UB.menuHolder.Addon.Altoholic)
- tinsert(AddonTable, UB.menuHolder.Addon.Altoholic)
- end
- do
- UB.menuHolder.Addon.AtlasLoot = CreateFrame("Button", "SLEUIAddonAtlasLoot", UB.menuHolder.Addon)
- UB.menuHolder.Addon.AtlasLoot.text = UB.menuHolder.Addon.AtlasLoot:CreateFontString(nil, "OVERLAY")
- UB.menuHolder.Addon.AtlasLoot.text:SetFont(E["media"].normFont, 10, "OUTLINE")
- UB.menuHolder.Addon.AtlasLoot.text:SetPoint("CENTER", UB.menuHolder.Addon.AtlasLoot, "CENTER")
- UB.menuHolder.Addon.AtlasLoot.text:SetText("AtlasLoot")
- UB.menuHolder.Addon.AtlasLoot:SetScript("OnClick", function(self)
- AtlasLoot.GUI:Toggle()
- button.opened = false
- UB:ToggleCats()
- end)
- if IsAddOnLoaded("AtlasLoot") then
- UB.menuHolder.Addon.AtlasLoot.shown = true
- else
- UB.menuHolder.Addon.AtlasLoot.shown = false
- end
- UB.menuHolder.Addon.AtlasLoot:HookScript('OnEnter', UB.OnEnter)
- UB.menuHolder.Addon.AtlasLoot:HookScript('OnLeave', UB.OnLeave)
- Sk:HandleButton(UB.menuHolder.Addon.AtlasLoot)
- tinsert(AddonTable, UB.menuHolder.Addon.AtlasLoot)
- end
-
- do
- UB.menuHolder.Addon.WeakAuras = CreateFrame("Button", "SLEUIAddonWeakAuras", UB.menuHolder.Addon)
- UB.menuHolder.Addon.WeakAuras.text = UB.menuHolder.Addon.WeakAuras:CreateFontString(nil, "OVERLAY")
- UB.menuHolder.Addon.WeakAuras.text:SetFont(E["media"].normFont, 10, "OUTLINE")
- UB.menuHolder.Addon.WeakAuras.text:SetPoint("CENTER", UB.menuHolder.Addon.WeakAuras, "CENTER")
- UB.menuHolder.Addon.WeakAuras.text:SetText("WeakAuras")
- UB.menuHolder.Addon.WeakAuras:SetScript("OnClick", function(self)
- SlashCmdList.WEAKAURAS()
- button.opened = false
- UB:ToggleCats()
- end)
- UB.menuHolder.Addon.WeakAuras:HookScript('OnEnter', UB.OnEnter)
- UB.menuHolder.Addon.WeakAuras:HookScript('OnLeave', UB.OnLeave)
- if IsAddOnLoaded("WeakAuras") then
- UB.menuHolder.Addon.WeakAuras.shown = true
- else
- UB.menuHolder.Addon.WeakAuras.shown = false
- end
- Sk:HandleButton(UB.menuHolder.Addon.WeakAuras)
- tinsert(AddonTable, UB.menuHolder.Addon.WeakAuras)
- end
+
+ UB:CreateDropdownButton("Addon", "Manager", L["AddOns"], L["AddOns Manager"], L["Click to toggle the AddOn Manager frame."], function() GameMenuButtonAddons:Click() end)
+ UB:CreateDropdownButton("Addon", "Boss", L["Boss Mod"], L["Boss Mod"], L["Click to toggle the Configuration/Option Window from the Bossmod you have enabled."], function() UB.menuHolder.Addon.Boss.bossmode() end, true)
+ UB:CreateDropdownButton("Addon", "Altoholic", "Altoholic", nil, nil, Altoholic.ToggleUI, "Altoholic")
+ UB:CreateDropdownButton("Addon", "AtlasLoot", "AtlasLoot", nil, nil, function() AtlasLoot.GUI:Toggle() end, "AtlasLoot")
+ UB:CreateDropdownButton("Addon", "WeakAuras", "WeakAuras", nil, nil, SlashCmdList.WEAKAURAS, "WeakAuras")
+ UB:CreateDropdownButton("Addon", "Swatter", "Swatter", nil, nil, Swatter.ErrorShow, "!Swatter")
- do
- UB.menuHolder.Addon.Swatter = CreateFrame("Button", "SLEUIAddonSwatter", UB.menuHolder.Addon)
- UB.menuHolder.Addon.Swatter.text = UB.menuHolder.Addon.Swatter:CreateFontString(nil, "OVERLAY")
- UB.menuHolder.Addon.Swatter.text:SetFont(E["media"].normFont, 10, "OUTLINE")
- UB.menuHolder.Addon.Swatter.text:SetPoint("CENTER", UB.menuHolder.Addon.Swatter, "CENTER")
- UB.menuHolder.Addon.Swatter.text:SetText("Swatter")
- UB.menuHolder.Addon.Swatter:SetScript("OnClick", function(self)
- Swatter.ErrorShow()
- button.opened = false
- UB:ToggleCats()
- end)
- UB.menuHolder.Addon.Swatter:HookScript('OnEnter', UB.OnEnter)
- UB.menuHolder.Addon.Swatter:HookScript('OnLeave', UB.OnLeave)
- if IsAddOnLoaded("!Swatter") then
- UB.menuHolder.Addon.Swatter.shown = true
- else
- UB.menuHolder.Addon.Swatter.shown = false
- end
- Sk:HandleButton(UB.menuHolder.Addon.Swatter)
- tinsert(AddonTable, UB.menuHolder.Addon.Swatter)
- end
+ tinsert(AddonTable, UB.menuHolder.Addon.Manager)
+ tinsert(AddonTable, UB.menuHolder.Addon.Boss)
+ tinsert(AddonTable, UB.menuHolder.Addon.Altoholic)
+ tinsert(AddonTable, UB.menuHolder.Addon.AtlasLoot)
+ tinsert(AddonTable, UB.menuHolder.Addon.WeakAuras)
+ tinsert(AddonTable, UB.menuHolder.Addon.Swatter)
--Always keep at the bottom--
- do
- UB.menuHolder.Addon.WowLua = CreateFrame("Button", "SLEUIAddonWowLua", UB.menuHolder.Addon)
- UB.menuHolder.Addon.WowLua.text = UB.menuHolder.Addon.WowLua:CreateFontString(nil, "OVERLAY")
- UB.menuHolder.Addon.WowLua.text:SetFont(E["media"].normFont, 10, "OUTLINE")
- UB.menuHolder.Addon.WowLua.text:SetPoint("CENTER", UB.menuHolder.Addon.WowLua, "CENTER")
- UB.menuHolder.Addon.WowLua.text:SetText("WowLua")
- UB.menuHolder.Addon.WowLua:SetScript("OnClick", function(self)
- SlashCmdList["WOWLUA"]("")
- button.opened = false
- UB:ToggleCats()
- end)
- UB.menuHolder.Addon.WowLua:HookScript('OnEnter', UB.OnEnter)
- UB.menuHolder.Addon.WowLua:HookScript('OnLeave', UB.OnLeave)
- if IsAddOnLoaded("WowLua") then
- UB.menuHolder.Addon.WowLua.shown = true
- else
- UB.menuHolder.Addon.WowLua.shown = false
- end
- Sk:HandleButton(UB.menuHolder.Addon.WowLua)
- tinsert(AddonTable, UB.menuHolder.Addon.WowLua)
- end
- do
- UB.menuHolder.Addon.Darth = CreateFrame("Button", "SLEUIAddonDarth", UB.menuHolder.Addon)
- UB.menuHolder.Addon.Darth.text = UB.menuHolder.Addon.Darth:CreateFontString(nil, "OVERLAY")
- UB.menuHolder.Addon.Darth.text:SetFont(E["media"].normFont, 10, "OUTLINE")
- UB.menuHolder.Addon.Darth.text:SetPoint("CENTER", UB.menuHolder.Addon.Darth, "CENTER")
- UB.menuHolder.Addon.Darth.text:SetText("DarthUI")
- UB.menuHolder.Addon.Darth:SetScript("OnClick", function(self)
- DarthUI[1]:ToggleConfig()
- button.opened = false
- UB:ToggleCats()
- end)
- if IsAddOnLoaded("DarthUI") then
- UB.menuHolder.Addon.Darth.shown = true
- else
- UB.menuHolder.Addon.Darth.shown = false
- end
- Sk:HandleButton(UB.menuHolder.Addon.Darth)
- tinsert(AddonTable, UB.menuHolder.Addon.Darth)
- end
+ UB:CreateDropdownButton("Addon", "WowLua", "WowLua", nil, nil, function() SlashCmdList["WOWLUA"]("") end, "WowLua")
+ UB:CreateDropdownButton("Addon", "Darth", "DarthUI", nil, nil, function() DarthUI[1]:ToggleConfig() end, "DarthUI")
+
+ tinsert(AddonTable, UB.menuHolder.Addon.WowLua)
+ tinsert(AddonTable, UB.menuHolder.Addon.Darth)
end
function UB:StatusSetup()
@@ -513,38 +288,9 @@ function UB:StatusSetup()
end)
button:HookScript('OnEnter', UB.OnEnter)
button:HookScript('OnLeave', UB.OnLeave)
-
- do
- UB.menuHolder.Status.AFK = CreateFrame("Button", "SLEUIStatusAFK", UB.menuHolder.Status)
- UB.menuHolder.Status.AFK.text = UB.menuHolder.Status.AFK:CreateFontString(nil, "OVERLAY")
- UB.menuHolder.Status.AFK.text:SetFont(E["media"].normFont, 10, "OUTLINE")
- UB.menuHolder.Status.AFK.text:SetPoint("CENTER", UB.menuHolder.Status.AFK, "CENTER")
- UB.menuHolder.Status.AFK.text:SetText(L["AFK"])
- UB.menuHolder.Status.AFK:SetScript("OnClick", function(self)
- SendChatMessage("" ,"AFK" )
- button.opened = false
- UB:ToggleCats()
- end)
- UB.menuHolder.Status.AFK:HookScript('OnEnter', UB.OnEnter)
- UB.menuHolder.Status.AFK:HookScript('OnLeave', UB.OnLeave)
- Sk:HandleButton(UB.menuHolder.Status.AFK)
- end
-
- do
- UB.menuHolder.Status.DND = CreateFrame("Button", "SLEUIStatusDND", UB.menuHolder.Status)
- UB.menuHolder.Status.DND.text = UB.menuHolder.Status.DND:CreateFontString(nil, "OVERLAY")
- UB.menuHolder.Status.DND.text:SetFont(E["media"].normFont, 10, "OUTLINE")
- UB.menuHolder.Status.DND.text:SetPoint("CENTER", UB.menuHolder.Status.DND, "CENTER")
- UB.menuHolder.Status.DND.text:SetText(L["DND"])
- UB.menuHolder.Status.DND:SetScript("OnClick", function(self)
- SendChatMessage("" ,"DND" )
- button.opened = false
- UB:ToggleCats()
- end)
- UB.menuHolder.Status.DND:HookScript('OnEnter', UB.OnEnter)
- UB.menuHolder.Status.DND:HookScript('OnLeave', UB.OnLeave)
- Sk:HandleButton(UB.menuHolder.Status.DND)
- end
+
+ UB:CreateDropdownButton("Status", "AFK", L["AFK"], nil, nil, function() SendChatMessage("" ,"AFK" ) end)
+ UB:CreateDropdownButton("Status", "DND", L["DND"], nil, nil, function() SendChatMessage("" ,"DND" ) end)
StatusTable = {
UB.menuHolder.Status.AFK,
@@ -577,109 +323,12 @@ function UB:RollSetup()
button:HookScript('OnEnter', UB.OnEnter)
button:HookScript('OnLeave', UB.OnLeave)
- do
- UB.menuHolder.Roll.Ten = CreateFrame("Button", "SLEUIRollTen", UB.menuHolder.Roll)
- UB.menuHolder.Roll.Ten.text = UB.menuHolder.Roll.Ten:CreateFontString(nil, "OVERLAY")
- UB.menuHolder.Roll.Ten.text:SetFont(E["media"].normFont, 10, "OUTLINE")
- UB.menuHolder.Roll.Ten.text:SetPoint("CENTER", UB.menuHolder.Roll.Ten, "CENTER")
- UB.menuHolder.Roll.Ten.text:SetText("1-10")
- UB.menuHolder.Roll.Ten:SetScript("OnClick", function(self)
- RandomRoll(1, 10)
- button.opened = false
- UB:ToggleCats()
- end)
- UB.menuHolder.Roll.Ten:HookScript('OnEnter', UB.OnEnter)
- UB.menuHolder.Roll.Ten:HookScript('OnLeave', UB.OnLeave)
- Sk:HandleButton(UB.menuHolder.Roll.Ten)
- end
- do
- UB.menuHolder.Roll.Twenty = CreateFrame("Button", "SLEUIRollTwenty", UB.menuHolder.Roll)
- UB.menuHolder.Roll.Twenty.text = UB.menuHolder.Roll.Twenty:CreateFontString(nil, "OVERLAY")
- UB.menuHolder.Roll.Twenty.text:SetFont(E["media"].normFont, 10, "OUTLINE")
- UB.menuHolder.Roll.Twenty.text:SetPoint("CENTER", UB.menuHolder.Roll.Twenty, "CENTER")
- UB.menuHolder.Roll.Twenty.text:SetText("1-20")
- UB.menuHolder.Roll.Twenty:SetScript("OnClick", function(self)
- RandomRoll(1, 20)
- button.opened = false
- UB:ToggleCats()
- end)
- UB.menuHolder.Roll.Twenty:HookScript('OnEnter', UB.OnEnter)
- UB.menuHolder.Roll.Twenty:HookScript('OnLeave', UB.OnLeave)
- Sk:HandleButton(UB.menuHolder.Roll.Twenty)
- end
- do
- UB.menuHolder.Roll.Thirty = CreateFrame("Button", "SLEUIRollThirty", UB.menuHolder.Roll)
- UB.menuHolder.Roll.Thirty.text = UB.menuHolder.Roll.Thirty:CreateFontString(nil, "OVERLAY")
- UB.menuHolder.Roll.Thirty.text:SetFont(E["media"].normFont, 10, "OUTLINE")
- UB.menuHolder.Roll.Thirty.text:SetPoint("CENTER", UB.menuHolder.Roll.Thirty, "CENTER")
- UB.menuHolder.Roll.Thirty.text:SetText("1-30")
- UB.menuHolder.Roll.Thirty:SetScript("OnClick", function(self)
- RandomRoll(1, 30)
- button.opened = false
- UB:ToggleCats()
- end)
- UB.menuHolder.Roll.Thirty:HookScript('OnEnter', UB.OnEnter)
- UB.menuHolder.Roll.Thirty:HookScript('OnLeave', UB.OnLeave)
- Sk:HandleButton(UB.menuHolder.Roll.Thirty)
- end
- do
- UB.menuHolder.Roll.Forty = CreateFrame("Button", "SLEUIRollForty", UB.menuHolder.Roll)
- UB.menuHolder.Roll.Forty.text = UB.menuHolder.Roll.Forty:CreateFontString(nil, "OVERLAY")
- UB.menuHolder.Roll.Forty.text:SetFont(E["media"].normFont, 10, "OUTLINE")
- UB.menuHolder.Roll.Forty.text:SetPoint("CENTER", UB.menuHolder.Roll.Forty, "CENTER")
- UB.menuHolder.Roll.Forty.text:SetText("1-40")
- UB.menuHolder.Roll.Forty:SetScript("OnClick", function(self)
- RandomRoll(1, 40)
- button.opened = false
- UB:ToggleCats()
- end)
- UB.menuHolder.Roll.Forty:HookScript('OnEnter', UB.OnEnter)
- UB.menuHolder.Roll.Forty:HookScript('OnLeave', UB.OnLeave)
- Sk:HandleButton(UB.menuHolder.Roll.Forty)
- end
- do
- UB.menuHolder.Roll.Hundred = CreateFrame("Button", "SLEUIRollHundred", UB.menuHolder.Roll)
- UB.menuHolder.Roll.Hundred.text = UB.menuHolder.Roll.Hundred:CreateFontString(nil, "OVERLAY")
- UB.menuHolder.Roll.Hundred.text:SetFont(E["media"].normFont, 10, "OUTLINE")
- UB.menuHolder.Roll.Hundred.text:SetPoint("CENTER", UB.menuHolder.Roll.Hundred, "CENTER")
- UB.menuHolder.Roll.Hundred.text:SetText("1-100")
- UB.menuHolder.Roll.Hundred:SetScript("OnClick", function(self)
- RandomRoll(1, 100)
- button.opened = false
- UB:ToggleCats()
- end)
- UB.menuHolder.Roll.Hundred:HookScript('OnEnter', UB.OnEnter)
- UB.menuHolder.Roll.Hundred:HookScript('OnLeave', UB.OnLeave)
- Sk:HandleButton(UB.menuHolder.Roll.Hundred)
- end
- do
- UB.menuHolder.Roll.Custom = CreateFrame("Button", "SLEUIRollCustom", UB.menuHolder.Roll)
- UB.menuHolder.Roll.Custom.text = UB.menuHolder.Roll.Custom:CreateFontString(nil, "OVERLAY")
- UB.menuHolder.Roll.Custom.text:SetFont(E["media"].normFont, 10, "OUTLINE")
- UB.menuHolder.Roll.Custom.text:SetPoint("CENTER", UB.menuHolder.Roll.Custom, "CENTER")
- UB.menuHolder.Roll.Custom.text:SetText(L["Custom"])
- UB.menuHolder.Roll.Custom:SetScript("OnClick", function(self)
- local min, max = tonumber(E.db.sle.uibuttons.roll.min), tonumber(E.db.sle.uibuttons.roll.max)
- if min <= max then
- RandomRoll(min, max)
- else
- SLE:Print(L["Custom roll limits are set incorrectly! Minimum should be smaller then or equial to maximum."])
- end
- button.opened = false
- UB:ToggleCats()
- end)
- UB.menuHolder.Roll.Custom:SetScript("OnEnter", function(self)
- UB:OnEnter()
- GameTooltip:SetOwner(self)
- GameTooltip:AddLine(L["Do a roll with custom limits. Those limits can be set in S&L config."], 1, 1, 1, 1, 1, 1)
- GameTooltip:Show()
- end)
- UB.menuHolder.Roll.Custom:SetScript("OnLeave", function(self)
- UB:OnLeave()
- GameTooltip:Hide()
- end)
- Sk:HandleButton(UB.menuHolder.Roll.Custom)
- end
+ UB:CreateDropdownButton("Roll", "Ten", "1-10", nil, nil, function() RandomRoll(1, 10) end)
+ UB:CreateDropdownButton("Roll", "Twenty", "1-20", nil, nil, function() RandomRoll(1, 20) end)
+ UB:CreateDropdownButton("Roll", "Thirty", "1-30", nil, nil, function() RandomRoll(1, 30) end)
+ UB:CreateDropdownButton("Roll", "Forty", "1-40", nil, nil, function() RandomRoll(1, 40) end)
+ UB:CreateDropdownButton("Roll", "Hundred", "1-100", nil, nil, function() RandomRoll(1, 100) end)
+ UB:CreateDropdownButton("Roll", "Custom", L["Custom"], nil, nil, CusomRollCall)
RollTable = {
UB.menuHolder.Roll.Ten,
@@ -709,20 +358,20 @@ function UB:FrameSize(onLoad)
for i = 1, #ToggleTable do
ToggleTable[i]:Size(db.size)
end
- UB.menuHolder.Config:Size(db.size * 2.5, (db.size * #ConfigTable)+(db.spacing*(#ConfigTable-1)))
+ UB.menuHolder.Config:Size(db.size * 2.6, (db.size * #ConfigTable)+(db.spacing*(#ConfigTable-1)))
for i = 1, #ConfigTable do
- ConfigTable[i]:Size(db.size * 2.5, db.size)
+ ConfigTable[i]:Size(db.size * 2.6, db.size)
end
for i = 1, #AddonTable do
- AddonTable[i]:Size(db.size * 3, db.size)
+ AddonTable[i]:Size(db.size * 3.1, db.size)
end
- UB.menuHolder.Status:Size(db.size * 2, (db.size * #StatusTable)+(db.spacing*(#StatusTable-1)))
+ UB.menuHolder.Status:Size(db.size * 2.1, (db.size * #StatusTable)+(db.spacing*(#StatusTable-1)))
for i = 1, #StatusTable do
- StatusTable[i]:Size(db.size * 2, db.size)
+ StatusTable[i]:Size(db.size * 2.1, db.size)
end
- UB.menuHolder.Roll:Size(db.size * 2, (db.size * #RollTable)+(db.spacing*(#RollTable-1)))
+ UB.menuHolder.Roll:Size(db.size * 2.1, (db.size * #RollTable)+(db.spacing*(#RollTable-1)))
for i = 1, #RollTable do
- RollTable[i]:Size(db.size * 2, db.size)
+ RollTable[i]:Size(db.size * 2.1, db.size)
end
UB:Positioning(onLoad)
@@ -763,7 +412,7 @@ function UB:UpdateAddonLayout(load)
AddonTable[i]:Hide()
end
end
- UB.menuHolder.Addon:Size(db.size * 3, (db.size * (count+1))+(db.spacing*(count)))
+ UB.menuHolder.Addon:Size(db.size * 3.1, (db.size * (count+1))+(db.spacing*(count)))
end
end
@@ -817,6 +466,7 @@ function UB:Positioning(load)
UB:UpdateRollLayout(load)
end
+
function UB:Toggle()
if not E.db.sle.uibuttons.enable then
UB.menuHolder:Hide()