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
88
89
90
91
92
93
94
local tonumber = tonumber;
local huge = math.huge;
local VUHDO_getHeader;
local VUHDO_isTableHeaderOrFooter;
local VUHDO_LibSharedMedia;
local VUHDO_getFont;
local VUHDO_getHeaderTextId;
local VUHDO_getHeaderWidth;
local VUHDO_getHeaderHeight;
local VUHDO_getHeaderPos;
local VUHDO_customizeHeader;
--
function VUHDO_panelRedrawHeadersInitLocalOverrides()
VUHDO_getHeader = _G["VUHDO_getHeader"];
VUHDO_isTableHeaderOrFooter = _G["VUHDO_isTableHeaderOrFooter"];
VUHDO_LibSharedMedia = _G["VUHDO_LibSharedMedia"];
VUHDO_getFont = _G["VUHDO_getFont"];
VUHDO_getHeaderTextId = _G["VUHDO_getHeaderTextId"];
VUHDO_getHeaderWidth = _G["VUHDO_getHeaderWidth"];
VUHDO_getHeaderHeight = _G["VUHDO_getHeaderHeight"];
VUHDO_getHeaderPos = _G["VUHDO_getHeaderPos"];
VUHDO_customizeHeader = _G["VUHDO_customizeHeader"];
end
--
local tModel;
local tWidth;
local tHeight;
local tAnzCols;
local tStatusFile;
local tFont;
local tTextSize;
local tBarWidth;
local tHeaderWidth;
local tHasHeaders;
local tHeaderColSetup;
local tHeader;
local tX, tY
local tHealthBar;
local tHeaderText;
local tEmpty = { };
function VUHDO_positionTableHeaders(aPanel, aPanelNum)
tModel = VUHDO_PANEL_DYN_MODELS[aPanelNum];
tWidth = VUHDO_getHeaderWidth(aPanelNum);
tHeight = VUHDO_getHeaderHeight(aPanelNum);
tHasHeaders = VUHDO_isTableHeaderOrFooter(aPanelNum);
tBarWidth = VUHDO_PANEL_SETUP[aPanelNum]["SCALING"]["headerWidth"] * 0.01;
if tHasHeaders then
tAnzCols = #(tModel or tEmpty);
tHeaderColSetup = VUHDO_PANEL_SETUP[aPanelNum]["PANEL_COLOR"]["HEADER"];
tStatusFile = VUHDO_LibSharedMedia:Fetch('statusbar', tHeaderColSetup["barTexture"]);
tFont = VUHDO_getFont(tHeaderColSetup["font"]);
tTextSize = tonumber(tHeaderColSetup["textSize"]);
tHeaderWidth = tWidth * tBarWidth + 0.01;
else
tAnzCols = 0;
end
for tCnt = 1, tAnzCols do
tHeader = VUHDO_getOrCreateHeader(tCnt, aPanelNum);
tHeader:SetWidth(tHeaderWidth);
tHeader:SetHeight(tHeight);
tHealthBar = VUHDO_getHeaderBar(tHeader);
tHealthBar:SetValue(1);
tHealthBar:SetHeight(tHeight);
if tStatusFile then tHealthBar:SetStatusBarTexture(tStatusFile); end
tHeaderText = VUHDO_getHeaderTextId(tHeader);
tHeaderText:SetFont(tFont, tTextSize, "OUTLINE");
tX, tY = VUHDO_getHeaderPos(tCnt, aPanelNum);
tHeader:SetPoint("TOPLEFT", aPanel:GetName(), "TOPLEFT", tX + tWidth * 0.5 * (1 - tBarWidth), -tY);
VUHDO_customizeHeader(tHeader, aPanelNum, tModel[tCnt]);
tHeader:Show();
end
for tCnt = tAnzCols + 1, huge do
tHeader = VUHDO_getHeader(tCnt, aPanelNum);
if tHeader then tHeader:Hide();
else break; end
tCnt = tCnt + 1;
end
end