/
do |
local widgetType = "LSM30_Background" |
local widgetVersion = 10 |
local widgetVersion = 11 |
local contentFrameCache = {} |
local function ReturnSelf(self) |
local font, size = text:GetFont() |
text:SetFont(font,size,"OUTLINE") |
text:SetPoint("LEFT", check, "RIGHT", 1, 0) |
text:SetPoint("RIGHT", frame, "RIGHT", -2, 0) |
text:SetPoint("TOPLEFT", check, "TOPRIGHT", 1, 0) |
text:SetPoint("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -2, 0) |
text:SetJustifyH("LEFT") |
text:SetText("Test Test Test Test Test Test Test") |
frame.text = text |
local DataVersion = 9001 -- dev version always overwrites everything else :) |
--@end-debug@]===] |
--@non-debug@ |
local DataVersion = 49 |
local DataVersion = 56 |
--@end-non-debug@ |
local AGSMW = LibStub:NewLibrary("AceGUISharedMediaWidgets-1.0", DataVersion) |
return -- already loaded and no upgrade necessary |
end |
LoadAddOn("LibSharedMedia-3.0") |
local AceGUI = LibStub("AceGUI-3.0") |
local Media = LibStub("LibSharedMedia-3.0") |
local frame = CreateFrame("Frame", nil, UIParent) |
frame:SetHeight(44) |
frame:SetWidth(200) |
frame:SetPoint("CENTER", UIParent, "CENTER") |
local label = frame:CreateFontString(nil,"OVERLAY","GameFontNormalSmall") |
label:SetPoint("TOPLEFT",frame,"TOPLEFT",0,0) |
do |
local widgetType = "LSM30_Font" |
local widgetVersion = 10 |
local widgetVersion = 11 |
local contentFrameCache = {} |
local function ReturnSelf(self) |
check:Hide() |
frame.check = check |
local text = frame:CreateFontString(nil,"OVERLAY","GameFontWhite") |
text:SetPoint("LEFT", check, "RIGHT", 1, 0) |
text:SetPoint("RIGHT", frame, "RIGHT", -2, 0) |
text:SetPoint("TOPLEFT", check, "TOPRIGHT", 1, 0) |
text:SetPoint("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -2, 0) |
text:SetJustifyH("LEFT") |
text:SetText("Test Test Test Test Test Test Test") |
frame.text = text |
do |
local widgetType = "LSM30_Sound" |
local widgetVersion = 10 |
local widgetVersion = 11 |
local contentFrameCache = {} |
local function ReturnSelf(self) |
frame.speakeron = speakeron |
local text = frame:CreateFontString(nil,"OVERLAY","GameFontWhite") |
text:SetPoint("LEFT", check, "RIGHT", 1, 0) |
text:SetPoint("RIGHT", soundbutton, "LEFT", -2, 0) |
text:SetPoint("TOPLEFT", check, "TOPRIGHT", 1, 0) |
text:SetPoint("BOTTOMRIGHT", soundbutton, "BOTTOMLEFT", -2, 0) |
text:SetJustifyH("LEFT") |
text:SetText("Test Test Test Test Test Test Test") |
frame.text = text |
do |
local widgetType = "LSM30_Statusbar" |
local widgetVersion = 10 |
local widgetVersion = 11 |
local contentFrameCache = {} |
local function ReturnSelf(self) |
local font, size = text:GetFont() |
text:SetFont(font,size,"OUTLINE") |
text:SetPoint("LEFT", check, "RIGHT", 3, 0) |
text:SetPoint("RIGHT", frame, "RIGHT", -2, 0) |
text:SetPoint("TOPLEFT", check, "TOPRIGHT", 3, 0) |
text:SetPoint("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -2, 0) |
text:SetJustifyH("LEFT") |
text:SetText("Test Test Test Test Test Test Test") |
frame.text = text |
do |
local widgetType = "LSM30_Border" |
local widgetVersion = 10 |
local widgetVersion = 11 |
local contentFrameCache = {} |
local function ReturnSelf(self) |
check:Hide() |
frame.check = check |
local text = frame:CreateFontString(nil,"OVERLAY","GameFontWhite") |
text:SetPoint("LEFT", check, "RIGHT", 1, 0) |
text:SetPoint("RIGHT", frame, "RIGHT", -2, 0) |
text:SetPoint("TOPLEFT", check, "TOPRIGHT", 1, 0) |
text:SetPoint("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -2, 0) |
text:SetJustifyH("LEFT") |
text:SetText("Test Test Test Test Test Test Test") |
frame.text = text |
Keybinding Widget |
Set Keybindings in the Config UI. |
-------------------------------------------------------------------------------]] |
local Type, Version = "Keybinding", 24 |
local Type, Version = "Keybinding", 25 |
local AceGUI = LibStub and LibStub("AceGUI-3.0", true) |
if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end |
-- List them here for Mikk's FindGlobals script |
-- GLOBALS: NOT_BOUND |
local wowMoP |
do |
local _, _, _, interface = GetBuildInfo() |
wowMoP = (interface >= 50000) |
end |
--[[----------------------------------------------------------------------------- |
Scripts |
-------------------------------------------------------------------------------]] |
local self = frame.obj |
if self.waitingForKey then |
frame:EnableKeyboard(false) |
frame:EnableMouseWheel(false) |
self.msgframe:Hide() |
frame:UnlockHighlight() |
self.waitingForKey = nil |
else |
frame:EnableKeyboard(true) |
frame:EnableMouseWheel(true) |
self.msgframe:Show() |
frame:LockHighlight() |
self.waitingForKey = true |
end |
frame:EnableKeyboard(false) |
frame:EnableMouseWheel(false) |
self.msgframe:Hide() |
frame:UnlockHighlight() |
self.waitingForKey = nil |
Keybinding_OnKeyDown(frame, button) |
end |
local function Keybinding_OnMouseWheel(frame, direction) |
local button |
if direction >= 0 then |
button = "MOUSEWHEELUP" |
else |
button = "MOUSEWHEELDOWN" |
end |
Keybinding_OnKeyDown(frame, button) |
end |
--[[----------------------------------------------------------------------------- |
Methods |
-------------------------------------------------------------------------------]] |
self.msgframe:Hide() |
self:SetDisabled(false) |
self.button:EnableKeyboard(false) |
self.button:EnableMouseWheel(false) |
end, |
-- ["OnRelease"] = nil, |
local name = "AceGUI30KeybindingButton" .. AceGUI:GetNextWidgetNum(Type) |
local frame = CreateFrame("Frame", nil, UIParent) |
local button = CreateFrame("Button", name, frame, wowMoP and "UIPanelButtonTemplate" or "UIPanelButtonTemplate2") |
local button = CreateFrame("Button", name, frame, "UIPanelButtonTemplate") |
button:EnableMouse(true) |
button:EnableMouseWheel(false) |
button:RegisterForClicks("AnyDown") |
button:SetScript("OnEnter", Control_OnEnter) |
button:SetScript("OnLeave", Control_OnLeave) |
button:SetScript("OnClick", Keybinding_OnClick) |
button:SetScript("OnKeyDown", Keybinding_OnKeyDown) |
button:SetScript("OnMouseDown", Keybinding_OnMouseDown) |
button:SetScript("OnMouseWheel", Keybinding_OnMouseWheel) |
button:SetPoint("BOTTOMLEFT") |
button:SetPoint("BOTTOMRIGHT") |
button:SetHeight(24) |
local select, pairs, print = select, pairs, print |
-- WoW APIs |
local CreateFrame, UIParent, GetBuildInfo = CreateFrame, UIParent, GetBuildInfo |
local CreateFrame, UIParent = CreateFrame, UIParent |
--[[----------------------------------------------------------------------------- |
Scripts |
for method, func in pairs(methods) do |
widget[method] = func |
end |
-- SetText is deprecated, but keep it around for a while. (say, to WoW 4.0) |
if (select(4, GetBuildInfo()) < 40000) then |
widget.SetText = widget.SetLabel |
else |
widget.SetText = function(self, ...) print("AceGUI-3.0-Icon: SetText is deprecated! Use SetLabel instead!"); self:SetLabel(...) end |
end |
widget.SetText = function(self, ...) print("AceGUI-3.0-Icon: SetText is deprecated! Use SetLabel instead!"); self:SetLabel(...) end |
return AceGUI:RegisterAsWidget(widget) |
end |
--[[----------------------------------------------------------------------------- |
EditBox Widget |
-------------------------------------------------------------------------------]] |
local Type, Version = "EditBox", 25 |
local Type, Version = "EditBox", 26 |
local AceGUI = LibStub and LibStub("AceGUI-3.0", true) |
if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end |
if not self.frame:IsShown() then |
self.frame:SetScript("OnShow", Frame_OnShowFocus) |
end |
end, |
["HighlightText"] = function(self, from, to) |
self.editbox:HighlightText(from, to) |
end |
} |
ScrollFrame Container |
Plain container that scrolls its content and doesn't grow in height. |
-------------------------------------------------------------------------------]] |
local Type, Version = "ScrollFrame", 23 |
local Type, Version = "ScrollFrame", 24 |
local AceGUI = LibStub and LibStub("AceGUI-3.0", true) |
if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end |
local IsLegion = select(4, GetBuildInfo()) >= 70000 |
-- Lua APIs |
local pairs, assert, type = pairs, assert, type |
local min, max, floor, abs = math.min, math.max, math.floor, math.abs |
local scrollbg = scrollbar:CreateTexture(nil, "BACKGROUND") |
scrollbg:SetAllPoints(scrollbar) |
scrollbg:SetTexture(0, 0, 0, 0.4) |
if IsLegion then |
scrollbg:SetColorTexture(0, 0, 0, 0.4) |
else |
scrollbg:SetTexture(0, 0, 0, 0.4) |
end |
--Container Support |
local content = CreateFrame("Frame", nil, scrollframe) |
--[[ $Id: AceGUIWidget-DropDown-Items.lua 996 2010-12-01 18:34:17Z nevcairiel $ ]]-- |
--[[ $Id: AceGUIWidget-DropDown-Items.lua 1137 2016-05-15 10:57:36Z nevcairiel $ ]]-- |
local AceGUI = LibStub("AceGUI-3.0") |
local IsLegion = select(4, GetBuildInfo()) >= 70000 |
-- Lua APIs |
local select, assert = select, assert |
-- A single line to separate items |
do |
local widgetType = "Dropdown-Item-Separator" |
local widgetVersion = 1 |
local widgetVersion = 2 |
-- exported, override |
local function SetDisabled(self, disabled) |
local line = self.frame:CreateTexture(nil, "OVERLAY") |
line:SetHeight(1) |
line:SetTexture(.5, .5, .5) |
if IsLegion then |
line:SetColorTexture(.5, .5, .5) |
else |
line:SetTexture(.5, .5, .5) |
end |
line:SetPoint("LEFT", self.frame, "LEFT", 10, 0) |
line:SetPoint("RIGHT", self.frame, "RIGHT", -10, 0) |
local _G = _G |
local PlaySound, CreateFrame, UIParent = PlaySound, CreateFrame, UIParent |
local wowMoP |
do |
local _, _, _, interface = GetBuildInfo() |
wowMoP = (interface >= 50000) |
end |
--[[----------------------------------------------------------------------------- |
Scripts |
-------------------------------------------------------------------------------]] |
-------------------------------------------------------------------------------]] |
local function Constructor() |
local name = "AceGUI30Button" .. AceGUI:GetNextWidgetNum(Type) |
local frame = CreateFrame("Button", name, UIParent, wowMoP and "UIPanelButtonTemplate" or "UIPanelButtonTemplate2") |
local frame = CreateFrame("Button", name, UIParent, "UIPanelButtonTemplate") |
frame:Hide() |
frame:EnableMouse(true) |
TreeGroup Container |
Container that uses a tree control to switch between groups. |
-------------------------------------------------------------------------------]] |
local Type, Version = "TreeGroup", 38 |
local Type, Version = "TreeGroup", 40 |
local AceGUI = LibStub and LibStub("AceGUI-3.0", true) |
if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end |
local IsLegion = select(4, GetBuildInfo()) >= 70000 |
-- Lua APIs |
local next, pairs, ipairs, assert, type = next, pairs, ipairs, assert, type |
local math_min, math_max, floor = math.min, math.max, floor |
["OnAcquire"] = function(self) |
self:SetTreeWidth(DEFAULT_TREE_WIDTH, DEFAULT_TREE_SIZABLE) |
self:EnableButtonTooltips(true) |
self.frame:SetScript("OnUpdate", FirstFrameUpdate) |
end, |
["OnRelease"] = function(self) |
local scrollbg = scrollbar:CreateTexture(nil, "BACKGROUND") |
scrollbg:SetAllPoints(scrollbar) |
scrollbg:SetTexture(0,0,0,0.4) |
if IsLegion then |
scrollbg:SetColorTexture(0,0,0,0.4) |
else |
scrollbg:SetTexture(0,0,0,0.4) |
end |
local border = CreateFrame("Frame",nil,frame) |
border:SetPoint("TOPLEFT", treeframe, "TOPRIGHT") |
border:SetPoint("BOTTOMRIGHT") |
--[[----------------------------------------------------------------------------- |
ColorPicker Widget |
-------------------------------------------------------------------------------]] |
local Type, Version = "ColorPicker", 22 |
local Type, Version = "ColorPicker", 23 |
local AceGUI = LibStub and LibStub("AceGUI-3.0", true) |
if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end |
local IsLegion = select(4, GetBuildInfo()) >= 70000 |
-- Lua APIs |
local pairs = pairs |
local texture = frame:CreateTexture(nil, "BACKGROUND") |
texture:SetWidth(16) |
texture:SetHeight(16) |
texture:SetTexture(1, 1, 1) |
if IsLegion then |
texture:SetColorTexture(1, 1, 1) |
else |
texture:SetTexture(1, 1, 1) |
end |
texture:SetPoint("CENTER", colorSwatch) |
texture:Show() |
local Type, Version = "MultiLineEditBox", 27 |
local Type, Version = "MultiLineEditBox", 28 |
local AceGUI = LibStub and LibStub("AceGUI-3.0", true) |
if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end |
-- List them here for Mikk's FindGlobals script |
-- GLOBALS: ACCEPT, ChatFontNormal |
local wowMoP |
do |
local _, _, _, interface = GetBuildInfo() |
wowMoP = (interface >= 50000) |
end |
--[[----------------------------------------------------------------------------- |
Support functions |
-------------------------------------------------------------------------------]] |
self.frame:SetScript("OnShow", OnShowFocus) |
end |
end, |
["HighlightText"] = function(self, from, to) |
self.editBox:HighlightText(from, to) |
end, |
["GetCursorPosition"] = function(self) |
return self.editBox:GetCursorPosition() |
end, |
label:SetText(ACCEPT) |
label:SetHeight(10) |
local button = CreateFrame("Button", ("%s%dButton"):format(Type, widgetNum), frame, wowMoP and "UIPanelButtonTemplate" or "UIPanelButtonTemplate2") |
local button = CreateFrame("Button", ("%s%dButton"):format(Type, widgetNum), frame, "UIPanelButtonTemplate") |
button:SetPoint("BOTTOMLEFT", 0, 4) |
button:SetHeight(22) |
button:SetWidth(label:GetStringWidth() + 24) |
-- :IterateOptionsTables() (and :GetOptionsTable() if only given one argument) return a function reference that the requesting config handling addon must call with valid "uiType", "uiName". |
-- @class file |
-- @name AceConfigRegistry-3.0 |
-- @release $Id: AceConfigRegistry-3.0.lua 1105 2013-12-08 22:11:58Z nevcairiel $ |
local MAJOR, MINOR = "AceConfigRegistry-3.0", 15 |
-- @release $Id: AceConfigRegistry-3.0.lua 1139 2016-07-03 07:43:51Z nevcairiel $ |
local MAJOR, MINOR = "AceConfigRegistry-3.0", 16 |
local AceConfigRegistry = LibStub:NewLibrary(MAJOR, MINOR) |
if not AceConfigRegistry then return end |
local ismethodtable={["table"]=true,["string"]=true,["function"]=true, _="methodname, funcref or table"} |
local optstring={["nil"]=true,["string"]=true, _="string"} |
local optstringfunc={["nil"]=true,["string"]=true,["function"]=true, _="string or funcref"} |
local optstringnumberfunc={["nil"]=true,["string"]=true,["number"]=true,["function"]=true, _="string, number or funcref"} |
local optnumber={["nil"]=true,["number"]=true, _="number"} |
local optmethod={["nil"]=true,["string"]=true,["function"]=true, _="methodname or funcref"} |
local optmethodfalse={["nil"]=true,["string"]=true,["function"]=true,["boolean"]={[false]=true}, _="methodname, funcref or false"} |
dialogHidden=optmethodbool, |
dropdownHidden=optmethodbool, |
cmdHidden=optmethodbool, |
icon=optstringfunc, |
icon=optstringnumberfunc, |
iconCoords=optmethodtable, |
handler=opttable, |
get=optmethodfalse, |
local typedkeys={ |
header={}, |
description={ |
image=optstringfunc, |
image=optstringnumberfunc, |
imageCoords=optmethodtable, |
imageHeight=optnumber, |
imageWidth=optnumber, |
childGroups=optstring, |
}, |
execute={ |
image=optstringfunc, |
image=optstringnumberfunc, |
imageCoords=optmethodtable, |
imageHeight=optnumber, |
imageWidth=optnumber, |
}, |
toggle={ |
tristate=optbool, |
image=optstringfunc, |
image=optstringnumberfunc, |
imageCoords=optmethodtable, |
}, |
tristate={ |
--- AceConfigDialog-3.0 generates AceGUI-3.0 based windows based on option tables. |
-- @class file |
-- @name AceConfigDialog-3.0 |
-- @release $Id: AceConfigDialog-3.0.lua 1126 2014-11-10 06:38:01Z nevcairiel $ |
-- @release $Id: AceConfigDialog-3.0.lua 1139 2016-07-03 07:43:51Z nevcairiel $ |
local LibStub = LibStub |
local MAJOR, MINOR = "AceConfigDialog-3.0", 60 |
local MAJOR, MINOR = "AceConfigDialog-3.0", 61 |
local AceConfigDialog, oldminor = LibStub:NewLibrary(MAJOR, MINOR) |
if not AceConfigDialog then return end |
local imageCoords = GetOptionsMemberValue("imageCoords",v, options, path, appName) |
local image, width, height = GetOptionsMemberValue("image",v, options, path, appName) |
if type(image) == "string" then |
if type(image) == "string" or type(image) == "number" then |
control = gui:Create("Icon") |
if not width then |
width = GetOptionsMemberValue("imageWidth",v, options, path, appName) |
local image = GetOptionsMemberValue("image", v, options, path, appName) |
local imageCoords = GetOptionsMemberValue("imageCoords", v, options, path, appName) |
if type(image) == "string" then |
if type(image) == "string" or type(image) == "number" then |
if type(imageCoords) == "table" then |
control:SetImage(image, unpack(imageCoords)) |
else |
local imageCoords = GetOptionsMemberValue("imageCoords",v, options, path, appName) |
local image, width, height = GetOptionsMemberValue("image",v, options, path, appName) |
if type(image) == "string" then |
if type(image) == "string" or type(image) == "number" then |
if not width then |
width = GetOptionsMemberValue("imageWidth",v, options, path, appName) |
end |
## Interface: 60200 |
## Interface: 70000 |
## Title: Stuf Raid Options |
## Author: TotalPackage |
## Notes: Configuration Menu for StufRaid. |
local DataVersion = 9001 -- dev version always overwrites everything else :) |
--@end-debug@]===] |
--@non-debug@ |
local DataVersion = 49 |
local DataVersion = 56 |
--@end-non-debug@ |
local AGSMW = LibStub:NewLibrary("AceGUISharedMediaWidgets-1.0", DataVersion) |
return -- already loaded and no upgrade necessary |
end |
LoadAddOn("LibSharedMedia-3.0") |
local AceGUI = LibStub("AceGUI-3.0") |
local Media = LibStub("LibSharedMedia-3.0") |
local frame = CreateFrame("Frame", nil, UIParent) |
frame:SetHeight(44) |
frame:SetWidth(200) |
frame:SetPoint("CENTER", UIParent, "CENTER") |
local label = frame:CreateFontString(nil,"OVERLAY","GameFontNormalSmall") |
label:SetPoint("TOPLEFT",frame,"TOPLEFT",0,0) |
do |
local widgetType = "LSM30_Font" |
local widgetVersion = 10 |
local widgetVersion = 11 |
local contentFrameCache = {} |
local function ReturnSelf(self) |
check:Hide() |
frame.check = check |
local text = frame:CreateFontString(nil,"OVERLAY","GameFontWhite") |
text:SetPoint("LEFT", check, "RIGHT", 1, 0) |
text:SetPoint("RIGHT", frame, "RIGHT", -2, 0) |
text:SetPoint("TOPLEFT", check, "TOPRIGHT", 1, 0) |
text:SetPoint("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -2, 0) |
text:SetJustifyH("LEFT") |
text:SetText("Test Test Test Test Test Test Test") |
frame.text = text |
do |
local widgetType = "LSM30_Sound" |
local widgetVersion = 10 |
local widgetVersion = 11 |
local contentFrameCache = {} |
local function ReturnSelf(self) |
frame.speakeron = speakeron |
local text = frame:CreateFontString(nil,"OVERLAY","GameFontWhite") |
text:SetPoint("LEFT", check, "RIGHT", 1, 0) |
text:SetPoint("RIGHT", soundbutton, "LEFT", -2, 0) |
text:SetPoint("TOPLEFT", check, "TOPRIGHT", 1, 0) |
text:SetPoint("BOTTOMRIGHT", soundbutton, "BOTTOMLEFT", -2, 0) |
text:SetJustifyH("LEFT") |
text:SetText("Test Test Test Test Test Test Test") |
frame.text = text |
do |
local widgetType = "LSM30_Statusbar" |
local widgetVersion = 10 |
local widgetVersion = 11 |
local contentFrameCache = {} |
local function ReturnSelf(self) |
local font, size = text:GetFont() |
text:SetFont(font,size,"OUTLINE") |
text:SetPoint("LEFT", check, "RIGHT", 3, 0) |
text:SetPoint("RIGHT", frame, "RIGHT", -2, 0) |
text:SetPoint("TOPLEFT", check, "TOPRIGHT", 3, 0) |
text:SetPoint("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -2, 0) |
text:SetJustifyH("LEFT") |
text:SetText("Test Test Test Test Test Test Test") |
frame.text = text |
do |
local widgetType = "LSM30_Border" |
local widgetVersion = 10 |
local widgetVersion = 11 |
local contentFrameCache = {} |
local function ReturnSelf(self) |
check:Hide() |
frame.check = check |
local text = frame:CreateFontString(nil,"OVERLAY","GameFontWhite") |
text:SetPoint("LEFT", check, "RIGHT", 1, 0) |
text:SetPoint("RIGHT", frame, "RIGHT", -2, 0) |
text:SetPoint("TOPLEFT", check, "TOPRIGHT", 1, 0) |
text:SetPoint("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -2, 0) |
text:SetJustifyH("LEFT") |
text:SetText("Test Test Test Test Test Test Test") |
frame.text = text |
do |
local widgetType = "LSM30_Background" |
local widgetVersion = 10 |
local widgetVersion = 11 |
local contentFrameCache = {} |
local function ReturnSelf(self) |
local font, size = text:GetFont() |
text:SetFont(font,size,"OUTLINE") |
text:SetPoint("LEFT", check, "RIGHT", 1, 0) |
text:SetPoint("RIGHT", frame, "RIGHT", -2, 0) |
text:SetPoint("TOPLEFT", check, "TOPRIGHT", 1, 0) |
text:SetPoint("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -2, 0) |
text:SetJustifyH("LEFT") |
text:SetText("Test Test Test Test Test Test Test") |
frame.text = text |
--[[----------------------------------------------------------------------------- |
EditBox Widget |
-------------------------------------------------------------------------------]] |
local Type, Version = "EditBox", 25 |
local Type, Version = "EditBox", 26 |
local AceGUI = LibStub and LibStub("AceGUI-3.0", true) |
if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end |
if not self.frame:IsShown() then |
self.frame:SetScript("OnShow", Frame_OnShowFocus) |
end |
end, |
["HighlightText"] = function(self, from, to) |
self.editbox:HighlightText(from, to) |
end |
} |
ScrollFrame Container |
Plain container that scrolls its content and doesn't grow in height. |
-------------------------------------------------------------------------------]] |
local Type, Version = "ScrollFrame", 23 |
local Type, Version = "ScrollFrame", 24 |
local AceGUI = LibStub and LibStub("AceGUI-3.0", true) |
if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end |
local IsLegion = select(4, GetBuildInfo()) >= 70000 |
-- Lua APIs |
local pairs, assert, type = pairs, assert, type |
local min, max, floor, abs = math.min, math.max, math.floor, math.abs |
local scrollbg = scrollbar:CreateTexture(nil, "BACKGROUND") |
scrollbg:SetAllPoints(scrollbar) |
scrollbg:SetTexture(0, 0, 0, 0.4) |
if IsLegion then |
scrollbg:SetColorTexture(0, 0, 0, 0.4) |
else |
scrollbg:SetTexture(0, 0, 0, 0.4) |
end |
--Container Support |
local content = CreateFrame("Frame", nil, scrollframe) |
TreeGroup Container |
Container that uses a tree control to switch between groups. |
-------------------------------------------------------------------------------]] |
local Type, Version = "TreeGroup", 38 |
local Type, Version = "TreeGroup", 40 |
local AceGUI = LibStub and LibStub("AceGUI-3.0", true) |
if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end |
local IsLegion = select(4, GetBuildInfo()) >= 70000 |
-- Lua APIs |
local next, pairs, ipairs, assert, type = next, pairs, ipairs, assert, type |
local math_min, math_max, floor = math.min, math.max, floor |
["OnAcquire"] = function(self) |
self:SetTreeWidth(DEFAULT_TREE_WIDTH, DEFAULT_TREE_SIZABLE) |
self:EnableButtonTooltips(true) |
self.frame:SetScript("OnUpdate", FirstFrameUpdate) |
end, |
["OnRelease"] = function(self) |
local scrollbg = scrollbar:CreateTexture(nil, "BACKGROUND") |
scrollbg:SetAllPoints(scrollbar) |
scrollbg:SetTexture(0,0,0,0.4) |
if IsLegion then |
scrollbg:SetColorTexture(0,0,0,0.4) |
else |
scrollbg:SetTexture(0,0,0,0.4) |
end |
local border = CreateFrame("Frame",nil,frame) |
border:SetPoint("TOPLEFT", treeframe, "TOPRIGHT") |
border:SetPoint("BOTTOMRIGHT") |
local _G = _G |
local PlaySound, CreateFrame, UIParent = PlaySound, CreateFrame, UIParent |
local wowMoP |
do |
local _, _, _, interface = GetBuildInfo() |
wowMoP = (interface >= 50000) |
end |
--[[----------------------------------------------------------------------------- |
Scripts |
-------------------------------------------------------------------------------]] |
-------------------------------------------------------------------------------]] |
local function Constructor() |
local name = "AceGUI30Button" .. AceGUI:GetNextWidgetNum(Type) |
local frame = CreateFrame("Button", name, UIParent, wowMoP and "UIPanelButtonTemplate" or "UIPanelButtonTemplate2") |
local frame = CreateFrame("Button", name, UIParent, "UIPanelButtonTemplate") |
frame:Hide() |
frame:EnableMouse(true) |
--[[ $Id: AceGUIWidget-DropDown-Items.lua 996 2010-12-01 18:34:17Z nevcairiel $ ]]-- |
--[[ $Id: AceGUIWidget-DropDown-Items.lua 1137 2016-05-15 10:57:36Z nevcairiel $ ]]-- |
local AceGUI = LibStub("AceGUI-3.0") |
local IsLegion = select(4, GetBuildInfo()) >= 70000 |
-- Lua APIs |
local select, assert = select, assert |
-- A single line to separate items |
do |
local widgetType = "Dropdown-Item-Separator" |
local widgetVersion = 1 |
local widgetVersion = 2 |
-- exported, override |
local function SetDisabled(self, disabled) |
local line = self.frame:CreateTexture(nil, "OVERLAY") |
line:SetHeight(1) |
line:SetTexture(.5, .5, .5) |
if IsLegion then |
line:SetColorTexture(.5, .5, .5) |
else |
line:SetTexture(.5, .5, .5) |
end |
line:SetPoint("LEFT", self.frame, "LEFT", 10, 0) |
line:SetPoint("RIGHT", self.frame, "RIGHT", -10, 0) |
--[[----------------------------------------------------------------------------- |
ColorPicker Widget |
-------------------------------------------------------------------------------]] |
local Type, Version = "ColorPicker", 22 |
local Type, Version = "ColorPicker", 23 |
local AceGUI = LibStub and LibStub("AceGUI-3.0", true) |
if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end |
local IsLegion = select(4, GetBuildInfo()) >= 70000 |
-- Lua APIs |
local pairs = pairs |
local texture = frame:CreateTexture(nil, "BACKGROUND") |
texture:SetWidth(16) |
texture:SetHeight(16) |
texture:SetTexture(1, 1, 1) |
if IsLegion then |
texture:SetColorTexture(1, 1, 1) |
else |
texture:SetTexture(1, 1, 1) |
end |
texture:SetPoint("CENTER", colorSwatch) |
texture:Show() |
local Type, Version = "MultiLineEditBox", 27 |
local Type, Version = "MultiLineEditBox", 28 |
local AceGUI = LibStub and LibStub("AceGUI-3.0", true) |
if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end |
-- List them here for Mikk's FindGlobals script |
-- GLOBALS: ACCEPT, ChatFontNormal |
local wowMoP |
do |
local _, _, _, interface = GetBuildInfo() |
wowMoP = (interface >= 50000) |
end |
--[[----------------------------------------------------------------------------- |
Support functions |
-------------------------------------------------------------------------------]] |
self.frame:SetScript("OnShow", OnShowFocus) |
end |
end, |
["HighlightText"] = function(self, from, to) |
self.editBox:HighlightText(from, to) |
end, |
["GetCursorPosition"] = function(self) |
return self.editBox:GetCursorPosition() |
end, |
label:SetText(ACCEPT) |
label:SetHeight(10) |
local button = CreateFrame("Button", ("%s%dButton"):format(Type, widgetNum), frame, wowMoP and "UIPanelButtonTemplate" or "UIPanelButtonTemplate2") |
local button = CreateFrame("Button", ("%s%dButton"):format(Type, widgetNum), frame, "UIPanelButtonTemplate") |
button:SetPoint("BOTTOMLEFT", 0, 4) |
button:SetHeight(22) |
button:SetWidth(label:GetStringWidth() + 24) |
Keybinding Widget |
Set Keybindings in the Config UI. |
-------------------------------------------------------------------------------]] |
local Type, Version = "Keybinding", 24 |
local Type, Version = "Keybinding", 25 |
local AceGUI = LibStub and LibStub("AceGUI-3.0", true) |
if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end |
-- List them here for Mikk's FindGlobals script |
-- GLOBALS: NOT_BOUND |
local wowMoP |
do |
local _, _, _, interface = GetBuildInfo() |
wowMoP = (interface >= 50000) |
end |
--[[----------------------------------------------------------------------------- |
Scripts |
-------------------------------------------------------------------------------]] |
local self = frame.obj |
if self.waitingForKey then |
frame:EnableKeyboard(false) |
frame:EnableMouseWheel(false) |
self.msgframe:Hide() |
frame:UnlockHighlight() |
self.waitingForKey = nil |
else |
frame:EnableKeyboard(true) |
frame:EnableMouseWheel(true) |
self.msgframe:Show() |
frame:LockHighlight() |
self.waitingForKey = true |
end |
frame:EnableKeyboard(false) |
frame:EnableMouseWheel(false) |
self.msgframe:Hide() |
frame:UnlockHighlight() |
self.waitingForKey = nil |
Keybinding_OnKeyDown(frame, button) |
end |
local function Keybinding_OnMouseWheel(frame, direction) |
local button |
if direction >= 0 then |
button = "MOUSEWHEELUP" |
else |
button = "MOUSEWHEELDOWN" |
end |
Keybinding_OnKeyDown(frame, button) |
end |
--[[----------------------------------------------------------------------------- |
Methods |
-------------------------------------------------------------------------------]] |
self.msgframe:Hide() |
self:SetDisabled(false) |
self.button:EnableKeyboard(false) |
self.button:EnableMouseWheel(false) |
end, |
-- ["OnRelease"] = nil, |
local name = "AceGUI30KeybindingButton" .. AceGUI:GetNextWidgetNum(Type) |
local frame = CreateFrame("Frame", nil, UIParent) |
local button = CreateFrame("Button", name, frame, wowMoP and "UIPanelButtonTemplate" or "UIPanelButtonTemplate2") |
local button = CreateFrame("Button", name, frame, "UIPanelButtonTemplate") |
button:EnableMouse(true) |
button:EnableMouseWheel(false) |
button:RegisterForClicks("AnyDown") |
button:SetScript("OnEnter", Control_OnEnter) |
button:SetScript("OnLeave", Control_OnLeave) |
button:SetScript("OnClick", Keybinding_OnClick) |
button:SetScript("OnKeyDown", Keybinding_OnKeyDown) |
button:SetScript("OnMouseDown", Keybinding_OnMouseDown) |
button:SetScript("OnMouseWheel", Keybinding_OnMouseWheel) |
button:SetPoint("BOTTOMLEFT") |
button:SetPoint("BOTTOMRIGHT") |
button:SetHeight(24) |
local select, pairs, print = select, pairs, print |
-- WoW APIs |
local CreateFrame, UIParent, GetBuildInfo = CreateFrame, UIParent, GetBuildInfo |
local CreateFrame, UIParent = CreateFrame, UIParent |
--[[----------------------------------------------------------------------------- |
Scripts |
for method, func in pairs(methods) do |
widget[method] = func |
end |
-- SetText is deprecated, but keep it around for a while. (say, to WoW 4.0) |
if (select(4, GetBuildInfo()) < 40000) then |
widget.SetText = widget.SetLabel |
else |
widget.SetText = function(self, ...) print("AceGUI-3.0-Icon: SetText is deprecated! Use SetLabel instead!"); self:SetLabel(...) end |
end |
widget.SetText = function(self, ...) print("AceGUI-3.0-Icon: SetText is deprecated! Use SetLabel instead!"); self:SetLabel(...) end |
return AceGUI:RegisterAsWidget(widget) |
end |
-- :IterateOptionsTables() (and :GetOptionsTable() if only given one argument) return a function reference that the requesting config handling addon must call with valid "uiType", "uiName". |
-- @class file |
-- @name AceConfigRegistry-3.0 |
-- @release $Id: AceConfigRegistry-3.0.lua 1105 2013-12-08 22:11:58Z nevcairiel $ |
local MAJOR, MINOR = "AceConfigRegistry-3.0", 15 |
-- @release $Id: AceConfigRegistry-3.0.lua 1139 2016-07-03 07:43:51Z nevcairiel $ |
local MAJOR, MINOR = "AceConfigRegistry-3.0", 16 |
local AceConfigRegistry = LibStub:NewLibrary(MAJOR, MINOR) |
if not AceConfigRegistry then return end |
local ismethodtable={["table"]=true,["string"]=true,["function"]=true, _="methodname, funcref or table"} |
local optstring={["nil"]=true,["string"]=true, _="string"} |
local optstringfunc={["nil"]=true,["string"]=true,["function"]=true, _="string or funcref"} |
local optstringnumberfunc={["nil"]=true,["string"]=true,["number"]=true,["function"]=true, _="string, number or funcref"} |
local optnumber={["nil"]=true,["number"]=true, _="number"} |
local optmethod={["nil"]=true,["string"]=true,["function"]=true, _="methodname or funcref"} |
local optmethodfalse={["nil"]=true,["string"]=true,["function"]=true,["boolean"]={[false]=true}, _="methodname, funcref or false"} |
dialogHidden=optmethodbool, |
dropdownHidden=optmethodbool, |
cmdHidden=optmethodbool, |
icon=optstringfunc, |
icon=optstringnumberfunc, |
iconCoords=optmethodtable, |
handler=opttable, |
get=optmethodfalse, |
local typedkeys={ |
header={}, |
description={ |
image=optstringfunc, |
image=optstringnumberfunc, |
imageCoords=optmethodtable, |
imageHeight=optnumber, |
imageWidth=optnumber, |
childGroups=optstring, |
}, |
execute={ |
image=optstringfunc, |
image=optstringnumberfunc, |
imageCoords=optmethodtable, |
imageHeight=optnumber, |
imageWidth=optnumber, |
}, |
toggle={ |
tristate=optbool, |
image=optstringfunc, |
image=optstringnumberfunc, |
imageCoords=optmethodtable, |
}, |
tristate={ |
--- AceConfigDialog-3.0 generates AceGUI-3.0 based windows based on option tables. |
-- @class file |
-- @name AceConfigDialog-3.0 |
-- @release $Id: AceConfigDialog-3.0.lua 1126 2014-11-10 06:38:01Z nevcairiel $ |
-- @release $Id: AceConfigDialog-3.0.lua 1139 2016-07-03 07:43:51Z nevcairiel $ |
local LibStub = LibStub |
local MAJOR, MINOR = "AceConfigDialog-3.0", 60 |
local MAJOR, MINOR = "AceConfigDialog-3.0", 61 |
local AceConfigDialog, oldminor = LibStub:NewLibrary(MAJOR, MINOR) |
if not AceConfigDialog then return end |
local imageCoords = GetOptionsMemberValue("imageCoords",v, options, path, appName) |
local image, width, height = GetOptionsMemberValue("image",v, options, path, appName) |
if type(image) == "string" then |
if type(image) == "string" or type(image) == "number" then |
control = gui:Create("Icon") |
if not width then |
width = GetOptionsMemberValue("imageWidth",v, options, path, appName) |
local image = GetOptionsMemberValue("image", v, options, path, appName) |
local imageCoords = GetOptionsMemberValue("imageCoords", v, options, path, appName) |
if type(image) == "string" then |
if type(image) == "string" or type(image) == "number" then |
if type(imageCoords) == "table" then |
control:SetImage(image, unpack(imageCoords)) |
else |
local imageCoords = GetOptionsMemberValue("imageCoords",v, options, path, appName) |
local image, width, height = GetOptionsMemberValue("image",v, options, path, appName) |
if type(image) == "string" then |
if type(image) == "string" or type(image) == "number" then |
if not width then |
width = GetOptionsMemberValue("imageWidth",v, options, path, appName) |
end |
holybar={ x=0, y=0, }, |
shardbar={ x=0, y=0, }, |
chibar={ x=0, y=0, }, |
eclipsebar={ x=0, y=0, }, |
priestbar={ x=0, y=0, }, |
}, |
target={ |
local stratakey={ "BACKGROUND", "LOW", "MEDIUM", "HIGH", "DIALOG", } |
-- get/set functions |
local subobjects={ time=true, countt=true, spell=true, icon=true, combo1=true, combo2=true, combo3=true, combo4=true, combo5=true, } |
local subobjects={ time=true, countt=true, spell=true, icon=true, combo1=true, combo2=true, combo3=true, combo4=true, combo5=true, combo6=true, } |
local function infobreakdown(info) |
db = db or (StufDB ~= "perchar" and StufDB) or StufCharDB |
local num = #info |
}, |
} |
local druidbar={ |
name=L["Druid Mana Bar"], type="group", hidden=function() return Stuf.CLS ~= "DRUID" end, order=31, |
name=L["Alternate Mana Bar"], type="group", hidden=function() return Stuf.CLS ~= "DRUID" and Stuf.CLS ~= "SHAMAN" and Stuf.CLS ~= "PRIEST" end, order=31, |
args={ |
hide=hide, blank=blank, |
x=x2, y=y2, w=w, h=h, framelevel=framelevel, blank2=blank2, |
name=L["Rune Bar"], type="group", hidden=DKHide, order=30, |
args={ |
hide=hide, blank=blank, |
x=x2, y=y2, w=w, h=h, alpha=alpha, framelevel=framelevel, blank2=blank2, |
spacing=spacing, vspacing=vspacing, growth=growth, |
rows={ name=L["Rows"], type="select", values={ [1]="1", [2]="2", [4]="3", [8]="6", }, set=set, get=getorone, order=11, }, |
bgcolor=bgcolor, reverse=reverse, vertical=vertical, blank4=blank4, |
barinsetleft=barinsetleft, barinsetright=barinsetright, barinsettop=barinsettop, barinsetbottom=barinsetbottom, |
usedefault={ name=L["Use Blizzard's"], type="toggle", width="double", set=set, get=get, order=99, }, |
x=x2, y=y2, w=w, h=h, alpha=alpha, framelevel=framelevel, |
}, |
} |
x=x2, y=y2, scale=scale, alpha=alpha, framelevel=framelevel, nomouse=nomouse, strata=bstrata, |
}, |
} |
local eclipsebar={ |
name=L["Eclipse Bar"], type="group", hidden=function() return Stuf.CLS ~= "DRUID" end, order=30, |
args={ |
hide=hide, blank=blank, |
x=x2, y=y2, scale=scale, alpha=alpha, framelevel=framelevel, nomouse=nomouse, strata=bstrata, |
}, |
} |
local function pointhide(info) |
local unit, object, setting = infobreakdown(info) |
combo3={ name=L["Point "]..3, dialogInline=true, type="group", hidden=pointhide, args=pointoptions, order=13, }, |
combo4={ name=L["Point "]..4, dialogInline=true, type="group", hidden=pointhide, args=pointoptions, order=14, }, |
combo5={ name=L["Point "]..5, dialogInline=true, type="group", hidden=pointhide, args=pointoptions, order=15, }, |
combo6={ name=L["Point "]..6, dialogInline=true, type="group", hidden=pointhide, args=pointoptions, order=16, }, |
}, |
} |
local hidealpha = function() return not db.global.morealpha end |
lfgicon=lfgicon, |
totembar=totembar, |
runebar=runebar, druidbar=druidbar, holybar=holybar, shardbar=shardbar, |
chibar=chibar, priestbar=priestbar, eclipsebar=eclipsebar, |
chibar=chibar, priestbar=priestbar, |
castbar=castbar, |
}, |
}, |
do -- setup options for grouped colors |
local keys={ |
powercolor={ MANA=0, RAGE=1, FOCUS=2, ENERGY=3, HAPPINESS=4, RUNES=5, RUNIC_POWER=6, }, |
powercolor={ |
MANA=0, RAGE=1, FOCUS=2, ENERGY=3, HAPPINESS=4, RUNES=5, RUNIC_POWER=6, SOUL_SHARDS=7, |
LUNAR_POWER=8, HOLY_POWER=9, MAELSTROM=11, INSANITY=13, FURY=17, PAIN=18, |
}, |
reactioncolor={}, |
} |
local function getcolor(info) |
## Interface: 60200 |
## Interface: 70000 |
## Title: Stuf_Options |
## Author: TotalPackage |
## Notes: Configuration Menu for Stuf. |
## Interface: 60200 |
## Interface: 70000 |
## Title: Stuf_Range |
## Author: TotalPackage |
## Notes: Displays estimate distance using LibRangeCheck-2.0. |
end) |
local CreateFrame = CreateFrame |
local UnitCanAttack, UnitIsTapped, UnitIsTappedByPlayer = UnitCanAttack, UnitIsTapped, UnitIsTappedByPlayer |
local UnitCanAttack = UnitCanAttack |
local UnitIsTapDenied = UnitIsTapDenied |
local UnitIsDeadOrGhost, UnitIsDead, UnitIsGhost, UnitIsConnected = UnitIsDeadOrGhost, UnitIsDead, UnitIsGhost, UnitIsConnected |
local UnitIsAFK, UnitIsDND = UnitIsAFK, UnitIsDND |
local UnitSex = UnitSex |
helpful = function(ca, unit) return ca.assist end, |
hostile = function(ca, unit) return ca.hostile end, |
attackable = function(ca, unit) return ca.attackable end, |
tapped = function(ca, unit) return UnitIsTapped(unit) and not UnitIsTappedByPlayer(unit) end, |
tapped = function(ca, unit) return UnitIsTapDenied(unit) end, |
alive = function(ca, unit) return not ca.dead end, |
dead = function(ca, unit) return ca.dead and UnitIsDead(unit) end, |
ghost = function(ca, unit) return ca.dead and UnitIsGhost(unit) end, |
if amount ~= 0 then |
if amount > 999999 then |
text = format("-%.2fM", amount/1000000) |
elseif amount > 99999 then |
text = format("-%dK", amount/1000) |
else |
text = "-"..amount |
end |
elseif cevent == "HEAL" then |
if amount > 999999 then |
text = format("+%.2fM", amount/1000000) |
elseif amount > 99999 then |
text = format("-%dK", amount/1000) |
else |
text = "+"..amount |
end |
## Interface: 60200 |
## Interface: 70000 |
## Title: Stuf Unit Frames |
## Author: TotalPackage |
## Notes: Main unitframes replacement. Assembly optional. |
## Version: 6.2.002 |
## Version: 7.0.001 |
## SavedVariables: StufDB |
## SavedVariablesPerCharacter: StufCharDB |
end) |
end |
if CLS == "DRUID" then -- Druid Bar ------------------------------------------------------------------------------ |
if CLS == "DRUID" or CLS == "PRIEST" or "SHAMAN" then -- Druid Bar ------------------------------------------------------------------------------ |
Stuf:AddBuilder("druidbar", function(unit, uf, name, db) |
if unit ~= "player" then return end |
local f = uf[name] |
local c = db.barcolor or Stuf.whitecolor |
f.bar:SetVertexColor(c.r, c.g, c.b, db.baralpha or c.a or 1) |
end) |
Stuf:AddBuilder("eclipsebar", function(unit, uf, name, db, a5, config) |
end |
if CLS == "DEATHKNIGHT" then -- Rune Bar ------------------------------------------------------------------------------------------------------- |
Stuf:AddBuilder("runebar", function(unit, uf, name, db, a5, config) |
if unit ~= "player" then return end |
local f = EclipseBarFrame |
local f = RuneFrame |
if not f or db.hide then |
if f then f:Hide() end |
if f then |
f:Hide() |
f:SetAlpha(0) |
end |
return |
end |
f:EnableMouse(not db.nomouse) |
f:Show() |
end) |
end |
if CLS == "DEATHKNIGHT" then -- Rune Bar ------------------------------------------------------------------------------------------------------- |
local UpdateRuneBar, UpdateRuneType, UpdateAllRunes |
Stuf:AddBuilder("runebar", function(unit, uf, name, db, a5, config) |
if unit ~= "player" then return end |
local f = uf[name] |
if db.usedefault then |
local d = RuneFrame |
d:SetParent(uf) |
d:SetPoint("TOP", uf, "BOTTOM", db.x or 0, db.y or 0) |
d:SetScale(db.scale or 1) |
d:SetAlpha(db.alpha or 1) |
if db.framelevel then |
d:SetFrameLevel(db.framelevel) |
end |
d:Show() |
d:RegisterEvent("RUNE_POWER_UPDATE") |
d:RegisterEvent("RUNE_TYPE_UPDATE") |
d:RegisterEvent("PLAYER_ENTERING_WORLD") |
RuneFrame_OnEvent(d, "PLAYER_ENTERING_WORLD") |
if f then f:Hide() end |
return |
end |
if db.hide then |
if f then f:Hide() end |
return |
end |
RuneFrame:UnregisterAllEvents() |
RuneFrame:Hide() |
if not f then |
f = CreateFrame("Frame", nil, uf) |
f:SetWidth(2) |
f:SetHeight(2) |
f.db = db |
uf[name] = f |
db.growth = db.growth or "TBLR" |
db.rows = db.rows or 2 |
db.spacing = db.spacing or 1 |
dbg.runecolor = dbg.runecolor or { } |
local dbgr = dbg.runecolor |
dbgr.BLOOD = dbgr.BLOOD or { r = 1, g = 0, b = 0, } |
dbgr.UNHOLY = dbgr.UNHOLY or { r = 0, g = 0.7, b = 0, } |
dbgr.FROST = dbgr.FROST or { r = 0, g = 1, b = 1, } |
dbgr.DEATH = dbgr.DEATH or { r = 0.8, g = 0.1, b = 1, } |
local function RuneOnUpdate(this, a1) |
local e = (this.elapsed or 0) + a1 |
if e > 0.07 then |
e = 0 |
local value = (GetTime() - this.start) * this.duration |
if value < 1 then |
this.bar:SetValue(value, this.bvalue) |
this.bar:SetAlpha(value * 0.4 + 0.3) |
else |
this.bar:SetValue(1, this.bvalue) |
this.bar:SetAlpha(1) |
end |
end |
this.elapsed = e |
end |
for i = 1, 8, 1 do |
local b = CreateFrame("Frame", nil, f) |
b.bg = b:CreateTexture(nil, "BACKGROUND") |
b.bg:SetAllPoints(b) |
b.barbase = CreateFrame("Frame", nil, b) |
b.bar = b:CreateTexture(nil, "ARTWORK") |
b.ename = name |
b.id = i |
f[i] = b |
end |
local GetRuneType, GetRuneCooldown = GetRuneType, GetRuneCooldown |
local runeMapping = { "BLOOD", "UNHOLY", "FROST", "DEATH", } |
UpdateRuneBar = function(rune, usable) |
local rf = f[rune or 20] |
if not rf then return end |
if usable then |
rf:SetScript("OnUpdate", nil) |
rf.bar:SetValue(1, rf.bvalue) |
rf.bar:SetAlpha(1) |
else |
local start, duration, runeReady = GetRuneCooldown(rune) |
if not duration or duration == 0 then |
rf:SetScript("OnUpdate", nil) |
rf.bar:SetValue(1, rf.bvalue) |
rf.bar:SetAlpha(1) |
else |
rf.elapsed = 1 |
rf.start = start |
rf.duration = 1 / duration |
rf:SetScript("OnUpdate", RuneOnUpdate) |
end |
end |
end |
UpdateRuneType = function(rune) |
if not rune then return end |
local runeType = GetRuneType(rune) |
local rf = f[rune] |
if runeType then |
local c = dbg.runecolor[ runeMapping[runeType] ] |
rf.bar:SetVertexColor(c.r, c.g, c.b) |
rf:Show() |
UpdateRuneBar(rune, select(3, GetRuneCooldown(rune))) |
else |
rf:Hide() |
end |
end |
UpdateAllRunes = function() |
for i = 1, 8, 1 do |
UpdateRuneType(i) |
end |
end |
Stuf:AddEvent("RUNE_POWER_UPDATE", UpdateRuneBar) |
Stuf:AddEvent("RUNE_TYPE_UPDATE", UpdateRuneType) |
uf.refreshfuncs[name] = UpdateAllRunes |
else |
f:Show() |
end |
f:SetPoint("TOPLEFT", db.x, db.y) |
f:SetFrameLevel(db.framelevel or 3) |
f:SetAlpha(db.alpha or 1) |
local d1, d2, d3, d4, hdir, vdir = Stuf.GrowthBreakdown(db.growth) |
local cols, rows, spacing, vspacing = 8/db.rows, db.rows, db.spacing, db.vspacing or db.spacing |
local hfirst = (d1 == "LEFT" or d1 == "RIGHT") |
for i = 1, 8, 1 do |
local rf = f[i] |
UpdateBarLook(unit, uf, rf, db) |
rf:ClearAllPoints() |
if hfirst then -- LRTB, LRBT, RLTB, RLBT |
local crow = ceil(i / cols) |
local ccol = i % cols |
ccol = (ccol == 0 and cols) or ccol |
if i == 1 then -- first row, first col |
rf:SetPoint(d3..d1, f, d3..d1) |
elseif ccol == 1 then -- start of a new row (first column) |
rf:SetPoint(d3, f[i - cols], d4, 0, vspacing * vdir) |
else |
rf:SetPoint(d1, f[i - 1], d2, spacing * hdir, 0) |
end |
else -- TBLR, TBRL, BTLR, BTRL |
local ccol = ceil(i / rows) |
local crow = i % rows |
crow = (crow == 0 and rows) or crow |
if i == 1 then -- first row, first col |
rf:SetPoint(d1..d3, f, d1..d3) |
elseif crow == 1 then -- start of a new column (first row) |
rf:SetPoint(d3, f[i - rows], d4, spacing * hdir, 0) |
else |
rf:SetPoint(d1, f[i - 1], d2, 0, vspacing * vdir) |
end |
end |
end |
if Stuf.inworld then |
UpdateAllRunes() |
end |
end) |
end |
if CLS == "PALADIN" then -- Holy Bar ------------------------------------------------------------------------------------------------------- |
Stuf:AddBuilder("holybar", function(unit, uf, name, db, a5, config) |
if unit ~= "player" then return end |
local f = PaladinPowerBar |
local f = PaladinPowerBarFrame |
if not f or db.hide then |
if f then f:Hide() end |
return |
f:SetFrameStrata(db.strata) |
end |
f:EnableMouse(not db.nomouse) |
PaladinPowerBar_OnLoad(f) |
--PaladinPowerBar_OnLoad(f) |
end) |
end |
f:SetFrameStrata(db.strata) |
end |
f:EnableMouse(not db.nomouse) |
PriestBarFrame_OnLoad(f) |
end) |
end |
if CLS == "MONK" then -- Monk Power Frame ----------------------------------------------------------------------------------------------- |
Stuf:AddBuilder("chibar", function(unit, uf, name, db, a5, config) |
if unit ~= "player" then return end |
local f = MonkHarmonyBar |
local f = MonkHarmonyBarFrame |
if not f or db.hide then |
if f then f:Hide() end |
return |
_G.MonkHarmonyBar["lightEnergy"..i]:EnableMouse(not db.nomouse) |
end |
end |
MonkHarmonyBar_OnLoad(f) |
end) |
end |
end |
end |
if UnitGroupRolesAssigned and not db.player.lfgicon then |
db.player.lfgicon = db.player.lfgicon or { alpha=0.6, w=16, h=16, } |
db.party1.lfgicon = db.party1.lfgicon or { alpha=0.6, w=14, h=14, } |
db.target.lfgicon = db.target.lfgicon or { hide=true, } |
end |
db.player.holybar = db.player.holybar or { x=0, y=0, } |
db.player.shardbar = db.player.shardbar or { x=0, y=0, } |
db.player.chibar = db.player.chibar or { x=0, y=0, } |
db.player.eclipsebar = db.player.eclipsebar or { x=0, y=0, } |
db.player.priestbar = db.player.priestbar or { x=0, y=0, } |
dbg = db.global |
classcolor, powercolor, reactioncolor = dbg.classcolor, dbg.powercolor, dbg.reactioncolor |
classcolor.MONK = classcolor.MONK or { r=RAID_CLASS_COLORS.MONK.r, g=RAID_CLASS_COLORS.MONK.g, b=RAID_CLASS_COLORS.MONK.b, } |
if dbg.initlegion ~= 1 then |
for i = 0, 20, 1 do |
local color = PowerBarColor[i] |
if color and (not powercolor[i] or not powercolor[i].r) then |
powercolor[i]={ r=color.r, g=color.g, b=color.b, } |
end |
end |
for class, color in pairs(CUSTOM_CLASS_COLORS or RAID_CLASS_COLORS) do |
if not classcolor[class] or not classcolor[class].r then |
classcolor[class]={ r=color.r, g=color.g, b=color.b, } |
end |
end |
dbg.classification.unknown = dbg.classification.unknown or "??" |
dbg.nK, dbg.nM = dbg.nK or "K", dbg.nM or "M" |
if UnitGroupRolesAssigned and not db.player.lfgicon then |
db.player.lfgicon = db.player.lfgicon or { alpha=0.6, w=16, h=16, } |
db.party1.lfgicon = db.party1.lfgicon or { alpha=0.6, w=14, h=14, } |
db.target.lfgicon = db.target.lfgicon or { hide=true, } |
end |
db.player.holybar = db.player.holybar or { x=0, y=0, } |
db.player.shardbar = db.player.shardbar or { x=0, y=0, } |
db.player.chibar = db.player.chibar or { x=0, y=0, } |
db.player.eclipsebar = db.player.eclipsebar or { x=0, y=0, } |
db.player.priestbar = db.player.priestbar or { x=0, y=0, } |
dbg.initlegion = 1 |
end |
hpgreen, hpred, gray = dbg.hpgreen, dbg.hpred, dbg.gray |
dbg.classification.unknown = dbg.classification.unknown or "??" |
dbg.nK, dbg.nM = dbg.nK or "K", dbg.nM or "M" |
Stuf.dbg = db.global |
Stuf.statusbar = Stuf:GetMedia("statusbar", dbg.bartexture) |
## Interface: 60200 |
## Interface: 70000 |
## LoadOnDemand: 1 |
## X-Curse-Packaged-Version: 6.2.0 |
## X-Curse-Packaged-Version: r95 |
## X-Curse-Project-Name: LibSharedMedia-3.0 |
## X-Curse-Project-ID: libsharedmedia-3-0 |
## X-Curse-Repository-ID: wow/libsharedmedia-3-0/mainline |
## Title: Lib: SharedMedia-3.0 |
## Notes: Shared handling of media data (fonts, sounds, textures, ...) between addons. |
## Author: Elkano |
## Version: 3.0-93 |
## Version: 3.0-95 |
## X-Website: http://www.wowace.com/projects/libsharedmedia-3-0/ |
## X-Category: Library |
## X-Revision: 93 |
## X-Date: 2015-06-24T01:30:16Z |
## X-Revision: 95 |
## X-Date: 2016-07-19T22:45:58Z |
LibStub\LibStub.lua |
CallbackHandler-1.0\CallbackHandler-1.0.lua |
end |
end |
local CLASS_BUTTONS = CLASS_ICON_TCOORDS or CLASS_BUTTONS |
local function UpdateInfoIcon(unit, uf, f) -- Class/info icon |
uf = uf or su[unit] |
f = f or (uf and not uf.hidden and uf.infoicon) |
uf = uf or su[unit] |
local f = uf and not uf.hidden and uf.comboframe |
if not f or f.db.hide then return end |
local points = (config and 5) or GetComboPoints(Stuf.vunit, unit) |
local points = (config and 6) or GetComboPoints(Stuf.vunit, unit) |
if points > 0 then |
if f.individual then |
for i = 1, 5, 1 do |
for i = 1, 6, 1 do |
if i <= points then |
f[i]:Show() |
else |
end |
end |
else |
local offsetr = points * 0.2 |
local offsetl = offsetr - 0.2 |
local offsetr = points * 0.167 |
local offsetl = offsetr - 0.167 |
if f.db.tflip then |
f.texture:SetTexCoord(offsetr, offsetl, 0, 0.5) |
f.glow:SetTexCoord(offsetr, offsetl, 0.5, 1) |
end |
end |
local function UpdateComboPoints(unit, uf, _, _, _, config) |
if uf then |
UpdateFrameCombo(unit, uf, config) |
elseif unit == "player" or unit == "vehicle" then |
--if uf then |
-- UpdateFrameCombo(unit, uf, config) |
--elseif unit == "player" or unit == "vehicle" then |
UpdateFrameCombo("target", nil, config) |
UpdateFrameCombo("focus", nil, config) |
end |
--end |
end |
local function ComboOnUpdate(this, a1) |
local dir = this.dir or 1 |
this.alp = alp |
if this.individual then |
for i = 1, 5, 1 do |
for i = 1, 6, 1 do |
local g = this[i].glow |
if g.a > 0.2 then |
g:SetAlpha(alp) |
f = CreateFrame("Frame", nil, uf) |
f:SetScript("OnUpdate", ComboOnUpdate) |
Stuf:AddEvent("UNIT_COMBO_POINTS", UpdateComboPoints) |
Stuf:AddEvent("UNIT_POWER_FREQUENT", UpdateComboPoints) |
uf.refreshfuncs[name] = UpdateComboPoints |
f.db = db |
if db.combostyle == 2 then -- individual circles |
f.individual = true |
for i = 1, 5, 1 do |
for i = 1, 6, 1 do |
local c = f[i] or CreateFrame("Frame", nil, f) |
c:SetWidth(db["combo"..i.."w"] or 10) |
c:SetHeight(db["combo"..i.."h"] or 10) |
f.texture:Show() |
f:Show() |
if f[1] then |
for i = 1, 5, 1 do |
for i = 1, 6, 1 do |
f[i]:Hide() |
end |
end |
## Interface: 60200 |
## Interface: 70000 |
## Title: Stuf Raid Frames |
## Author: TotalPackage |
## Notes: Raid unit frames. Assembly optional. (Does not require Stuf) |
## Version: 6.2.001 |
## Version: 7.0.001 |
## SavedVariables: StufRaidDB |
## SavedVariablesPerCharacter: StufRaidCharLayoutDB, StufRaidCharDB |
## Interface: 60200 |
## Interface: 70000 |
## LoadOnDemand: 1 |
## X-Curse-Packaged-Version: 6.2.0 |
## X-Curse-Packaged-Version: r95 |
## X-Curse-Project-Name: LibSharedMedia-3.0 |
## X-Curse-Project-ID: libsharedmedia-3-0 |
## X-Curse-Repository-ID: wow/libsharedmedia-3-0/mainline |
## Title: Lib: SharedMedia-3.0 |
## Notes: Shared handling of media data (fonts, sounds, textures, ...) between addons. |
## Author: Elkano |
## Version: 3.0-93 |
## Version: 3.0-95 |
## X-Website: http://www.wowace.com/projects/libsharedmedia-3-0/ |
## X-Category: Library |
## X-Revision: 93 |
## X-Date: 2015-06-24T01:30:16Z |
## X-Revision: 95 |
## X-Date: 2016-07-19T22:45:58Z |
LibStub\LibStub.lua |
CallbackHandler-1.0\CallbackHandler-1.0.lua |