diff --git a/ElvUI_SLE/libs/LibElv-UIButtons-1.0/LibElv-UIButtons-1.0.lua b/ElvUI_SLE/libs/LibElv-UIButtons-1.0/LibElv-UIButtons-1.0.lua new file mode 100644 index 0000000..824b27c --- /dev/null +++ b/ElvUI_SLE/libs/LibElv-UIButtons-1.0/LibElv-UIButtons-1.0.lua @@ -0,0 +1,341 @@ +local MAJOR, MINOR = "LibElv-UIButtons-1.0", 01 +local lib, oldminor = LibStub:NewLibrary(MAJOR, MINOR) + +if not lib then return end +local E, L, V, P, G = unpack(ElvUI) +local S = E:GetModule("Skins") + +local function EqualizeDB(db, default) + for key, value in pairs(default) do + if not db[key] and type(default[key]) ~= "table" then + db[key] = default[key] + elseif type(default[key]) == "table" then + EqualizeDB(db[key], default[key]) + end + end +end + +local function MoverSize(menu) + local db = menu.db + if db.position == "vertical" then + menu:SetWidth(db.size + (E.PixelMode and 2 or 4)) + menu:SetHeight((db.size*menu.NumBut)+((E.PixelMode and db.spacing or db.spacing+2)*(menu.NumBut-1))+2) + elseif db.position == "horizontal" then + menu:SetWidth((db.size*menu.NumBut)+((E.PixelMode and db.spacing or db.spacing+2)*(menu.NumBut-1))+2) + menu:SetHeight(db.size + (E.PixelMode and 2 or 4)) + end +end + +local function SetupMover(menu, name, own) + local exist = false + for i = 1, #E.ConfigModeLayouts do + if E.ConfigModeLayouts[i] == "UIButtons" then + exist = true + break + end + end + if not exist then + tinsert(E.ConfigModeLayouts, #(E.ConfigModeLayouts)+1, "UIButtons") + E.ConfigModeLocalizedStrings["UIButtons"] = L["UI Buttons"] + end + E:CreateMover(menu, menu:GetName().."Mover", name, nil, nil, nil, own or "ALL,UIButtons") +end + +local function ToggleCats(menu) + for i = 1, #menu.ToggleTable do + if menu.ToggleTable[i].opened then + menu.HoldersTable[i]:Show() + else + menu.HoldersTable[i]:Hide() + end + end +end + +local function OnEnter(self, menu) + menu:SetAlpha(1) +end + +local function OnLeave(self, menu) + if menu.db.mouse then + menu:SetAlpha(0) + end +end + +local function CreateCoreButton(menu, name, text) + if _G[menu:GetName().."_Core_"..name] then return end + local button, holder + if menu.style == "classic" then + menu[name] = CreateFrame("Button", menu:GetName().."_Core_"..name, menu) + button = menu[name] + elseif menu.style == "dropdown" then + menu[name] = CreateFrame("Frame", menu:GetName().."_Core_"..name, menu) + menu[name].Toggle = CreateFrame("Button", menu:GetName().."_Core_"..name.."Toggle", menu) + holder = menu[name] + holder:CreateBackdrop("Transparent") + button = menu[name].Toggle + else + lib:CustomStyleCoreButton(menu, name, text) + end + button:SetScript('OnEnter', function(self) OnEnter(self, menu) end) + button:SetScript('OnLeave', function(self) OnLeave(self, menu) end) + -- button:SetSize(17, 17) --For testing purposes + button.text = button:CreateFontString(nil, "OVERLAY") + button.text:SetPoint("CENTER", button, "CENTER", 0, 0) + + S: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 + + tinsert(menu.ToggleTable, button) + if holder then tinsert(menu.HoldersTable, holder) end + if menu.style == "dropdown" then + if not menu[name.."Table"] then + menu[name.."Table"] = {} + end + menu:ToggleSetup(button, holder) + tinsert(menu.GroupsTable, name) + end + + menu.NumBut = menu.NumBut + 1 +end + +local function CreateDropdownButton(menu, core, name, text, tooltip1, tooltip2, click, addon, always) + if addon then + local enabled = GetAddOnEnableState(menu.myname, addon) + if enabled == 0 then return end + end + if _G[menu:GetName().."_Core_"..core..name] or not menu[core.."Table"] then return end + menu[core][name] = CreateFrame("Button", menu:GetName().."_Core_"..core..name, menu[core]) + local b = menu[core][name] + local toggle = menu[core].Toggle + + b:SetScript("OnClick", function(self) + click() + toggle.opened = false + menu:ToggleCats() + end) + + if tooltip1 then + b:SetScript("OnEnter", function(self) + OnEnter(self, menu) + GameTooltip:SetOwner(self) + GameTooltip:AddLine(tooltip1, 1, .96, .41, .6, .6, 1) + if tooltip2 then GameTooltip:AddLine(tooltip2, 1, 1, 1, 1, 1, 1) end + GameTooltip:Show() + end) + b:SetScript("OnLeave", function(self) + OnLeave(self, menu) + GameTooltip:Hide() + end) + else + b:SetScript('OnEnter', function(self) OnEnter(self, menu) end) + b:SetScript('OnLeave', function(self) OnLeave(self, menu) end) + end + S:HandleButton(b) + + if text and type(text) == "string" then + b.text = b:CreateFontString(nil,"OVERLAY",b) + b.text:FontTemplate() + b.text:SetPoint("CENTER", b, 'CENTER', 0, -1) + b.text:SetJustifyH("CENTER") + b.text:SetText(text) + b:SetFontString(b.text) + end + + tinsert(menu[core.."Table"], b) +end + +local function CreateSeparator(menu, core, name, size, space) + if _G[menu:GetName().."_Core_"..core..name.."_Separator"] or not menu[core.."Table"] then return end + menu[core][name] = CreateFrame("Frame", menu:GetName().."_Core_"..core..name.."_Separator", menu[core]) + local f = menu[core][name] + f.isSeparator = true + f.size = size or 1 + f.space = space or 2 + f:CreateBackdrop("Transparent") + f:SetScript('OnEnter', function(self) OnEnter(self, menu) end) + f:SetScript('OnLeave', function(self) OnLeave(self, menu) end) + tinsert(menu[core.."Table"], f) +end + +local function ToggleSetup(menu, button, holder) + local db = menu.db + button.opened = false + holder:Hide() + button:SetScript("OnClick", function(self, button, down) + if button == "LeftButton" then + if self.opened then + self.opened = false + else + self.opened = true + for i = 1, #menu.ToggleTable do + if menu.ToggleTable[i] ~= self then menu.ToggleTable[i].opened = false end + end + end + menu:ToggleCats() + end + end) + holder:SetScript('OnEnter', function(self) OnEnter(self, menu) end) + holder:SetScript('OnLeave', function(self) OnLeave(self, menu) end) +end + +local function UpdateDropdownLayout(menu, group) + local count = -1 + local sepS, sepC = 0, 0 + local header = menu[group] + local db = menu.db + header:ClearAllPoints() + header:Point(db.point, header.Toggle, db.anchor, db.xoffset, db.yoffset) + local T = menu[group.."Table"] + for i = 1, #T do + local button, prev, next = T[i], T[i-1], T[i+1] + local y_offset = prev and ((E.PixelMode and -db.spacing or -(db.spacing+2))-(prev.isSeparator and prev.space or 0)-(button.isSeparator and button.space or 0)) or 0 + button:Point("TOP", (prev or header), (prev and "BOTTOM" or "TOP"), 0, y_offset) + count = button.isSeparator and count or count + 1 + sepS = (button.isSeparator and sepS + ((prev and 2 or 1)*button.space + button.size)) or sepS + sepC = button.isSeparator and sepC + 1 or sepC + end + header:Size(db.size * 3.1, (db.size * (count+1))+(db.spacing*(count))+sepS+(.5*sepC)) + if menu.db.dropdownBackdrop then + header.backdrop:Show() + else + header.backdrop:Hide() + end +end + +local function UpdateMouseOverSetting(menu) + if menu.db.mouse then + menu:SetAlpha(0) + else + menu:SetAlpha(1) + end +end + +local function Positioning(menu) + local db = menu.db + + --position check + local header = menu + if db.position == "vertical" then + for i = 1, #menu.ToggleTable do + local button, prev = menu.ToggleTable[i], menu.ToggleTable[i-1] + menu.ToggleTable[i]:ClearAllPoints() + menu.ToggleTable[i]:Point("TOP", (prev or header), prev and "BOTTOM" or "TOP", 0, prev and (E.PixelMode and -db.spacing or -(db.spacing+2)) or (E.PixelMode and -1 or -2)) + end + elseif db.position == "horizontal" then + for i = 1, #menu.ToggleTable do + local button, prev = menu.ToggleTable[i], menu.ToggleTable[i-1] + menu.ToggleTable[i]:ClearAllPoints() + menu.ToggleTable[i]:Point("LEFT", (prev or header), prev and "RIGHT" or "LEFT", prev and (E.PixelMode and db.spacing or db.spacing+2) or (E.PixelMode and 1 or 2), 0) + end + end + if menu.style == "dropdown" then + for i = 1, #menu.GroupsTable do + menu:UpdateDropdownLayout(menu.GroupsTable[i]) + end + end +end + +local function FrameSize(menu) + local db = menu.db + if not db.size then return end + menu:MoverSize() + + for i = 1, #menu.ToggleTable do + menu.ToggleTable[i]:Size(db.size) + end + + if menu.style == "dropdown" then + for i = 1, #menu.GroupsTable do + local group = menu.GroupsTable[i] + local mass = menu[group.."Table"] + for n = 1, #mass do + if mass[n].isSeparator then + mass[n]:Size((db.size * 3.1) - 2, mass[n].size) + else + mass[n]:Size(db.size * 3.1, db.size) + end + end + end + end + + menu:Positioning() +end + +local function UpdateBackdrop(menu) + if menu.db.menuBackdrop then + menu.backdrop:Show() + else + menu.backdrop:Hide() + end +end + +local function ToggleShow(menu) + if not menu.db.enable then + menu:Hide() + else + menu:Show() + menu:UpdateMouseOverSetting() + menu:UpdateBackdrop() + end +end + +function lib:CreateFrame(name, db, default, style, styleDefault) + if _G[name] then return end + if not name then print("Sorry but you didn't set a name for this menu bar. Aborting creation"); return end + if not db then print("Sorry but you didn't set database for this menu bar. Aborting creation"); return end + if not default then print("Sorry but you didn't set defaults for this menu bar. Aborting creation"); return end + if not style and not styleDefault then print("Sorry but you didn't set defaults for this menu bar's style. Aborting creation"); return end + local menu = CreateFrame("Frame", name, E.UIParent) + menu.db = db + EqualizeDB(menu.db, default) + if not style and styleDefault then style = styleDefault end + menu.style = style + + menu:SetFrameStrata("HIGH") + menu:SetFrameLevel(5) + menu:SetClampedToScreen(true) + menu:Point("LEFT", E.UIParent, "LEFT", -2, 0); + menu:Size(17, 17); --Cause the damn thing doesn't want to show up without default size lol + menu:SetScript('OnEnter', function(self) OnEnter(self, self) end) + menu:SetScript('OnLeave', function(self) OnLeave(self, self) end) + menu.myname = UnitName('player') + menu:CreateBackdrop() + + menu.NumBut = 0 + menu.ToggleTable = {} + menu.HoldersTable = {} + menu.GroupsTable = {} + + --Setting API + menu.CreateCoreButton = CreateCoreButton + menu.CreateDropdownButton = CreateDropdownButton + menu.CreateSeparator = CreateSeparator + menu.ToggleSetup = ToggleSetup + menu.ToggleCats = ToggleCats + menu.UpdateDropdownLayout = UpdateDropdownLayout + menu.Positioning = Positioning + menu.MoverSize = MoverSize + menu.UpdateMouseOverSetting = UpdateMouseOverSetting + menu.FrameSize = FrameSize + menu.SetupMover = SetupMover + menu.ToggleShow = ToggleShow + menu.UpdateBackdrop = UpdateBackdrop + + return menu +end + +--This function is for creating own menu style. Replacing is not encouraged, hooking recommended. +function lib:CustomStyleCoreButton(menu, name, text) +end + +if not LibStub("LibElvUIPlugin-1.0").plugins[MAJOR] then + LibStub("LibElvUIPlugin-1.0"):RegisterPlugin(MAJOR, function() end, true) +end \ No newline at end of file diff --git a/ElvUI_SLE/libs/LibElv-UIButtons-1.0/LibElv-UIButtons-1.0.toc b/ElvUI_SLE/libs/LibElv-UIButtons-1.0/LibElv-UIButtons-1.0.toc new file mode 100644 index 0000000..c8ba530 --- /dev/null +++ b/ElvUI_SLE/libs/LibElv-UIButtons-1.0/LibElv-UIButtons-1.0.toc @@ -0,0 +1,7 @@ +## Interface: 40300 +## Author: Darth Predator +## Version: 1.0 +## Title: Lib UIButtons 1.0 +## RequiredDeps: ElvUI + +LibElv-UIButtons-1.0.lua \ No newline at end of file diff --git a/ElvUI_SLE/libs/LibElv-UIButtons-1.0/load_uibuttons.xml b/ElvUI_SLE/libs/LibElv-UIButtons-1.0/load_uibuttons.xml new file mode 100644 index 0000000..1f3e540 --- /dev/null +++ b/ElvUI_SLE/libs/LibElv-UIButtons-1.0/load_uibuttons.xml @@ -0,0 +1,4 @@ +<Ui xmlns="http://www.blizzard.com/wow/ui/"> + <Include file="locales\load_locales.xml"/> + <Script file="LibElv-UIButtons-1.0.lua"/> +</Ui> \ No newline at end of file diff --git a/ElvUI_SLE/libs/LibElv-UIButtons-1.0/locales/english.lua b/ElvUI_SLE/libs/LibElv-UIButtons-1.0/locales/english.lua new file mode 100644 index 0000000..124d0d3 --- /dev/null +++ b/ElvUI_SLE/libs/LibElv-UIButtons-1.0/locales/english.lua @@ -0,0 +1,8 @@ +--Russian localization +local AceLocale = LibStub:GetLibrary("AceLocale-3.0") +local L = AceLocale:NewLocale("ElvUI", "ruRU") + +if not L then return; end + +--UI buttons-- +L["LibUIButtons_DESC"] = "This adds a small bar with some useful buttons which acts as a small menu for common things.\nThe options below are provided by LibElv-UIButtons. If you see them that means one of your addons is using this library." diff --git a/ElvUI_SLE/libs/LibElv-UIButtons-1.0/locales/load_locales.xml b/ElvUI_SLE/libs/LibElv-UIButtons-1.0/locales/load_locales.xml new file mode 100644 index 0000000..c322415 --- /dev/null +++ b/ElvUI_SLE/libs/LibElv-UIButtons-1.0/locales/load_locales.xml @@ -0,0 +1,4 @@ +<Ui xmlns="http://www.blizzard.com/wow/ui/"> + <Script file="english.lua"/> + <Script file="russian.lua"/> +</Ui> \ No newline at end of file diff --git a/ElvUI_SLE/libs/LibElv-UIButtons-1.0/locales/russian.lua b/ElvUI_SLE/libs/LibElv-UIButtons-1.0/locales/russian.lua new file mode 100644 index 0000000..2a0df9a --- /dev/null +++ b/ElvUI_SLE/libs/LibElv-UIButtons-1.0/locales/russian.lua @@ -0,0 +1,22 @@ +--Russian localization +local AceLocale = LibStub:GetLibrary("AceLocale-3.0") +local L = AceLocale:NewLocale("ElvUI", "ruRU") + +if not L then return; end + +--UI buttons-- +L["LibUIButtons_DESC"] = "Добавляет небольшую полосу с кнопками, дающими доступ к набору полезных функций.\nЭти опции выводятся библиотекой LibElv-UIButtons. Если вы их видите, то один из Ваших аддонов ее использует." +L["UI Buttons"] = "Меню интерфейса" +L["Show/Hide UI buttons."] = "Показать/скрыть меню" +L["Mouse Over"] = "При наведении" +L["Show on mouse over."] = "Отображать при наведении мыши." +L["Dropdown Backdrop"] = "Фон выпадающего списка" +L["Buttons position"] = "Положение кнопок" +L["Layout for UI buttons."] = "Режим положения кнопок" +L["UI Buttons Style"] = "Стиль меню" +L['Dropdown'] = "Выпадающий список" +L["Sets size of buttons"] = "Устанавливает размер кнопок" +L['What point of dropdown will be attached to the toggle button.'] = "Какая точка выпадающего списка будет крепиться к кнопке его открытия." +L['What point to anchor dropdown on the toggle button.'] = "К какой точке кнопки будет крепиться ее выпадающий список." +L["Horizontal offset of dropdown from the toggle button."] = "Отступ выпадающего списка от кнопки его открытия по горизонтали." +L["Vertical offset of dropdown from the toggle button."] = "Отступ выпадающего списка от кнопки его открытия по вертикали." \ No newline at end of file diff --git a/ElvUI_SLE/libs/LibUIButtons-1.0/LibUIButtons-1.0.lua b/ElvUI_SLE/libs/LibUIButtons-1.0/LibUIButtons-1.0.lua deleted file mode 100644 index 07ea1c9..0000000 --- a/ElvUI_SLE/libs/LibUIButtons-1.0/LibUIButtons-1.0.lua +++ /dev/null @@ -1,341 +0,0 @@ -local MAJOR, MINOR = "LibUIButtons-1.0", 01 -local lib, oldminor = LibStub:NewLibrary(MAJOR, MINOR) - -if not lib then return end -local E, L, V, P, G = unpack(ElvUI) -local S = E:GetModule("Skins") - -local function EqualizeDB(db, default) - for key, value in pairs(default) do - if not db[key] and type(default[key]) ~= "table" then - db[key] = default[key] - elseif type(default[key]) == "table" then - EqualizeDB(db[key], default[key]) - end - end -end - -local function MoverSize(menu) - local db = menu.db - if db.position == "vertical" then - menu:SetWidth(db.size + (E.PixelMode and 2 or 4)) - menu:SetHeight((db.size*menu.NumBut)+((E.PixelMode and db.spacing or db.spacing+2)*(menu.NumBut-1))+2) - elseif db.position == "horizontal" then - menu:SetWidth((db.size*menu.NumBut)+((E.PixelMode and db.spacing or db.spacing+2)*(menu.NumBut-1))+2) - menu:SetHeight(db.size + (E.PixelMode and 2 or 4)) - end -end - -local function SetupMover(menu, name, own) - local exist = false - for i = 1, #E.ConfigModeLayouts do - if E.ConfigModeLayouts[i] == "UIButtons" then - exist = true - break - end - end - if not exist then - tinsert(E.ConfigModeLayouts, #(E.ConfigModeLayouts)+1, "UIButtons") - E.ConfigModeLocalizedStrings["UIButtons"] = L["UI Buttons"] - end - E:CreateMover(menu, menu:GetName().."Mover", name, nil, nil, nil, own or "ALL,UIButtons") -end - -local function ToggleCats(menu) - for i = 1, #menu.ToggleTable do - if menu.ToggleTable[i].opened then - menu.HoldersTable[i]:Show() - else - menu.HoldersTable[i]:Hide() - end - end -end - -local function OnEnter(self, menu) - menu:SetAlpha(1) -end - -local function OnLeave(self, menu) - if menu.db.mouse then - menu:SetAlpha(0) - end -end - -local function CreateCoreButton(menu, name, text) - if _G[menu:GetName().."_Core_"..name] then return end - local button, holder - if menu.style == "classic" then - menu[name] = CreateFrame("Button", menu:GetName().."_Core_"..name, menu) - button = menu[name] - elseif menu.style == "dropdown" then - menu[name] = CreateFrame("Frame", menu:GetName().."_Core_"..name, menu) - menu[name].Toggle = CreateFrame("Button", menu:GetName().."_Core_"..name.."Toggle", menu) - holder = menu[name] - holder:CreateBackdrop("Transparent") - button = menu[name].Toggle - else - lib:CustomStyleCoreButton(menu, name, text) - end - button:SetScript('OnEnter', function(self) OnEnter(self, menu) end) - button:SetScript('OnLeave', function(self) OnLeave(self, menu) end) - -- button:SetSize(17, 17) --For testing purposes - button.text = button:CreateFontString(nil, "OVERLAY") - button.text:SetPoint("CENTER", button, "CENTER", 0, 0) - - S: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 - - tinsert(menu.ToggleTable, button) - if holder then tinsert(menu.HoldersTable, holder) end - if menu.style == "dropdown" then - if not menu[name.."Table"] then - menu[name.."Table"] = {} - end - menu:ToggleSetup(button, holder) - tinsert(menu.GroupsTable, name) - end - - menu.NumBut = menu.NumBut + 1 -end - -local function CreateDropdownButton(menu, core, name, text, tooltip1, tooltip2, click, addon, always) - if addon then - local enabled = GetAddOnEnableState(menu.myname, addon) - if enabled == 0 then return end - end - if _G[menu:GetName().."_Core_"..core..name] or not menu[core.."Table"] then return end - menu[core][name] = CreateFrame("Button", menu:GetName().."_Core_"..core..name, menu[core]) - local b = menu[core][name] - local toggle = menu[core].Toggle - - b:SetScript("OnClick", function(self) - click() - toggle.opened = false - menu:ToggleCats() - end) - - if tooltip1 then - b:SetScript("OnEnter", function(self) - OnEnter(self, menu) - GameTooltip:SetOwner(self) - GameTooltip:AddLine(tooltip1, 1, .96, .41, .6, .6, 1) - if tooltip2 then GameTooltip:AddLine(tooltip2, 1, 1, 1, 1, 1, 1) end - GameTooltip:Show() - end) - b:SetScript("OnLeave", function(self) - OnLeave(self, menu) - GameTooltip:Hide() - end) - else - b:SetScript('OnEnter', function(self) OnEnter(self, menu) end) - b:SetScript('OnLeave', function(self) OnLeave(self, menu) end) - end - S:HandleButton(b) - - if text and type(text) == "string" then - b.text = b:CreateFontString(nil,"OVERLAY",b) - b.text:FontTemplate() - b.text:SetPoint("CENTER", b, 'CENTER', 0, -1) - b.text:SetJustifyH("CENTER") - b.text:SetText(text) - b:SetFontString(b.text) - end - - tinsert(menu[core.."Table"], b) -end - -local function CreateSeparator(menu, core, name, size, space) - if _G[menu:GetName().."_Core_"..core..name.."_Separator"] or not menu[core.."Table"] then return end - menu[core][name] = CreateFrame("Frame", menu:GetName().."_Core_"..core..name.."_Separator", menu[core]) - local f = menu[core][name] - f.isSeparator = true - f.size = size or 1 - f.space = space or 2 - f:CreateBackdrop("Transparent") - f:SetScript('OnEnter', function(self) OnEnter(self, menu) end) - f:SetScript('OnLeave', function(self) OnLeave(self, menu) end) - tinsert(menu[core.."Table"], f) -end - -local function ToggleSetup(menu, button, holder) - local db = menu.db - button.opened = false - holder:Hide() - button:SetScript("OnClick", function(self, button, down) - if button == "LeftButton" then - if self.opened then - self.opened = false - else - self.opened = true - for i = 1, #menu.ToggleTable do - if menu.ToggleTable[i] ~= self then menu.ToggleTable[i].opened = false end - end - end - menu:ToggleCats() - end - end) - holder:SetScript('OnEnter', function(self) OnEnter(self, menu) end) - holder:SetScript('OnLeave', function(self) OnLeave(self, menu) end) -end - -local function UpdateDropdownLayout(menu, group) - local count = -1 - local sepS, sepC = 0, 0 - local header = menu[group] - local db = menu.db - header:ClearAllPoints() - header:Point(db.point, header.Toggle, db.anchor, db.xoffset, db.yoffset) - local T = menu[group.."Table"] - for i = 1, #T do - local button, prev, next = T[i], T[i-1], T[i+1] - local y_offset = prev and ((E.PixelMode and -db.spacing or -(db.spacing+2))-(prev.isSeparator and prev.space or 0)-(button.isSeparator and button.space or 0)) or 0 - button:Point("TOP", (prev or header), (prev and "BOTTOM" or "TOP"), 0, y_offset) - count = button.isSeparator and count or count + 1 - sepS = (button.isSeparator and sepS + ((prev and 2 or 1)*button.space + button.size)) or sepS - sepC = button.isSeparator and sepC + 1 or sepC - end - header:Size(db.size * 3.1, (db.size * (count+1))+(db.spacing*(count))+sepS+(.5*sepC)) - if menu.db.dropdownBackdrop then - header.backdrop:Show() - else - header.backdrop:Hide() - end -end - -local function UpdateMouseOverSetting(menu) - if menu.db.mouse then - menu:SetAlpha(0) - else - menu:SetAlpha(1) - end -end - -local function Positioning(menu) - local db = menu.db - - --position check - local header = menu - if db.position == "vertical" then - for i = 1, #menu.ToggleTable do - local button, prev = menu.ToggleTable[i], menu.ToggleTable[i-1] - menu.ToggleTable[i]:ClearAllPoints() - menu.ToggleTable[i]:Point("TOP", (prev or header), prev and "BOTTOM" or "TOP", 0, prev and (E.PixelMode and -db.spacing or -(db.spacing+2)) or (E.PixelMode and -1 or -2)) - end - elseif db.position == "horizontal" then - for i = 1, #menu.ToggleTable do - local button, prev = menu.ToggleTable[i], menu.ToggleTable[i-1] - menu.ToggleTable[i]:ClearAllPoints() - menu.ToggleTable[i]:Point("LEFT", (prev or header), prev and "RIGHT" or "LEFT", prev and (E.PixelMode and db.spacing or db.spacing+2) or (E.PixelMode and 1 or 2), 0) - end - end - if menu.style == "dropdown" then - for i = 1, #menu.GroupsTable do - menu:UpdateDropdownLayout(menu.GroupsTable[i]) - end - end -end - -local function FrameSize(menu) - local db = menu.db - if not db.size then return end - menu:MoverSize() - - for i = 1, #menu.ToggleTable do - menu.ToggleTable[i]:Size(db.size) - end - - if menu.style == "dropdown" then - for i = 1, #menu.GroupsTable do - local group = menu.GroupsTable[i] - local mass = menu[group.."Table"] - for n = 1, #mass do - if mass[n].isSeparator then - mass[n]:Size((db.size * 3.1) - 2, mass[n].size) - else - mass[n]:Size(db.size * 3.1, db.size) - end - end - end - end - - menu:Positioning() -end - -local function UpdateBackdrop(menu) - if menu.db.menuBackdrop then - menu.backdrop:Show() - else - menu.backdrop:Hide() - end -end - -local function ToggleShow(menu) - if not menu.db.enable then - menu:Hide() - else - menu:Show() - menu:UpdateMouseOverSetting() - menu:UpdateBackdrop() - end -end - -function lib:CreateFrame(name, db, default, style, styleDefault) - if _G[name] then return end - if not name then print("Sorry but you didn't set a name for this menu bar. Aborting creation"); return end - if not db then print("Sorry but you didn't set database for this menu bar. Aborting creation"); return end - if not default then print("Sorry but you didn't set defaults for this menu bar. Aborting creation"); return end - if not style and not styleDefault then print("Sorry but you didn't set defaults for this menu bar's style. Aborting creation"); return end - local menu = CreateFrame("Frame", name, E.UIParent) - menu.db = db - EqualizeDB(menu.db, default) - if not style and styleDefault then style = styleDefault end - menu.style = style - - menu:SetFrameStrata("HIGH") - menu:SetFrameLevel(5) - menu:SetClampedToScreen(true) - menu:Point("LEFT", E.UIParent, "LEFT", -2, 0); - menu:Size(17, 17); --Cause the damn thing doesn't want to show up without default size lol - menu:SetScript('OnEnter', function(self) OnEnter(self, self) end) - menu:SetScript('OnLeave', function(self) OnLeave(self, self) end) - menu.myname = UnitName('player') - menu:CreateBackdrop() - - menu.NumBut = 0 - menu.ToggleTable = {} - menu.HoldersTable = {} - menu.GroupsTable = {} - - --Setting API - menu.CreateCoreButton = CreateCoreButton - menu.CreateDropdownButton = CreateDropdownButton - menu.CreateSeparator = CreateSeparator - menu.ToggleSetup = ToggleSetup - menu.ToggleCats = ToggleCats - menu.UpdateDropdownLayout = UpdateDropdownLayout - menu.Positioning = Positioning - menu.MoverSize = MoverSize - menu.UpdateMouseOverSetting = UpdateMouseOverSetting - menu.FrameSize = FrameSize - menu.SetupMover = SetupMover - menu.ToggleShow = ToggleShow - menu.UpdateBackdrop = UpdateBackdrop - - return menu -end - ---This function is for creating own menu style. Replacing is not encouraged, hooking recommended. -function lib:CustomStyleCoreButton(menu, name, text) -end - -if not LibStub("LibElvUIPlugin-1.0").plugins[MAJOR] then - LibStub("LibElvUIPlugin-1.0"):RegisterPlugin(MAJOR, function() end, true) -end \ No newline at end of file diff --git a/ElvUI_SLE/libs/LibUIButtons-1.0/LibUIButtons-1.0.toc b/ElvUI_SLE/libs/LibUIButtons-1.0/LibUIButtons-1.0.toc deleted file mode 100644 index 7badc1d..0000000 --- a/ElvUI_SLE/libs/LibUIButtons-1.0/LibUIButtons-1.0.toc +++ /dev/null @@ -1,7 +0,0 @@ -## Interface: 40300 -## Author: Darth Predator -## Version: 1.0 -## Title: Lib UIButtons 1.0 -## RequiredDeps: ElvUI - -LibUIButtons-1.0.lua \ No newline at end of file diff --git a/ElvUI_SLE/libs/LibUIButtons-1.0/load_uibuttons.xml b/ElvUI_SLE/libs/LibUIButtons-1.0/load_uibuttons.xml deleted file mode 100644 index 7ba3c56..0000000 --- a/ElvUI_SLE/libs/LibUIButtons-1.0/load_uibuttons.xml +++ /dev/null @@ -1,4 +0,0 @@ -<Ui xmlns="http://www.blizzard.com/wow/ui/"> - <Include file="locales\load_locales.xml"/> - <Script file="LibUIButtons-1.0.lua"/> -</Ui> \ No newline at end of file diff --git a/ElvUI_SLE/libs/LibUIButtons-1.0/locales/english.lua b/ElvUI_SLE/libs/LibUIButtons-1.0/locales/english.lua deleted file mode 100644 index 234ee8d..0000000 --- a/ElvUI_SLE/libs/LibUIButtons-1.0/locales/english.lua +++ /dev/null @@ -1,8 +0,0 @@ ---Russian localization -local AceLocale = LibStub:GetLibrary("AceLocale-3.0") -local L = AceLocale:NewLocale("ElvUI", "ruRU") - -if not L then return; end - ---UI buttons-- -L["LibUIButtons_DESC"] = "This adds a small bar with some useful buttons which acts as a small menu for common things.\nThe options below are provided by LibUIButtons. If you see them that means one of your addons is using this library." diff --git a/ElvUI_SLE/libs/LibUIButtons-1.0/locales/load_locales.xml b/ElvUI_SLE/libs/LibUIButtons-1.0/locales/load_locales.xml deleted file mode 100644 index c322415..0000000 --- a/ElvUI_SLE/libs/LibUIButtons-1.0/locales/load_locales.xml +++ /dev/null @@ -1,4 +0,0 @@ -<Ui xmlns="http://www.blizzard.com/wow/ui/"> - <Script file="english.lua"/> - <Script file="russian.lua"/> -</Ui> \ No newline at end of file diff --git a/ElvUI_SLE/libs/LibUIButtons-1.0/locales/russian.lua b/ElvUI_SLE/libs/LibUIButtons-1.0/locales/russian.lua deleted file mode 100644 index b7d013c..0000000 --- a/ElvUI_SLE/libs/LibUIButtons-1.0/locales/russian.lua +++ /dev/null @@ -1,22 +0,0 @@ ---Russian localization -local AceLocale = LibStub:GetLibrary("AceLocale-3.0") -local L = AceLocale:NewLocale("ElvUI", "ruRU") - -if not L then return; end - ---UI buttons-- -L["LibUIButtons_DESC"] = "Добавляет небольшую полосу с кнопками, дающими доступ к набору полезных функций.\nЭти опции выводятся библиотекой LibUIButtons. Если вы их видите, то один из Ваших аддонов ее использует." -L["UI Buttons"] = "Меню интерфейса" -L["Show/Hide UI buttons."] = "Показать/скрыть меню" -L["Mouse Over"] = "При наведении" -L["Show on mouse over."] = "Отображать при наведении мыши." -L["Dropdown Backdrop"] = "Фон выпадающего списка" -L["Buttons position"] = "Положение кнопок" -L["Layout for UI buttons."] = "Режим положения кнопок" -L["UI Buttons Style"] = "Стиль меню" -L['Dropdown'] = "Выпадающий список" -L["Sets size of buttons"] = "Устанавливает размер кнопок" -L['What point of dropdown will be attached to the toggle button.'] = "Какая точка выпадающего списка будет крепиться к кнопке его открытия." -L['What point to anchor dropdown on the toggle button.'] = "К какой точке кнопки будет крепиться ее выпадающий список." -L["Horizontal offset of dropdown from the toggle button."] = "Отступ выпадающего списка от кнопки его открытия по горизонтали." -L["Vertical offset of dropdown from the toggle button."] = "Отступ выпадающего списка от кнопки его открытия по вертикали." \ No newline at end of file diff --git a/ElvUI_SLE/libs/load_libs.xml b/ElvUI_SLE/libs/load_libs.xml index 19f1bb4..9c721fe 100644 --- a/ElvUI_SLE/libs/load_libs.xml +++ b/ElvUI_SLE/libs/load_libs.xml @@ -1 +1 @@ -<Ui xmlns="http://www.blizzard.com/wow/ui/"> <Script file="AceAddon-3.0\AceAddon-3.0.lua"/> <Script file="AceConsole-3.0\AceConsole-3.0.lua"/> <Script file="AceDB-3.0\AceDB-3.0.lua"/> <Script file="AceDBOptions-3.0\AceDBOptions-3.0.lua"/> <Include file="AceGUI-3.0\AceGUI-3.0.xml"/> <Include file="AceConfig-3.0\AceConfig-3.0.xml"/> <Include file="LibBabble-SubZone-3.0\lib.xml"/> <Script file="oUF_NecroStrike\oUF_NecroStrike.lua"/> <Script file="LibQTip-1.0\LibQTip-1.0.lua"/> <Script file="LibRangeCheck-2.0\LibRangeCheck-2.0.lua"/> <Include file="LibUIButtons-1.0\load_uibuttons.xml"/> </Ui> \ No newline at end of file +<Ui xmlns="http://www.blizzard.com/wow/ui/"> <Script file="AceAddon-3.0\AceAddon-3.0.lua"/> <Script file="AceConsole-3.0\AceConsole-3.0.lua"/> <Script file="AceDB-3.0\AceDB-3.0.lua"/> <Script file="AceDBOptions-3.0\AceDBOptions-3.0.lua"/> <Include file="AceGUI-3.0\AceGUI-3.0.xml"/> <Include file="AceConfig-3.0\AceConfig-3.0.xml"/> <Include file="LibBabble-SubZone-3.0\lib.xml"/> <Script file="oUF_NecroStrike\oUF_NecroStrike.lua"/> <Script file="LibQTip-1.0\LibQTip-1.0.lua"/> <Script file="LibRangeCheck-2.0\LibRangeCheck-2.0.lua"/> <Include file="LibElv-UIButtons-1.0\load_uibuttons.xml"/> </Ui> \ No newline at end of file