infopanel

This commit is contained in:
Bunny67
2017-12-18 19:47:51 +03:00
parent 947f771640
commit 0b3fc84eba
4 changed files with 39 additions and 23 deletions
@@ -1,44 +1,47 @@
local E, L, V, P, G = unpack(ElvUI) local E, L, V, P, G = unpack(ElvUI); --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
local UF = E:GetModule("UnitFrames") local UF = E:GetModule("UnitFrames");
function UF:Construct_InfoPanel(frame) function UF:Construct_InfoPanel(frame)
local infoPanel = CreateFrame("Frame", nil, frame) local infoPanel = CreateFrame("Frame", nil, frame)
infoPanel:SetFrameLevel(7)
infoPanel:SetFrameLevel(7) --Health is 10 and filled power is 5 by default
local thinBorders = self.thinBorders local thinBorders = self.thinBorders
infoPanel:CreateBackdrop("Default", true, nil, thinBorders, true) E:CreateBackdrop(infoPanel, "Default", true, nil, thinBorders, true)
return infoPanel return infoPanel
end end
function UF:Configure_InfoPanel(frame) function UF:Configure_InfoPanel(frame, noTemplateChange)
if(not frame.VARIABLES_SET) then return end if not frame.VARIABLES_SET then return end
local db = frame.db local db = frame.db
if(frame.USE_INFO_PANEL) then if frame.USE_INFO_PANEL then
frame.InfoPanel:Show() frame.InfoPanel:Show()
frame.InfoPanel:ClearAllPoints() frame.InfoPanel:ClearAllPoints()
if(frame.ORIENTATION == "RIGHT" and not (frame.unitframeType == "arena")) then if frame.ORIENTATION == "RIGHT" then
frame.InfoPanel:Point("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -frame.BORDER - frame.SPACING, frame.BORDER + frame.SPACING) frame.InfoPanel:SetPoint("BOTTOMRIGHT", frame, "BOTTOMRIGHT", -frame.BORDER - frame.SPACING, frame.BORDER + frame.SPACING)
if(frame.USE_POWERBAR and not frame.USE_INSET_POWERBAR and not frame.POWERBAR_DETACHED) then if frame.USE_POWERBAR and not frame.USE_INSET_POWERBAR and not frame.POWERBAR_DETACHED then
frame.InfoPanel:Point("TOPLEFT", frame.Power.backdrop, "BOTTOMLEFT", frame.BORDER - frame.HAPPINESS_WIDTH, -(frame.SPACING*3)) frame.InfoPanel:SetPoint("TOPLEFT", frame.Power.backdrop, "BOTTOMLEFT", frame.BORDER, -(frame.SPACING*3))
else else
frame.InfoPanel:Point("TOPLEFT", frame.Health.backdrop, "BOTTOMLEFT", frame.BORDER - frame.HAPPINESS_WIDTH, -(frame.SPACING*3)) frame.InfoPanel:SetPoint("TOPLEFT", frame.Health.backdrop, "BOTTOMLEFT", frame.BORDER, -(frame.SPACING*3))
end end
else else
frame.InfoPanel:SetPoint("BOTTOMLEFT", frame, "BOTTOMLEFT", frame.BORDER + frame.SPACING, frame.BORDER + frame.SPACING) frame.InfoPanel:SetPoint("BOTTOMLEFT", frame, "BOTTOMLEFT", frame.BORDER + frame.SPACING, frame.BORDER + frame.SPACING)
if(frame.USE_POWERBAR and not frame.USE_INSET_POWERBAR and not frame.POWERBAR_DETACHED) then if frame.USE_POWERBAR and not frame.USE_INSET_POWERBAR and not frame.POWERBAR_DETACHED then
frame.InfoPanel:Point("TOPRIGHT", frame.Power.backdrop, "BOTTOMRIGHT", -frame.BORDER + frame.HAPPINESS_WIDTH, -(frame.SPACING*3)) frame.InfoPanel:SetPoint("TOPRIGHT", frame.Power.backdrop, "BOTTOMRIGHT", -frame.BORDER, -(frame.SPACING*3))
else else
frame.InfoPanel:Point("TOPRIGHT", frame.Health.backdrop, "BOTTOMRIGHT", -frame.BORDER + frame.HAPPINESS_WIDTH, -(frame.SPACING*3)) frame.InfoPanel:SetPoint("TOPRIGHT", frame.Health.backdrop, "BOTTOMRIGHT", -frame.BORDER, -(frame.SPACING*3))
end end
end end
local thinBorders = self.thinBorders if not noTemplateChange then
if(db.infoPanel.transparent) then local thinBorders = self.thinBorders
frame.InfoPanel.backdrop:SetTemplate("Transparent", nil, nil, thinBorders, true) if db.infoPanel.transparent then
else E:SetTemplate(frame.InfoPanel.backdrop, "Transparent", nil, nil, thinBorders, true)
frame.InfoPanel.backdrop:SetTemplate("Default", true, nil, thinBorders, true) else
E:SetTemplate(frame.InfoPanel.backdrop, "Default", true, nil, thinBorders, true)
end
end end
else else
frame.InfoPanel:Hide() frame.InfoPanel:Hide()
@@ -23,6 +23,8 @@ function UF:Construct_PlayerFrame(frame)
frame.Portrait3D = self:Construct_Portrait(frame, "model") frame.Portrait3D = self:Construct_Portrait(frame, "model")
frame.Portrait2D = self:Construct_Portrait(frame, "texture") frame.Portrait2D = self:Construct_Portrait(frame, "texture")
frame.InfoPanel = self:Construct_InfoPanel(frame)
frame:SetPoint("BOTTOMLEFT", E.UIParent, "BOTTOM", -413, 68) frame:SetPoint("BOTTOMLEFT", E.UIParent, "BOTTOM", -413, 68)
E:CreateMover(frame, frame:GetName().."Mover", L["Player Frame"], nil, nil, nil, "ALL,SOLO") E:CreateMover(frame, frame:GetName().."Mover", L["Player Frame"], nil, nil, nil, "ALL,SOLO")
frame.unitframeType = "player" frame.unitframeType = "player"
@@ -72,13 +74,15 @@ function UF:Update_PlayerFrame(frame, db)
frame.colors = ElvUF.colors frame.colors = ElvUF.colors
frame.Portrait = frame.Portrait or (db.portrait.style == "2D" and frame.Portrait2D or frame.Portrait3D) frame.Portrait = frame.Portrait or (db.portrait.style == "2D" and frame.Portrait2D or frame.Portrait3D)
--frame:RegisterForClicks(self.db.targetOnMouseDown and "AnyDown" or "AnyUp") frame:RegisterForClicks(self.db.targetOnMouseDown and "LeftButtonDown" or "LeftButtonUp", self.db.targetOnMouseDown and "RightButtonDown" or "RightButtonUp")
frame:SetWidth(frame.UNIT_WIDTH) frame:SetWidth(frame.UNIT_WIDTH)
frame:SetHeight(frame.UNIT_HEIGHT) frame:SetHeight(frame.UNIT_HEIGHT)
_G[frame:GetName().."Mover"]:SetWidth(frame:GetWidth()) _G[frame:GetName().."Mover"]:SetWidth(frame:GetWidth())
_G[frame:GetName().."Mover"]:SetHeight(frame:GetHeight()) _G[frame:GetName().."Mover"]:SetHeight(frame:GetHeight())
UF:Configure_InfoPanel(frame)
UF:Configure_HealthBar(frame) UF:Configure_HealthBar(frame)
UF:UpdateNameSettings(frame) UF:UpdateNameSettings(frame)
@@ -21,6 +21,8 @@ function UF:Construct_TargetFrame(frame)
frame.Portrait3D = self:Construct_Portrait(frame, "model") frame.Portrait3D = self:Construct_Portrait(frame, "model")
frame.Portrait2D = self:Construct_Portrait(frame, "texture") frame.Portrait2D = self:Construct_Portrait(frame, "texture")
frame.InfoPanel = self:Construct_InfoPanel(frame)
frame:SetPoint("BOTTOMRIGHT", E.UIParent, "BOTTOM", 413, 68) frame:SetPoint("BOTTOMRIGHT", E.UIParent, "BOTTOM", 413, 68)
E:CreateMover(frame, frame:GetName().."Mover", L["Target Frame"], nil, nil, nil, "ALL,SOLO") E:CreateMover(frame, frame:GetName().."Mover", L["Target Frame"], nil, nil, nil, "ALL,SOLO")
frame.unitframeType = "target" frame.unitframeType = "target"
@@ -68,13 +70,15 @@ function UF:Update_TargetFrame(frame, db)
frame.colors = ElvUF.colors frame.colors = ElvUF.colors
frame.Portrait = frame.Portrait or (db.portrait.style == "2D" and frame.Portrait2D or frame.Portrait3D) frame.Portrait = frame.Portrait or (db.portrait.style == "2D" and frame.Portrait2D or frame.Portrait3D)
--frame:RegisterForClicks(self.db.targetOnMouseDown and "AnyDown" or "AnyUp") frame:RegisterForClicks(self.db.targetOnMouseDown and "LeftButtonDown" or "LeftButtonUp", self.db.targetOnMouseDown and "RightButtonDown" or "RightButtonUp")
frame:SetWidth(frame.UNIT_WIDTH) frame:SetWidth(frame.UNIT_WIDTH)
frame:SetHeight(frame.UNIT_HEIGHT) frame:SetHeight(frame.UNIT_HEIGHT)
_G[frame:GetName().."Mover"]:SetWidth(frame:GetWidth()) _G[frame:GetName().."Mover"]:SetWidth(frame:GetWidth())
_G[frame:GetName().."Mover"]:SetHeight(frame:GetHeight()) _G[frame:GetName().."Mover"]:SetHeight(frame:GetHeight())
UF:Configure_InfoPanel(frame)
UF:Configure_HealthBar(frame) UF:Configure_HealthBar(frame)
UF:UpdateNameSettings(frame) UF:UpdateNameSettings(frame)
@@ -16,6 +16,8 @@ function UF:Construct_TargetTargetFrame(frame)
frame.Portrait3D = self:Construct_Portrait(frame, "model") frame.Portrait3D = self:Construct_Portrait(frame, "model")
frame.Portrait2D = self:Construct_Portrait(frame, "texture") frame.Portrait2D = self:Construct_Portrait(frame, "texture")
frame.InfoPanel = self:Construct_InfoPanel(frame)
frame:SetPoint("BOTTOM", E.UIParent, "BOTTOM", 0, 75) frame:SetPoint("BOTTOM", E.UIParent, "BOTTOM", 0, 75)
E:CreateMover(frame, frame:GetName().."Mover", L["TargetTarget Frame"], nil, nil, nil, "ALL,SOLO") E:CreateMover(frame, frame:GetName().."Mover", L["TargetTarget Frame"], nil, nil, nil, "ALL,SOLO")
frame.unitframeType = "targettarget"; frame.unitframeType = "targettarget";
@@ -53,12 +55,15 @@ function UF:Update_TargetTargetFrame(frame, db)
frame.colors = ElvUF.colors frame.colors = ElvUF.colors
frame.Portrait = frame.Portrait or (db.portrait.style == "2D" and frame.Portrait2D or frame.Portrait3D) frame.Portrait = frame.Portrait or (db.portrait.style == "2D" and frame.Portrait2D or frame.Portrait3D)
--frame:RegisterForClicks(self.db.targetOnMouseDown and "AnyDown" or "AnyUp") frame:RegisterForClicks(self.db.targetOnMouseDown and "LeftButtonDown" or "LeftButtonUp", self.db.targetOnMouseDown and "RightButtonDown" or "RightButtonUp")
frame:RegisterForClicks("LeftButtonUp", "RightButtonUp")
frame:SetWidth(frame.UNIT_WIDTH) frame:SetWidth(frame.UNIT_WIDTH)
frame:SetHeight(frame.UNIT_HEIGHT) frame:SetHeight(frame.UNIT_HEIGHT)
_G[frame:GetName().."Mover"]:SetWidth(frame:GetWidth()) _G[frame:GetName().."Mover"]:SetWidth(frame:GetWidth())
_G[frame:GetName().."Mover"]:SetHeight(frame:GetHeight()) _G[frame:GetName().."Mover"]:SetHeight(frame:GetHeight())
UF:Configure_InfoPanel(frame)
UF:Configure_HealthBar(frame) UF:Configure_HealthBar(frame)
UF:UpdateNameSettings(frame) UF:UpdateNameSettings(frame)