From 0b3fc84ebaa1f8859734d4d7694eaf80514d4d17 Mon Sep 17 00:00:00 2001 From: Bunny67 Date: Mon, 18 Dec 2017 19:47:51 +0300 Subject: [PATCH] infopanel --- .../Modules/UnitFrames/Elements/InfoPanel.lua | 43 ++++++++++--------- .../ElvUI/Modules/UnitFrames/Units/Player.lua | 6 ++- .../ElvUI/Modules/UnitFrames/Units/Target.lua | 6 ++- .../Modules/UnitFrames/Units/TargetTarget.lua | 7 ++- 4 files changed, 39 insertions(+), 23 deletions(-) diff --git a/2/3/4/5/6/7/ElvUI/Modules/UnitFrames/Elements/InfoPanel.lua b/2/3/4/5/6/7/ElvUI/Modules/UnitFrames/Elements/InfoPanel.lua index 40d34b8..fe2a8da 100644 --- a/2/3/4/5/6/7/ElvUI/Modules/UnitFrames/Elements/InfoPanel.lua +++ b/2/3/4/5/6/7/ElvUI/Modules/UnitFrames/Elements/InfoPanel.lua @@ -1,44 +1,47 @@ -local E, L, V, P, G = unpack(ElvUI) -local UF = E:GetModule("UnitFrames") +local E, L, V, P, G = unpack(ElvUI); --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB +local UF = E:GetModule("UnitFrames"); function UF:Construct_InfoPanel(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 - infoPanel:CreateBackdrop("Default", true, nil, thinBorders, true) + E:CreateBackdrop(infoPanel, "Default", true, nil, thinBorders, true) return infoPanel end -function UF:Configure_InfoPanel(frame) - if(not frame.VARIABLES_SET) then return end +function UF:Configure_InfoPanel(frame, noTemplateChange) + if not frame.VARIABLES_SET then return end local db = frame.db - if(frame.USE_INFO_PANEL) then + if frame.USE_INFO_PANEL then frame.InfoPanel:Show() frame.InfoPanel:ClearAllPoints() - if(frame.ORIENTATION == "RIGHT" and not (frame.unitframeType == "arena")) then - frame.InfoPanel:Point("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 - frame.InfoPanel:Point("TOPLEFT", frame.Power.backdrop, "BOTTOMLEFT", frame.BORDER - frame.HAPPINESS_WIDTH, -(frame.SPACING*3)) + if frame.ORIENTATION == "RIGHT" then + 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 + frame.InfoPanel:SetPoint("TOPLEFT", frame.Power.backdrop, "BOTTOMLEFT", frame.BORDER, -(frame.SPACING*3)) 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 else 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 - frame.InfoPanel:Point("TOPRIGHT", frame.Power.backdrop, "BOTTOMRIGHT", -frame.BORDER + frame.HAPPINESS_WIDTH, -(frame.SPACING*3)) + if frame.USE_POWERBAR and not frame.USE_INSET_POWERBAR and not frame.POWERBAR_DETACHED then + frame.InfoPanel:SetPoint("TOPRIGHT", frame.Power.backdrop, "BOTTOMRIGHT", -frame.BORDER, -(frame.SPACING*3)) 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 - local thinBorders = self.thinBorders - if(db.infoPanel.transparent) then - frame.InfoPanel.backdrop:SetTemplate("Transparent", nil, nil, thinBorders, true) - else - frame.InfoPanel.backdrop:SetTemplate("Default", true, nil, thinBorders, true) + if not noTemplateChange then + local thinBorders = self.thinBorders + if db.infoPanel.transparent then + E:SetTemplate(frame.InfoPanel.backdrop, "Transparent", nil, nil, thinBorders, true) + else + E:SetTemplate(frame.InfoPanel.backdrop, "Default", true, nil, thinBorders, true) + end end else frame.InfoPanel:Hide() diff --git a/2/3/4/5/6/7/ElvUI/Modules/UnitFrames/Units/Player.lua b/2/3/4/5/6/7/ElvUI/Modules/UnitFrames/Units/Player.lua index 5245870..f982793 100644 --- a/2/3/4/5/6/7/ElvUI/Modules/UnitFrames/Units/Player.lua +++ b/2/3/4/5/6/7/ElvUI/Modules/UnitFrames/Units/Player.lua @@ -23,6 +23,8 @@ function UF:Construct_PlayerFrame(frame) frame.Portrait3D = self:Construct_Portrait(frame, "model") frame.Portrait2D = self:Construct_Portrait(frame, "texture") + frame.InfoPanel = self:Construct_InfoPanel(frame) + frame:SetPoint("BOTTOMLEFT", E.UIParent, "BOTTOM", -413, 68) E:CreateMover(frame, frame:GetName().."Mover", L["Player Frame"], nil, nil, nil, "ALL,SOLO") frame.unitframeType = "player" @@ -72,13 +74,15 @@ function UF:Update_PlayerFrame(frame, db) frame.colors = ElvUF.colors 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:SetHeight(frame.UNIT_HEIGHT) _G[frame:GetName().."Mover"]:SetWidth(frame:GetWidth()) _G[frame:GetName().."Mover"]:SetHeight(frame:GetHeight()) + UF:Configure_InfoPanel(frame) + UF:Configure_HealthBar(frame) UF:UpdateNameSettings(frame) diff --git a/2/3/4/5/6/7/ElvUI/Modules/UnitFrames/Units/Target.lua b/2/3/4/5/6/7/ElvUI/Modules/UnitFrames/Units/Target.lua index fe2daec..b45f4fa 100644 --- a/2/3/4/5/6/7/ElvUI/Modules/UnitFrames/Units/Target.lua +++ b/2/3/4/5/6/7/ElvUI/Modules/UnitFrames/Units/Target.lua @@ -21,6 +21,8 @@ function UF:Construct_TargetFrame(frame) frame.Portrait3D = self:Construct_Portrait(frame, "model") frame.Portrait2D = self:Construct_Portrait(frame, "texture") + frame.InfoPanel = self:Construct_InfoPanel(frame) + frame:SetPoint("BOTTOMRIGHT", E.UIParent, "BOTTOM", 413, 68) E:CreateMover(frame, frame:GetName().."Mover", L["Target Frame"], nil, nil, nil, "ALL,SOLO") frame.unitframeType = "target" @@ -68,13 +70,15 @@ function UF:Update_TargetFrame(frame, db) frame.colors = ElvUF.colors 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:SetHeight(frame.UNIT_HEIGHT) _G[frame:GetName().."Mover"]:SetWidth(frame:GetWidth()) _G[frame:GetName().."Mover"]:SetHeight(frame:GetHeight()) + UF:Configure_InfoPanel(frame) + UF:Configure_HealthBar(frame) UF:UpdateNameSettings(frame) diff --git a/2/3/4/5/6/7/ElvUI/Modules/UnitFrames/Units/TargetTarget.lua b/2/3/4/5/6/7/ElvUI/Modules/UnitFrames/Units/TargetTarget.lua index a830268..ddb0c20 100644 --- a/2/3/4/5/6/7/ElvUI/Modules/UnitFrames/Units/TargetTarget.lua +++ b/2/3/4/5/6/7/ElvUI/Modules/UnitFrames/Units/TargetTarget.lua @@ -16,6 +16,8 @@ function UF:Construct_TargetTargetFrame(frame) frame.Portrait3D = self:Construct_Portrait(frame, "model") frame.Portrait2D = self:Construct_Portrait(frame, "texture") + frame.InfoPanel = self:Construct_InfoPanel(frame) + frame:SetPoint("BOTTOM", E.UIParent, "BOTTOM", 0, 75) E:CreateMover(frame, frame:GetName().."Mover", L["TargetTarget Frame"], nil, nil, nil, "ALL,SOLO") frame.unitframeType = "targettarget"; @@ -53,12 +55,15 @@ function UF:Update_TargetTargetFrame(frame, db) frame.colors = ElvUF.colors 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:SetHeight(frame.UNIT_HEIGHT) _G[frame:GetName().."Mover"]:SetWidth(frame:GetWidth()) _G[frame:GetName().."Mover"]:SetHeight(frame:GetHeight()) + UF:Configure_InfoPanel(frame) + UF:Configure_HealthBar(frame) UF:UpdateNameSettings(frame)