local RegisterStateDriver = RegisterStateDriver;
local CooldownFrame_Set, CooldownFrame_Clear = CooldownFrame_Set, CooldownFrame_Clear;
local CTimerAfter = C_Timer.After;
-local GameTooltip = nil;
+local GameTooltip = GameTooltip;
+local GameTooltip_SetDefaultAnchor = GameTooltip_SetDefaultAnchor;
local COOLDOWN_TYPE_LOSS_OF_CONTROL = COOLDOWN_TYPE_LOSS_OF_CONTROL;
local COOLDOWN_TYPE_NORMAL = COOLDOWN_TYPE_NORMAL;
local CDTexture = "Interface\\Cooldown\\edge";
local inheritedFrames =
"SecureActionButtonTemplate,SecureHandlerDragTemplate,SecureHandlerStateTemplate";
+local function showTooltip(secure)
+ GameTooltip_SetDefaultAnchor(GameTooltip, secure);
+ GameTooltip:SetAction(secure:GetAttribute("action"));
+end
+
+local function hideTooltip()
+ GameTooltip:Hide();
+end
+
local numChargeCDs = 0;
local function createChargeCD(parent)
numChargeCDs = numChargeCDs + 1;
end
if config.nomouse then
secure:EnableMouse(false);
+ else
+ -- only show tooltips for bars with mouse interaction
+ secure:SetScript("OnEnter", showTooltip);
+ secure:SetScript("OnLeave", hideTooltip);
end
secure:SetWidth(config.size or 32);
secure:SetHeight(config.size or 32);
end
end,
["PLAYER_LOGIN"] = function()
- GameTooltip = _G["GameTooltip"]; -- TODO use PLAYER_ENTERING_WORLD with MoveAnything
+ GameTooltip = _G["GameTooltip"];
initialize();
end,
["ADDON_LOADED"] = function(addon)
if unit == "player" then events["ACTIONBAR_UPDATE_STATE"]() end
end
events["UNIT_EXITED_VEHICLE"] = events["UNIT_ENTERED_VEHICLE"];
--- tooltips
ActionBars:RegisterEvent("ADDON_LOADED");
ActionBars:RegisterEvent("PLAYER_LOGIN");