Quantcast

Renamed the lib to make it more adequate

Darthpred [05-08-15 - 00:08]
Renamed the lib to make it more adequate
Filename
ElvUI_SLE/libs/LibElv-UIButtons-1.0/LibElv-UIButtons-1.0.lua
ElvUI_SLE/libs/LibElv-UIButtons-1.0/LibElv-UIButtons-1.0.toc
ElvUI_SLE/libs/LibElv-UIButtons-1.0/load_uibuttons.xml
ElvUI_SLE/libs/LibElv-UIButtons-1.0/locales/english.lua
ElvUI_SLE/libs/LibElv-UIButtons-1.0/locales/load_locales.xml
ElvUI_SLE/libs/LibElv-UIButtons-1.0/locales/russian.lua
ElvUI_SLE/libs/LibUIButtons-1.0/LibUIButtons-1.0.lua
ElvUI_SLE/libs/LibUIButtons-1.0/LibUIButtons-1.0.toc
ElvUI_SLE/libs/LibUIButtons-1.0/load_uibuttons.xml
ElvUI_SLE/libs/LibUIButtons-1.0/locales/english.lua
ElvUI_SLE/libs/LibUIButtons-1.0/locales/load_locales.xml
ElvUI_SLE/libs/LibUIButtons-1.0/locales/russian.lua
ElvUI_SLE/libs/load_libs.xml
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