-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathtekKonfigTopTab.lua
68 lines (54 loc) · 2.24 KB
/
tekKonfigTopTab.lua
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
local lib, oldminor = LibStub:NewLibrary("tekKonfig-TopTab", 1)
if not lib then return end
oldminor = oldminor or 0
function lib:activatetab()
self.left:ClearAllPoints()
self.left:SetPoint("TOPLEFT")
self.left:SetTexture("Interface\\OptionsFrame\\UI-OptionsFrame-ActiveTab")
self.middle:SetTexture("Interface\\OptionsFrame\\UI-OptionsFrame-ActiveTab")
self.right:SetTexture("Interface\\OptionsFrame\\UI-OptionsFrame-ActiveTab")
self:Disable()
end
function lib:deactivatetab()
self.left:ClearAllPoints()
self.left:SetPoint("BOTTOMLEFT", 0, 2)
self.left:SetTexture("Interface\\OptionsFrame\\UI-OptionsFrame-InActiveTab")
self.middle:SetTexture("Interface\\OptionsFrame\\UI-OptionsFrame-InActiveTab")
self.right:SetTexture("Interface\\OptionsFrame\\UI-OptionsFrame-InActiveTab")
self:Enable()
end
function lib:SetTextHelper(...) self:SetWidth(40 + self:GetFontString():GetStringWidth()); return ... end
function lib:NewSetText(...) return lib.SetTextHelper(self, self.OrigSetText(self, ...)) end
function lib.new(parent, text, ...)
local tab = CreateFrame("Button", nil, parent)
tab:SetHeight(24)
tab:SetPoint(...)
tab:SetFrameLevel(tab:GetFrameLevel() + 4)
tab.left = tab:CreateTexture(nil, "BORDER")
tab.left:SetWidth(20) tab.left:SetHeight(24)
tab.left:SetTexCoord(0, 0.15625, 0, 1)
tab.right = tab:CreateTexture(nil, "BORDER")
tab.right:SetWidth(20) tab.right:SetHeight(24)
tab.right:SetPoint("TOP", tab.left)
tab.right:SetPoint("RIGHT", tab)
tab.right:SetTexCoord(0.84375, 1, 0, 1)
tab.middle = tab:CreateTexture(nil, "BORDER")
tab.middle:SetHeight(24)
tab.middle:SetPoint("LEFT", tab.left, "RIGHT")
tab.middle:SetPoint("RIGHT", tab.right, "Left")
tab.middle:SetTexCoord(0.15625, 0.84375, 0, 1)
tab:SetHighlightTexture("Interface\\PaperDollInfoFrame\\UI-Character-Tab-Highlight", "ADD")
local hilite = tab:GetHighlightTexture()
hilite:ClearAllPoints()
hilite:SetPoint("LEFT", 10, -4)
hilite:SetPoint("RIGHT", -10, -4)
tab:SetDisabledFontObject(GameFontHighlightSmall)
tab:SetHighlightFontObject(GameFontHighlightSmall)
tab:SetNormalFontObject(GameFontNormalSmall)
tab.OrigSetText = tab.SetText
tab.SetText = lib.NewSetText
tab:SetText(text)
tab.Activate, tab.Deactivate = lib.activatetab, lib.deactivatetab
tab:Activate()
return tab
end