From 2972cc8eab700ee50cb3c6746041f218aff5afec Mon Sep 17 00:00:00 2001 From: shagu Date: Sun, 18 Dec 2016 20:19:29 +0100 Subject: [PATCH] mouseover: introducing mouseover casts --- README.md | 3 +++ modules/mouseover.lua | 24 ++++++++++++++++++++++++ modules/pet.lua | 2 ++ modules/player.lua | 2 ++ modules/target.lua | 2 ++ modules/targettarget.lua | 2 ++ pfUI.toc | 1 + 7 files changed, 36 insertions(+) create mode 100644 modules/mouseover.lua diff --git a/README.md b/README.md index acca3951..c29907e0 100644 --- a/README.md +++ b/README.md @@ -56,6 +56,9 @@ The term "*pfui!*" is german and simply stands for "*pooh!*", because I'm not a big fan of creating configuration UI's especially not via the Wow-API (you might have noticed that in ShaguUI). +**How can I enable mouseover cast?** +Create a macro with "/pfcast SPELLNAME". + **How can I checkout the current state?** See Installation Section. But be aware that things might not work for you. diff --git a/modules/mouseover.lua b/modules/mouseover.lua new file mode 100644 index 00000000..6105aebb --- /dev/null +++ b/modules/mouseover.lua @@ -0,0 +1,24 @@ +pfUI:RegisterModule("mouseover", function () + pfUI.uf.mouseover = CreateFrame("Frame", "pfMouseOver", UIParent) + + SLASH_PFCAST1, SLASH_LPFCAST2 = "/pfcast", "/pfmouse" + function SlashCmdList.PFCAST(msg, editbox) + local oldt = true + local unit = "mouseover" + if not UnitExists(unit) then + local frame = GetMouseFocus() + if frame.label and frame.id then + unit = frame.label .. frame.id + else + return + end + end + + if UnitIsUnit("target", unit) then oldt = nil end + + TargetUnit(unit) + CastSpellByName(msg) + + if oldt then TargetLastTarget() end + end +end) diff --git a/modules/pet.lua b/modules/pet.lua index abeb6b07..d7346d8b 100644 --- a/modules/pet.lua +++ b/modules/pet.lua @@ -8,6 +8,8 @@ pfUI:RegisterModule("pet", function () end pfUI.uf.pet = CreateFrame("Button","pfPet",UIParent) + pfUI.uf.pet.label = "pet" + pfUI.uf.pet.id = "" pfUI.uf.pet:SetFrameStrata("LOW") pfUI.uf.pet:SetWidth(100) pfUI.uf.pet:SetHeight(20 + 2*default_border + pfUI_config.unitframes.pet.pspace) diff --git a/modules/player.lua b/modules/player.lua index 6b91ed43..0b9b561c 100644 --- a/modules/player.lua +++ b/modules/player.lua @@ -11,6 +11,8 @@ pfUI:RegisterModule("player", function () PlayerFrame:UnregisterAllEvents() pfUI.uf.player = CreateFrame("Button","pfPlayer",UIParent) + pfUI.uf.player.label = "player" + pfUI.uf.player.id = "" pfUI.uf.player:SetFrameStrata("LOW") pfUI.uf.player:SetWidth(pfUI_config.unitframes.player.width) pfUI.uf.player:SetHeight(pfUI_config.unitframes.player.height + pfUI_config.unitframes.player.pheight + 2*default_border + pfUI_config.unitframes.player.pspace) diff --git a/modules/target.lua b/modules/target.lua index 565a14ee..a45169b1 100644 --- a/modules/target.lua +++ b/modules/target.lua @@ -16,6 +16,8 @@ pfUI:RegisterModule("target", function () ComboFrame:UnregisterAllEvents() pfUI.uf.target = CreateFrame("Button","pfTarget",UIParent) + pfUI.uf.target.label = "target" + pfUI.uf.target.id = "" pfUI.uf.target:SetFrameStrata("LOW") pfUI.uf.target:Hide() pfUI.uf.target:SetWidth(pfUI_config.unitframes.target.width) diff --git a/modules/targettarget.lua b/modules/targettarget.lua index 3d518ffd..3f08b3e4 100644 --- a/modules/targettarget.lua +++ b/modules/targettarget.lua @@ -17,6 +17,8 @@ pfUI:RegisterModule("targettarget", function () end) pfUI.uf.targettarget = CreateFrame("Button","pfTargetTarget",UIParent) + pfUI.uf.targettarget.label = "targettarget" + pfUI.uf.targettarget.id = "" pfUI.uf.targettarget:SetFrameStrata("LOW") pfUI.uf.targettarget:SetWidth(100) pfUI.uf.targettarget:SetHeight(20 + 2*default_border + pfUI_config.unitframes.ttarget.pspace) diff --git a/pfUI.toc b/pfUI.toc index d8b0d54c..1329a5a7 100644 --- a/pfUI.toc +++ b/pfUI.toc @@ -39,6 +39,7 @@ modules\targettarget.lua modules\pet.lua modules\group.lua modules\raid.lua +modules\mouseover.lua modules\castbar.lua modules\skin.lua modules\xpbar.lua