-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMainFrame.lua
More file actions
87 lines (76 loc) · 2.87 KB
/
Copy pathMainFrame.lua
File metadata and controls
87 lines (76 loc) · 2.87 KB
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
---@class BFC
local BFC = select(2, ...)
---------------------------------------------------------------------
-- main frame
---------------------------------------------------------------------
local mainFrame = CreateFrame("Frame", "BFC_MainFrame", UIParent, "ButtonFrameTemplate") -- PortraitFrameTemplate
mainFrame:SetFrameStrata("HIGH")
-- base
ButtonFrameTemplate_HidePortrait(mainFrame)
mainFrame.Inset:SetPoint("TOPLEFT", mainFrame, "TOPLEFT", 11, -11)
-- FrameTemplate_SetAtticHeight(mainFrame, ATTIC_HEIGHT)
-- FrameTemplate_SetButtonBarHeight(mainFrame, 100)
mainFrame:SetSize(750, 400)
mainFrame:SetPoint("CENTER")
mainFrame:EnableMouse(true)
mainFrame:SetMovable(true)
mainFrame:SetClampedToScreen(true)
-- drag & title
mainFrame.titleBar = CreateFrame("Frame", nil, mainFrame, "PanelDragBarTemplate")
mainFrame.titleBar:SetPoint("TOPLEFT")
mainFrame.titleBar:SetPoint("TOPRIGHT")
mainFrame.titleBar:SetHeight(32)
mainFrame.titleBar:Init(mainFrame)
-- mainFrame:SetTitle(BFC.displayedName)
-- resize
mainFrame:SetResizable(true)
mainFrame.resizeButton = CreateFrame("Button", nil, mainFrame, "PanelResizeButtonTemplate")
mainFrame.resizeButton:SetPoint("BOTTOMRIGHT")
mainFrame.resizeButton:Init(mainFrame, 750, 400, 1600, 900)
-- ESC
tinsert(UISpecialFrames, "BFC_MainFrame")
mainFrame:SetScript("OnHide", function()
if not InCombatLockdown() then
collectgarbage()
end
end)
---------------------------------------------------------------------
-- refresh
---------------------------------------------------------------------
-- local refreshButton = CreateFrame("Button", "BFC_RefreshButton", mainFrame, "UIPanelButtonTemplate")
-- mainFrame.refreshButton = refreshButton
-- refreshButton:SetHeight(25)
-- refreshButton:SetTextToFit(_G.REFRESH)
-- refreshButton:SetPoint("TOPRIGHT", -10, -32)
---------------------------------------------------------------------
-- mask
---------------------------------------------------------------------
local maskFrame = CreateFrame("Frame", "BFC_MainFrameMask", mainFrame, "BackdropTemplate")
maskFrame:EnableMouse(true)
maskFrame:SetFrameLevel(mainFrame:GetFrameLevel() + 200)
maskFrame:SetBackdrop({bgFile="Interface\\Buttons\\WHITE8x8"})
maskFrame:SetBackdropColor(0.1, 0.1, 0.1, 0.9)
maskFrame:SetPoint("TOPLEFT", 5, -20)
maskFrame:SetPoint("BOTTOMRIGHT", -2, 2)
maskFrame:Hide()
maskFrame:SetScript("OnShow", function()
mainFrame.resizeButton:SetEnabled(false)
end)
maskFrame:SetScript("OnHide", function()
mainFrame.resizeButton:SetEnabled(true)
end)
---------------------------------------------------------------------
-- show
---------------------------------------------------------------------
function BFC.ShowMainFrame()
mainFrame:Show()
BFC.ShowCraftsmanFrame()
end
function BFC.ToggleMainFrame()
if mainFrame:IsShown() then
mainFrame:Hide()
else
mainFrame:Show()
BFC.ShowCraftsmanFrame()
end
end