self:ClearFocus() |
end) |
editbox:SetScript("OnEscapePressed", function(self) |
editbox:SetText(oldtext) |
self:ClearFocus() |
end) |
editbox:SetScript("OnEditFocusGained", function(self) |
if InCombatLockdown() then |
self:ClearFocus() |
Print(AddOn.."Sorry, you can't change the target in combat.") |
return |
end |
VoodooDB[GetActiveTalentGroup()]["target"] = self:GetText() ~= "" and self:GetText() or nil |
ChangeButtonAttributes(VoodooDB[GetActiveTalentGroup()]["texture"],VoodooDB[GetActiveTalentGroup()]["actiontype"],VoodooDB[GetActiveTalentGroup()]["spell"],VoodooDB[GetActiveTalentGroup()]["target"]) |
self:ClearFocus() |
end) |
editbox:SetScript("OnEditFocusGained", function(self) |
if InCombatLockdown() then return end |
if IsShiftKeyDown() and UnitExists("target") then |
VoodooDB[GetActiveTalentGroup()]["target"] = UnitName("target") |
ChangeButtonAttributes(VoodooDB[GetActiveTalentGroup()]["texture"],VoodooDB[GetActiveTalentGroup()]["actiontype"],VoodooDB[GetActiveTalentGroup()]["spell"],VoodooDB[GetActiveTalentGroup()]["target"]) |
self:SetText(VoodooDB[GetActiveTalentGroup()]["target"]) |
self:ClearFocus() |
else |
oldtext = self:GetText() |
self:HighlightText() |
end |
end) |
|
local function GetTipAnchor(frame) |
local x,y = frame:GetCenter() |
if not x or not y then return "TOPLEFT", frame, "BOTTOMLEFT" end |
local hhalf = (x > UIParent:GetWidth()*2/3) and "RIGHT" or (x < UIParent:GetWidth()/3) and "LEFT" or "" |
local vhalf = (y > UIParent:GetHeight()/2) and "TOP" or "BOTTOM" |
return vhalf..hhalf, frame, (vhalf == "TOP" and "BOTTOM" or "TOP")..hhalf |
end |
|
local function MyTooltip(frame) |
GameTooltip:SetOwner(frame, "ANCHOR_NONE") |
GameTooltip:SetPoint(GetTipAnchor(frame)) |
GameTooltip:ClearLines() |
GameTooltip:AddLine("Voodoo Help:",1,0.47,0.2) |
GameTooltip:AddLine("Frame Unlocked (Red background):",1,1,1) |
GameTooltip:AddDoubleLine("Shift+Doubleclick:","Lock on") |
GameTooltip:AddDoubleLine("Mousewheel:","Change scale (0.1)") |
GameTooltip:AddDoubleLine("Shift+Mousewheel:","Change scale (0.01)") |
GameTooltip:AddLine("Frame Locked (Black background):",1,1,1) |
GameTooltip:AddDoubleLine("Shift+Doubleclick:","Lock off") |
GameTooltip:AddLine("Editbox:",1,1,1) |
GameTooltip:AddDoubleLine("Shift+click:","Use target name") |
GameTooltip:AddDoubleLine("Click","Edit the target name") |
GameTooltip:AddDoubleLine("Enter (edit active)","Accept the name") |
GameTooltip:AddDoubleLine("Esc (edit active)","Cancel the change") |
GameTooltip:Show() |
end |
|
local text = frame:CreateFontString(nil, "OVERLAY", "GameFontNormalSmall") |
text:SetWidth(100) |
text:SetHeight(30) |
text:SetPoint("BOTTOM",frame,"TOP",0,-5) |
anchor:SetWidth(1) |
anchor:SetHeight(1) |
anchor:SetMovable(true) |
anchor:SetUserPlaced(true) |
frame:SetBackdrop(GameTooltip:GetBackdrop()) |
frame:SetBackdropColor(1,0,0,0.5) |
frame:SetBackdropBorderColor(1,1,1,1) |
frame:RegisterForDrag("LeftButton") |
frame:SetMovable(true) |
frame:EnableMouse(true) |
frame:SetUserPlaced(true) |
frame:EnableMouseWheel(true) |
frame:SetClampedToScreen(true) |
frame:SetParent(UIParent) |
frame:SetScript("OnDragStart", function(self) |
if not VoodooDB.lock then |
self:StartMoving() |
anchor:StartMoving() |
end |
end) |
frame:SetScript("OnDragStop", function(self) |
self:StopMovingOrSizing() |
VoodooDB.point, VoodooDB.x, VoodooDB.y = "BOTTOMLEFT", self:GetLeft(), self:GetBottom() |
anchor:StopMovingOrSizing() |
VoodooDB.point, VoodooDB.x, VoodooDB.y = "BOTTOMLEFT", anchor:GetLeft(), anchor:GetBottom() |
end) |
frame:SetScript("OnDoubleClick", function(self) |
if IsShiftKeyDown() then |
VoodooDB.lock = not VoodooDB.lock |
if VoodooDB.lock then |
frame:SetBackdropColor(0,0,0,0.5) |
text:Hide() |
GameTooltip:Hide() |
else |
frame:SetBackdropColor(1,0,0,0.5) |
text:Show() |
MyTooltip(self) |
end |
end |
end) |
frame:SetScript("OnMouseWheel", function(self,value) |
if not VoodooDB.lock then |
if IsShiftKeyDown() then scalevalue = 0.01 else scalevalue = 0.1 end |
if value > 0 and VoodooDB.scale <= 2 then |
VoodooDB.scale = VoodooDB.scale + scalevalue |
elseif value < 0 and VoodooDB.scale >= 0.6 then |
VoodooDB.scale = VoodooDB.scale - scalevalue |
end |
self:SetScale(VoodooDB.scale) |
text:SetText("Scale: "..VoodooDB.scale) |
else |
return |
end |
end) |
|
frame:SetScript("OnEnter", function(self) |
if not VoodooDB.lock then |
MyTooltip(self) |
-- GameTooltip:SetOwner(self, "ANCHOR_NONE") |
-- GameTooltip:SetPoint(GetTipAnchor(self)) |
-- GameTooltip:ClearLines() |
-- GameTooltip:AddLine("Voodoo Help:",1,0.47,0.2) |
-- GameTooltip:AddLine("Frame Unlocked (Red background):",1,1,1) |
-- GameTooltip:AddDoubleLine("Shift+Doubleclick:","Lock on") |
-- GameTooltip:AddDoubleLine("Mousewheel:","Change scale (0.1)") |
-- GameTooltip:AddDoubleLine("Shift+Mousewheel:","Change scale (0.01)") |
-- GameTooltip:AddLine("Frame Locked (Black background):",1,1,1) |
-- GameTooltip:AddDoubleLine("Shift+Doubleclick:","Lock off") |
-- GameTooltip:AddLine("Editbox:",1,1,1) |
-- GameTooltip:AddDoubleLine("Shift+click:","Use target name") |
-- GameTooltip:AddDoubleLine("Click","Edit the target name") |
-- GameTooltip:AddDoubleLine("Enter (edit active)","Accept the name") |
-- GameTooltip:AddDoubleLine("Esc (edit active)","Cancel the change") |
-- GameTooltip:Show() |
end |
end) |
frame:SetScript("OnLeave", function() |
if not VoodooDB.lock then |
GameTooltip:Hide() |
end |
end) |
|
local function onUpdate(self,elapsed) |
timer = timer + elapsed |
if timer >= wait then |